cougaar学习笔记之---序列化Asset到MySQL中

   目标:将Task中的DirectObject指向的Asset序列化在MySQL中.
   基本步骤:
       1. 开发DatabaseService
       2. 开发LogicProvider(AssetPersistenceLogicProvider)--为什么要用LogicProvider, 实现数据转换的同步.
       3. 为每种特殊的Asset提供相应的AssetPersistence
   详细说明:
   1. 开发DatabaseService--参数bol2中的例子
   DatabaseService的功能:提供数据库服务, 包括:excuteQuery, excuteStmt. 即提供CRUD服务.
   实现方式:使用Cougaar中标准的Service的方式来实现。
   实现细节:
      * DataBaseService: 服务接口
      * DataBaseServiceImpl: 服务实现
      * DataBaseServiceProvider: 服务提供者(实现的ServiceBroker接口)
   服务注册:
      通过以上的方式, 已经实现的一个服务, 需要将这个服务注册到ServiceBroker上。可以在任何一个组件的Load方法中插入以下代码来注册:
DatabaseServiceProvider dbServiceProvider
    = new DatabaseServiceProvider(getServiceBroker());
getServiceBroker().addService(DatabaseService.class, dbServiceProvider);

   服务使用:
      这后, 可以通过上面这个SB来获取自定义的服务:
dbService = (DatabaseService) sb.getService(this,DatabaseService.class, null);
  

   2. 开发LogicProvider
   功能: 监听特殊的Asset, 并调用相应的AssetPersistence
   实现方式:使用Cougaar中标准的LogicProvider的方式来实现
   实现细节:
       * AssetPersistLogicProvider: 监听特殊的Asset, 并调用相应的AssetPersistence(实现EnvelopeLogicProvider, ABAChangeLogicProvider接口).
       * AssetPersistenceDomain: Load AssetPersistLogicProvider(实现DomainAdapter接口).
       * 需要在LDMDommains.ini中注册AssetPersistenceDomain:
AssetPersistDomain=com.justep.business.content.model.persistence.AssetPersistDomain


   3. 开发特殊的AssetPersistence
   功能:实现特殊的Asset的SQL语句, 之后调用DatabaseService,将数据存储到MySQL中,或查询出来.  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值