- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
王永红 :农产品质量安全追溯平台持久化设计与实现 一 3l1一
APQT平台采用省级数据中心和市级地域数据中心两级分片 照CheckhemDao.xml映射类和数据层实体模型,实现数据的
存储。地域数据中心关键数据每 日在规定的时间定时向省级 持久化。XML组件之间关系如图4。
数据中心聚合。在APQT平台定时触发持久化设计时,采用
Quartz定时器进行任务调度。
Quanz是一个良好的企业级任务调度框架 。如J。Quartz
对任务调度的领域问题进行了高度的抽象,核心是Scheduler
(调度器)、Job(任务)和Trigger(触发器)。Quartz提供了调
度运行环境的持久化机制,可以保存并恢复调度现场,即使系
统因故障关闭,任务调度现场数据并不会丢失。Quartz还提 图4 XML组件之间关系
供了组件式的侦听器、各种插件、线程池等功能。 集成配置实现XML组件之间关系时,通过Spring框架配
在设计中,Job是一个接口,方法 voidexecute(JobExecu— 置组件完成。连接数据库的数据源dataSource采用数据库连
tionContextcontext)实现该接 口定义运行任务。Trigger是一 接池方式 。Spring框架与数据层相关的配置伪代码如下:
个类,描述触发Job执行的时间触发规则,Scheduler代表一个 beanid= “dataSource”class= “org.springfmmework.jndi.
Quiz的独立运行容器。当Trigger触发时,对应的Job就被 JndiObjectFactoryBean”
执行 圳。 ‘propertyname=“jndiName’’
valuejava:comp/env/jdbc/apqt/value
3 APQT平台持久化实现
/property
3.1 平台数据部署 /bean
APQT平台采用省、市、县、乡(镇)、村5级追溯体系,实 此外,需要声 明iBatis作用的核心 sqlMapClient控制器 ,所有
现精确致导追溯。在平台数据的实现上,采用两级分片存储 操作通过 sqlMapClient实现完成。引入 iBatis配置组件 sql-
部署。数据层共实现近 100个表,包括基础类数据、业务类数 Map.xml时,注入 dataSourcebean。配置伪代码如下 :
据、管理类数据、执法类数据等。 bean id= “sqlMapClient”class: “org.springframework.
3.2 持久层实现 O1111.ibatis.SqlMapClientFactoryBean”
3.2.1 DAO的实现 iBatis位于Web业务逻辑层与数据层 propertyname= “configLocation”value= “classpath:sql-
之间。业务逻辑层存放的是相关业务,数据层是数据库表格 Map.xml’’/
实体 ,持久层包括实现业务的SQL语句。为了松散耦合,在 propertyname= “dataSource”ref= “dataSource”/
业务逻辑层和持久层中间加入了工厂 。持久层的iBatis框 /bean
架通过Spring框架的
文档评论(0)