浏览 11289 次
锁定老帖子 主题:在Spring应用中引入Jbpm4开发应用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-21
最后修改:2009-09-22
1. 执行创建的脚本 create table JBPM4_DEPLOYMENT ( DBID_ bigint not null auto_increment, NAME_ longtext, TIMESTAMP_ bigint, STATE_ varchar(255), primary key (DBID_) ) type=InnoDB; create table JBPM4_DEPLOYPROP ( DBID_ bigint not null auto_increment, DEPLOYMENT_ bigint, OBJNAME_ varchar(255), KEY_ varchar(255), STRINGVAL_ varchar(255), LONGVAL_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_EXECUTION ( DBID_ bigint not null auto_increment, CLASS_ varchar(255) not null, DBVERSION_ integer not null, ACTIVITYNAME_ varchar(255), PROCDEFID_ varchar(255), HASVARS_ bit, NAME_ varchar(255), KEY_ varchar(255), ID_ varchar(255) unique, STATE_ varchar(255), SUSPHISTSTATE_ varchar(255), PRIORITY_ integer, HISACTINST_ bigint, PARENT_ bigint, INSTANCE_ bigint, SUPEREXEC_ bigint, SUBPROCINST_ bigint, PARENT_IDX_ integer, primary key (DBID_) ) type=InnoDB; create table JBPM4_HIST_ACTINST ( DBID_ bigint not null auto_increment, CLASS_ varchar(255) not null, DBVERSION_ integer not null, HPROCI_ bigint, TYPE_ varchar(255), EXECUTION_ varchar(255), ACTIVITY_NAME_ varchar(255), START_ datetime, END_ datetime, DURATION_ bigint, TRANSITION_ varchar(255), NEXTIDX_ integer, HTASK_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_HIST_DETAIL ( DBID_ bigint not null auto_increment, CLASS_ varchar(255) not null, DBVERSION_ integer not null, USERID_ varchar(255), TIME_ datetime, HPROCI_ bigint, HPROCIIDX_ integer, HACTI_ bigint, HACTIIDX_ integer, HTASK_ bigint, HTASKIDX_ integer, HVAR_ bigint, HVARIDX_ integer, MESSAGE_ longtext, OLD_INT_ integer, NEW_INT_ integer, OLD_STR_ varchar(255), NEW_STR_ varchar(255), OLD_TIME_ datetime, NEW_TIME_ datetime, PARENT_ bigint, PARENT_IDX_ integer, primary key (DBID_) ) type=InnoDB; create table JBPM4_HIST_PROCINST ( DBID_ bigint not null, DBVERSION_ integer not null, ID_ varchar(255), PROCDEFID_ varchar(255), KEY_ varchar(255), START_ datetime, END_ datetime, DURATION_ bigint, STATE_ varchar(255), ENDACTIVITY_ varchar(255), NEXTIDX_ integer, primary key (DBID_) ) type=InnoDB; create table JBPM4_HIST_TASK ( DBID_ bigint not null, DBVERSION_ integer not null, EXECUTION_ varchar(255), OUTCOME_ varchar(255), ASSIGNEE_ varchar(255), PRIORITY_ integer, STATE_ varchar(255), CREATE_ datetime, END_ datetime, DURATION_ bigint, NEXTIDX_ integer, SUPERTASK_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_HIST_VAR ( DBID_ bigint not null, DBVERSION_ integer not null, PROCINSTID_ varchar(255), EXECUTIONID_ varchar(255), VARNAME_ varchar(255), VALUE_ varchar(255), HPROCI_ bigint, HTASK_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_ID_GROUP ( DBID_ bigint not null auto_increment, DBVERSION_ integer not null, ID_ varchar(255), NAME_ varchar(255), TYPE_ varchar(255), PARENT_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_ID_MEMBERSHIP ( DBID_ bigint not null auto_increment, DBVERSION_ integer not null, USER_ bigint, GROUP_ bigint, NAME_ varchar(255), primary key (DBID_) ) type=InnoDB; create table JBPM4_ID_USER ( DBID_ bigint not null auto_increment, DBVERSION_ integer not null, ID_ varchar(255), PASSWORD_ varchar(255), GIVENNAME_ varchar(255), FAMILYNAME_ varchar(255), BUSINESSEMAIL_ varchar(255), primary key (DBID_) ) type=InnoDB; create table JBPM4_JOB ( DBID_ bigint not null auto_increment, CLASS_ varchar(255) not null, DBVERSION_ integer not null, DUEDATE_ datetime, STATE_ varchar(255), ISEXCLUSIVE_ bit, LOCKOWNER_ varchar(255), LOCKEXPTIME_ datetime, EXCEPTION_ longtext, RETRIES_ integer, PROCESSINSTANCE_ bigint, EXECUTION_ bigint, CFG_ bigint, SIGNAL_ varchar(255), EVENT_ varchar(255), REPEAT_ varchar(255), primary key (DBID_) ) type=InnoDB; create table JBPM4_LOB ( DBID_ bigint not null auto_increment, DBVERSION_ integer not null, BLOB_VALUE_ longblob, DEPLOYMENT_ bigint, NAME_ longtext, primary key (DBID_) ) type=InnoDB; create table JBPM4_PARTICIPATION ( DBID_ bigint not null auto_increment, DBVERSION_ integer not null, GROUPID_ varchar(255), USERID_ varchar(255), TYPE_ varchar(255), TASK_ bigint, SWIMLANE_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_SWIMLANE ( DBID_ bigint not null auto_increment, DBVERSION_ integer not null, NAME_ varchar(255), ASSIGNEE_ varchar(255), EXECUTION_ bigint, primary key (DBID_) ) type=InnoDB; create table JBPM4_TASK ( DBID_ bigint not null auto_increment, CLASS_ char(1) not null, DBVERSION_ integer not null, NAME_ varchar(255), DESCR_ longtext, STATE_ varchar(255), SUSPHISTSTATE_ varchar(255), ASSIGNEE_ varchar(255), FORM_ varchar(255), PRIORITY_ integer, CREATE_ datetime, DUEDATE_ datetime, PROGRESS_ integer, SIGNALLING_ bit, EXECUTION_ID_ varchar(255), ACTIVITY_NAME_ varchar(255), HASVARS_ bit, SUPERTASK_ bigint, EXECUTION_ bigint, PROCINST_ bigint, SWIMLANE_ bigint, TASKDEFNAME_ varchar(255), primary key (DBID_) ) type=InnoDB; create table JBPM4_VARIABLE ( DBID_ bigint not null auto_increment, CLASS_ varchar(255) not null, DBVERSION_ integer not null, KEY_ varchar(255), CONVERTER_ varchar(255), HIST_ bit, EXECUTION_ bigint, TASK_ bigint, DATE_VALUE_ datetime, DOUBLE_VALUE_ double precision, LONG_VALUE_ bigint, STRING_VALUE_ varchar(255), TEXT_VALUE_ longtext, LOB_ bigint, EXESYS_ bigint, primary key (DBID_) ) type=InnoDB; create index IDX_DEPLPROP_DEPL on JBPM4_DEPLOYPROP (DEPLOYMENT_); alter table JBPM4_DEPLOYPROP add index FK_DEPLPROP_DEPL (DEPLOYMENT_), add constraint FK_DEPLPROP_DEPL foreign key (DEPLOYMENT_) references JBPM4_DEPLOYMENT (DBID_); create index IDX_EXEC_SUPEREXEC on JBPM4_EXECUTION (SUPEREXEC_); create index IDX_EXEC_INSTANCE on JBPM4_EXECUTION (INSTANCE_); create index IDX_EXEC_SUBPI on JBPM4_EXECUTION (SUBPROCINST_); create index IDX_EXEC_PARENT on JBPM4_EXECUTION (PARENT_); alter table JBPM4_EXECUTION add index FK_EXEC_PARENT (PARENT_), add constraint FK_EXEC_PARENT foreign key (PARENT_) references JBPM4_EXECUTION (DBID_); alter table JBPM4_EXECUTION add index FK_EXEC_SUBPI (SUBPROCINST_), add constraint FK_EXEC_SUBPI foreign key (SUBPROCINST_) references JBPM4_EXECUTION (DBID_); alter table JBPM4_EXECUTION add index FK_EXEC_INSTANCE (INSTANCE_), add constraint FK_EXEC_INSTANCE foreign key (INSTANCE_) references JBPM4_EXECUTION (DBID_); alter table JBPM4_EXECUTION add index FK_EXEC_SUPEREXEC (SUPEREXEC_), add constraint FK_EXEC_SUPEREXEC foreign key (SUPEREXEC_) references JBPM4_EXECUTION (DBID_); create index IDX_HACTI_HPROCI on JBPM4_HIST_ACTINST (HPROCI_); create index IDX_HTI_HTASK on JBPM4_HIST_ACTINST (HTASK_); alter table JBPM4_HIST_ACTINST add index FK_HACTI_HPROCI (HPROCI_), add constraint FK_HACTI_HPROCI foreign key (HPROCI_) references JBPM4_HIST_PROCINST (DBID_); alter table JBPM4_HIST_ACTINST add index FK_HTI_HTASK (HTASK_), add constraint FK_HTI_HTASK foreign key (HTASK_) references JBPM4_HIST_TASK (DBID_); create index IDX_HDET_HACTI on JBPM4_HIST_DETAIL (HACTI_); create index IDX_HDET_HPROCI on JBPM4_HIST_DETAIL (HPROCI_); create index IDX_HDETAIL_HACTI on JBPM4_HIST_DETAIL (HACTI_); create index IDX_HDETAIL_HVAR on JBPM4_HIST_DETAIL (HVAR_); create index IDX_HDETAIL_HTASK on JBPM4_HIST_DETAIL (HTASK_); create index IDX_HDETAIL_HPROCI on JBPM4_HIST_DETAIL (HPROCI_); create index IDX_HDET_HVAR on JBPM4_HIST_DETAIL (HVAR_); create index IDX_HDET_HTASK on JBPM4_HIST_DETAIL (HTASK_); alter table JBPM4_HIST_DETAIL add index FK_HDETAIL_HPROCI (HPROCI_), add constraint FK_HDETAIL_HPROCI foreign key (HPROCI_) references JBPM4_HIST_PROCINST (DBID_); alter table JBPM4_HIST_DETAIL add index FK_HDETAIL_HACTI (HACTI_), add constraint FK_HDETAIL_HACTI foreign key (HACTI_) references JBPM4_HIST_ACTINST (DBID_); alter table JBPM4_HIST_DETAIL add index FK_HDETAIL_HTASK (HTASK_), add constraint FK_HDETAIL_HTASK foreign key (HTASK_) references JBPM4_HIST_TASK (DBID_); alter table JBPM4_HIST_DETAIL add index FK_HDETAIL_HVAR (HVAR_), add constraint FK_HDETAIL_HVAR foreign key (HVAR_) references JBPM4_HIST_VAR (DBID_); alter table JBPM4_HIST_TASK add index FK_HSUPERT_SUB (SUPERTASK_), add constraint FK_HSUPERT_SUB foreign key (SUPERTASK_) references JBPM4_HIST_TASK (DBID_); create index IDX_HVAR_HPROCI on JBPM4_HIST_VAR (HPROCI_); create index IDX_HVAR_HTASK on JBPM4_HIST_VAR (HTASK_); alter table JBPM4_HIST_VAR add index FK_HVAR_HPROCI (HPROCI_), add constraint FK_HVAR_HPROCI foreign key (HPROCI_) references JBPM4_HIST_PROCINST (DBID_); alter table JBPM4_HIST_VAR add index FK_HVAR_HTASK (HTASK_), add constraint FK_HVAR_HTASK foreign key (HTASK_) references JBPM4_HIST_TASK (DBID_); create index IDX_GROUP_PARENT on JBPM4_ID_GROUP (PARENT_); alter table JBPM4_ID_GROUP add index FK_GROUP_PARENT (PARENT_), add constraint FK_GROUP_PARENT foreign key (PARENT_) references JBPM4_ID_GROUP (DBID_); create index IDX_MEM_USER on JBPM4_ID_MEMBERSHIP (USER_); create index IDX_MEM_GROUP on JBPM4_ID_MEMBERSHIP (GROUP_); alter table JBPM4_ID_MEMBERSHIP add index FK_MEM_GROUP (GROUP_), add constraint FK_MEM_GROUP foreign key (GROUP_) references JBPM4_ID_GROUP (DBID_); alter table JBPM4_ID_MEMBERSHIP add index FK_MEM_USER (USER_), add constraint FK_MEM_USER foreign key (USER_) references JBPM4_ID_USER (DBID_); create index IDX_JOBRETRIES on JBPM4_JOB (RETRIES_); create index IDX_JOB_CFG on JBPM4_JOB (CFG_); create index IDX_JOB_PRINST on JBPM4_JOB (PROCESSINSTANCE_); create index IDX_JOB_EXE on JBPM4_JOB (EXECUTION_); create index IDX_JOBLOCKEXP on JBPM4_JOB (LOCKEXPTIME_); create index IDX_JOBDUEDATE on JBPM4_JOB (DUEDATE_); alter table JBPM4_JOB add index FK_JOB_CFG (CFG_), add constraint FK_JOB_CFG foreign key (CFG_) references JBPM4_LOB (DBID_); create index IDX_LOB_DEPLOYMENT on JBPM4_LOB (DEPLOYMENT_); alter table JBPM4_LOB add index FK_LOB_DEPLOYMENT (DEPLOYMENT_), add constraint FK_LOB_DEPLOYMENT foreign key (DEPLOYMENT_) references JBPM4_DEPLOYMENT (DBID_); create index IDX_PART_TASK on JBPM4_PARTICIPATION (TASK_); alter table JBPM4_PARTICIPATION add index FK_PART_SWIMLANE (SWIMLANE_), add constraint FK_PART_SWIMLANE foreign key (SWIMLANE_) references JBPM4_SWIMLANE (DBID_); alter table JBPM4_PARTICIPATION add index FK_PART_TASK (TASK_), add constraint FK_PART_TASK foreign key (TASK_) references JBPM4_TASK (DBID_); create index IDX_SWIMLANE_EXEC on JBPM4_SWIMLANE (EXECUTION_); alter table JBPM4_SWIMLANE add index FK_SWIMLANE_EXEC (EXECUTION_), add constraint FK_SWIMLANE_EXEC foreign key (EXECUTION_) references JBPM4_EXECUTION (DBID_); create index IDX_TASK_SUPERTASK on JBPM4_TASK (SUPERTASK_); alter table JBPM4_TASK add index FK_TASK_SWIML (SWIMLANE_), add constraint FK_TASK_SWIML foreign key (SWIMLANE_) references JBPM4_SWIMLANE (DBID_); alter table JBPM4_TASK add index FK_TASK_SUPERTASK (SUPERTASK_), add constraint FK_TASK_SUPERTASK foreign key (SUPERTASK_) references JBPM4_TASK (DBID_); create index IDX_VAR_EXESYS on JBPM4_VARIABLE (EXESYS_); create index IDX_VAR_TASK on JBPM4_VARIABLE (TASK_); create index IDX_VAR_EXECUTION on JBPM4_VARIABLE (EXECUTION_); create index IDX_VAR_LOB on JBPM4_VARIABLE (LOB_); alter table JBPM4_VARIABLE add index FK_VAR_LOB (LOB_), add constraint FK_VAR_LOB foreign key (LOB_) references JBPM4_LOB (DBID_); alter table JBPM4_VARIABLE add index FK_VAR_EXECUTION (EXECUTION_), add constraint FK_VAR_EXECUTION foreign key (EXECUTION_) references JBPM4_EXECUTION (DBID_); alter table JBPM4_VARIABLE add index FK_VAR_EXESYS (EXESYS_), add constraint FK_VAR_EXESYS foreign key (EXESYS_) references JBPM4_EXECUTION (DBID_); alter table JBPM4_VARIABLE add index FK_VAR_TASK (TASK_), add constraint FK_VAR_TASK foreign key (TASK_) references JBPM4_TASK (DBID_);
<?xml version="1.0" encoding="UTF-8"?> <jbpm-configuration> <import resource="jbpm.default.cfg.xml" /> <import resource="jbpm.tx.hibernate.cfg.xml" /> <import resource="jbpm.jpdl.cfg.xml" /> <import resource="jbpm.identity.cfg.xml" /> </jbpm-configuration>
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/eoffice?useUnicode=true&characterEncoding=utf-8</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">000</property> <property name="hibernate.format_sql">true</property> <mapping resource="jbpm.repository.hbm.xml" /> <mapping resource="jbpm.execution.hbm.xml" /> <mapping resource="jbpm.history.hbm.xml" /> <mapping resource="jbpm.task.hbm.xml" /> <mapping resource="jbpm.identity.hbm.xml" /> </session-factory> </hibernate-configuration>
public class UserSession implements IdentitySession{ //仅需要扩展以下方法即可 //---------------------------------methods above are not need overwrite-------------------------------------------- @Override public Group findGroupById(String groupId) { // TODO Auto-generated method stub return null; } @Override public List<Group> findGroupsByUser(String arg0) { // TODO Auto-generated method stub return null; } @Override public List<Group> findGroupsByUserAndGroupType(String arg0, String arg1) { // TODO Auto-generated method stub return null; } @Override public User findUserById(String arg0) { // TODO Auto-generated method stub return null; } @Override public List<User> findUsers() { // TODO Auto-generated method stub return null; } @Override public List<User> findUsersByGroup(String arg0) { // TODO Auto-generated method stub return null; } @Override public List<User> findUsersById(String... arg0) { // TODO Auto-generated method stub return null; } }
<?xml version="1.0" encoding="UTF-8"?> <jbpm-configuration> <transaction-context> <object class="com.htsoft.core.jbpm.UserSession"/> </transaction-context> </jbpm-configuration>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-lazy-init="true"> <bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration"> <constructor-arg value="jbpm.cfg.xml" /> </bean> <bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" /> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /> <bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" /> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"/> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/> <!-- <bean id="jbpmTemplate" class="com.bmsoft.jbpm.spring.JbpmTemplate"> <property name="processEngine" ref="processEngine"/> <property name="proDefinitionService" ref="proDefinitionService"/> <property name="dataSource" ref="dataSource"/> </bean> --> </beans>
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-09-22
你的事务如何处理 这是个大问题
|
|
返回顶楼 | |
发表时间:2009-09-22
最后修改:2009-09-22
问题提得很好,关于Jbpm4的事务管理问题,可以把所有的操作均封装在JbpmTemplate的Bean里,则它来完成,它则由Spring的事务拦截器进行了拦截管理,因而可以保证事务。
如: <tx:annotation-driven transaction-manager="txManager"/> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <aop:config> <aop:pointcut id="servicePointCut" expression="execution(* com.htsoft.oa.service..*(..))"/> <aop:pointcut id="servicePointCut2" expression="execution(* com.htsoft.core.service..*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="servicePointCut"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="servicePointCut2"/> </aop:config> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="get*" read-only="true"/> <tx:method name="is*" read-only="true"/> <tx:method name="find*" read-only="true"/> <tx:method name="*"/> </tx:attributes> </tx:advice> 而另一种方式可以使用通过改写Jbpm4中的jbpm.tx.hibernate.cfg.xml的配置,主要是修改processEngine 这个bean里的sessionFactory.从而再加上上面这种方式来进行事务的管理。 如:原配置为: <?xml version="1.0" encoding="UTF-8"?> <jbpm-configuration> <process-engine-context> <command-service> <retry-interceptor /> <environment-interceptor /> <standard-transaction-interceptor /> </command-service> </process-engine-context> <transaction-context> <transaction /> <hibernate-session /> </transaction-context> </jbpm-configuration> 修改以上 <standard-transaction-interceptor />为<spring-transaction-interceptor /> <hibernate-session /><transaction />为<hibernate-session current="true"/> current="true"这个属性将强使jbpm搜索当前的spring提供的session。 另外,你需要在你的hibernateSessionFactory上配置上Jpbm的hbm.xml文件。如: <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mappingLocations"> <list> <value>classpath*:com/htsoft/oa/model/**/*.hbm.xml</value> <value>classpath:jbpm.repository.hbm.xml</value> <value>classpath:jbpm.execution.hbm.xml</value> <value>classpath:jbpm.history.hbm.xml</value> <value>classpath:jbpm.task.hbm.xml</value> <value>classpath:jbpm.identity.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="connection.useUnicode">true</prop> <prop key="connection.characterEncoding">utf-8</prop> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">false</prop> <prop key="hibernate.jdbc.batch_size">20</prop> <prop key="hibernate.jdbc.fetch_size">20</prop> <prop key="show_sql">true</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="net.sf.ehcache.configurationResourceName">conf/ehcache.xml</prop> <prop key="hibernate.cache.use_second_level_cache">true</prop> </props> </property> </bean> 最后还需要在jbpm.default.cfg.xml中注释以下代码: <!-- <hibernate-configuration> <cfg resource="jbpm.hibernate.cfg.xml" /> </hibernate-configuration> <hibernate-session-factory /> --> 这样测试马上可以通过 |
|
返回顶楼 | |
发表时间:2009-09-22
回答的好
引用 修改以上 <standard-transaction-interceptor />为<spring-transaction-interceptor />
<hibernate-session /><transaction />为<hibernate-session current="true"/> current="true"这个属性将强使jbpm搜索当前的spring提供的session。 不怎么清楚 差点没有把<transaction />给去掉 就没有成功 帮你格式化一下 <?xml version="1.0" encoding="UTF-8"?> <jbpm-configuration> <process-engine-context> <command-service> <retry-interceptor /> <environment-interceptor /> <spring-transaction-interceptor /> </command-service> </process-engine-context> <transaction-context> <hibernate-session current="true" /> </transaction-context> </jbpm-configuration> 另外 把你的文章和 http://yale.iteye.com/blog/462792 就完美了 其中你帮我解决了事务问题 而引用的文章帮我找到了 ProcessEngineFactoryBean 这个类 事务问题 已经拖了我2个月了 今天解决了 酣畅淋漓 谢谢 |
|
返回顶楼 | |
发表时间:2009-09-22
呵,没有格式化代码。
ProcessEngineFactoryBean这个东西也可以不用,直接用回Jbpm提供的实现, 如我在 <bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration"> <constructor-arg value="jbpm.cfg.xml" /> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" /> |
|
返回顶楼 | |
发表时间:2009-10-26
扩展流程中的角色与用户为自己系统中的用户及角色。
AppUser实体需要扩展org.jbpm.api.identity.User接口 AppRole实体需要扩展org.jbpm.api.identity.Group接口 能不能说说具体的啊?扩展后,任务接口的findGroupTask是不是就不能用了? 谢谢! |
|
返回顶楼 | |
发表时间:2010-03-02
你好,我不能问一下,你那个jobexecutor是怎么弄的,我使用spring+hibernate+jbpm4,会自动启动jobexecutor,而每次查询数据表的时候,总会说session is closed(session是spring管理的),有没有办法解决这个问题?
|
|
返回顶楼 | |
发表时间:2010-06-30
JBPM4.3 通过什么方法来获得ProcessEngine?
类似于 SpringConfiguration 的buildProcessEngine()方法? |
|
返回顶楼 | |