activiti与spring结合时的 初始化过程

//  工作流引擎的配置
<  bean  id =  "processEngineConfiguration"  class =  "org.activiti.spring.SpringProcessEngineConfiguration"  >
            < property  name  = "dataSource"  ref = "dataSource"  />
            < property  name  = "transactionManager"  ref =  "transactionManager"  />
            < property  name  = "databaseSchemaUpdate"  value =  "true"  />
            < property  name  = "jobExecutorActivate"  value  = "true"  />
     < property  name  = "enableDatabaseEventLogging"  value =  "true"  />
     < property  name  = "customFormTypes" >
       < list  >
         < bean  class  = "org.activiti.explorer.form.UserFormType" />
         < bean  class  = "org.activiti.explorer.form.ProcessDefinitionFormType" />
         < bean  class  = "org.activiti.explorer.form.MonthFormType" />    
       </ list  >
     </ property  >
//生成工作流引擎
< bean  id =  "processEngine"  class =  "org.activiti.spring.ProcessEngineFactoryBean"  destroy-method =  "destroy" >
            < property  name  = "processEngineConfiguration"  ref =  "processEngineConfiguration"  />
   </  bean >
当前从工作流引擎实例的产生说起。也就是从 org.activiti.spring.ProcessEngineFactoryBean类的 getObject方法开始,工作流开始初始化各种设置。如下:
  this .  processEngine  =  processEngineConfiguration  .buildProcessEngine();--->> init()-->>........

以下是sessionFactory的初始化过程
************************************************************

   protected  void  initSessionFactories() {
     if  ( sessionFactories == null ) {
       sessionFactories  =  new  HashMap<Class<?>, SessionFactory>();

       dbSqlSessionFactory  =  new  DbSqlSessionFactory();
       dbSqlSessionFactory .setDatabaseType(  databaseType );
       dbSqlSessionFactory .setIdGenerator(  idGenerator );
       dbSqlSessionFactory .setSqlSessionFactory(  sqlSessionFactory );
       dbSqlSessionFactory .setDbIdentityUsed(  isDbIdentityUsed );
       dbSqlSessionFactory .setDbHistoryUsed(  isDbHistoryUsed );
       dbSqlSessionFactory .setDatabaseTablePrefix(  databaseTablePrefix );
       dbSqlSessionFactory .setTablePrefixIsSchema(  tablePrefixIsSchema );
       dbSqlSessionFactory .setDatabaseCatalog(  databaseCatalog );
       dbSqlSessionFactory .setDatabaseSchema(  databaseSchema );
       dbSqlSessionFactory .setOptimizeDeleteOperationsEnabled( isOptimizeDeleteOperationsEnabled  );
      addSessionFactory(  dbSqlSessionFactory );
     
      addSessionFactory(  new  GenericManagerFactory(AttachmentEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(CommentEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(DeploymentEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(ModelEntityManager.  class ));
      addSessionFactory(  new  GenericManagerFactory(ExecutionEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(HistoricActivityInstanceEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(HistoricDetailEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(HistoricProcessInstanceEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(HistoricVariableInstanceEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(HistoricTaskInstanceEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(HistoricIdentityLinkEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(IdentityInfoEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(IdentityLinkEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(JobEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(ProcessDefinitionEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(PropertyEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(ResourceEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(ByteArrayEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(TableDataManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(TaskEntityManager. class  ));
      addSessionFactory(  new  GenericManagerFactory(VariableInstanceEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(EventSubscriptionEntityManager. class ));
      addSessionFactory(  new  GenericManagerFactory(EventLogEntryEntityManager. class  ));
     
      addSessionFactory(  new  DefaultHistoryManagerSessionFactory());
     
      addSessionFactory(  new  UserEntityManagerFactory());
      addSessionFactory(  new  GroupEntityManagerFactory());
      addSessionFactory(  new  MembershipEntityManagerFactory());
    }
   
     if  ( customSessionFactories !=  null ) {
       for  (SessionFactory sessionFactory:  customSessionFactories ) {
        addSessionFactory(sessionFactory);
      }
    }
  }
 // sessionFactories是hashmap类型
   protected  void  addSessionFactory(SessionFactory sessionFactory) {
     sessionFactories .put(sessionFactory.getSessionType(), sessionFactory);
  }




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值