您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > ssh+jbpm整合
简述Jbpm工作流框架与现有ssh框架的集成工作其实很简单,但国内外的资料太小,所以会在集成时走入太多误区,本文是在struts1.2,spring2.5,hibernate3.2上集成成功的详细步骤。其中解决了,jbpm的访问数据库session与原有hibernate的session不同的问题,string-max大字段问题。完成了流程部署web及后台程序。利用spring-modules-0.8当中的spring31做为集成的桥梁(其实它已经做好了集成,但文档和实例实在是太简单)。使用jbpm-starters-kit-3.1.4生成数据库表及安装eclipse图形化配置插件1下载jbpm-starters-kit-3.1.4到其网站,包含所有需要的工具及jar包。2数据库的安装以oracle为例,其它数据库可按此例修改。2.1创建所需用户及表空间,如果有了用户和表空间就不需要了。2.2找到jbpm-starters-kit-3.1.4文件夹,在其下的jbpm文件夹的下级文件夹lib中加入oracle的驱动包ojdbc14.jar.2.3在jbpm\src\resources文件夹下建立oracle文件夹,将\jbpm\src\resources\hsqldb里的create.db.hibernate.properties和identity.db.xml文件copy到刚刚建立的oracle文件夹当中.2.4修改create.db.hibernate.properties文件,修改目标数据库的连接属性如下:#thesepropertiesareusedbythebuildscripttocreate#ahypersonicdatabaseinthebuild/dbdirectorythatcontains#thejbpmtablesandaprocessdeployedintherehibernate.dialect=org.hibernate.dialect.OracleDialecthibernate.connection.driver_class=oracle.jdbc.driver.OracleDriverhibernate.connection.url=jdbc:oracle:thin:@10.62.1.12:1521:oraclehibernate.connection.username=dpfhibernate.connection.password=dpfhibernate.show_sql=truehibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider2.5修改jbpm\src\config.files\hibernate.cfg.xml文件,同样是配置数据库的连接属性如下:!--jdbcconnectionproperties--propertyname=hibernate.dialectorg.hibernate.dialect.OracleDialect/propertypropertyname=hibernate.connection.driver_classoracle.jdbc.driver.OracleDriver/propertypropertyname=hibernate.connection.urljdbc:oracle:thin:@10.62.1.12:1521:oracle/propertypropertyname=hibernate.connection.usernamedpf/propertypropertyname=hibernate.connection.passworddpf/propertypropertyname=hibernate.cache.provider_classorg.hibernate.cache.HashtableCacheProvider/property2.6修改jbpm\build.deploy.xml文件.找到create.db项并进行如下修改:!--==============--!--===SERVER===--!--==============--targetname=create.dbdepends=declare.jbpm.tasks,db.clean,db.startdescription=createsahypersonicdatabasewiththejbpmtablesandloadstheprocessesintherejbpmschemaactions=createcfg=${basedir}/src/config.files/hibernate.cfg.xmlproperties=${basedir}/src/resources/oracle/create.db.hibernate.properties/loadidentitiesfile=${basedir}/src/resources/oracle/identity.db.xmlcfg=${basedir}/src/config.files/hibernate.cfg.xmlproperties=${basedir}/src/resources/oracle/create.db.hibernate.properties/antantfile=build.xmltarget=build.processesinheritall=false/deployprocesscfg=${basedir}/src/config.files/hibernate.cfg.xmlproperties=${basedir}/src/resources/oracle/create.db.hibernate.propertiesfilesetdir=buildincludes=*.process//deployprocessantcalltarget=db.stop//target2.7配置ant,在jbpm目录执行antcreate.db–buildfilebuild.deploy.xml命令。会有一些小错误的提示,没有关系数据库的表已经建立完成。2.8eclipse的图形化配置插件安装文件可以到jbpm-starters-kit-3.1.4\jbpm-designer\jbpm-gpd-feature\eclipse下找到,需注意版本。部署jbpm的jar包和moudle的jar包1把如下jar包放入\WEB-INF\lib文件夹下,spring-modules-jbpm31.jar可以在spring-modules-0.8下找到,其它的都属于jbpm工具包。bsh-1.3.0.jarbsf.jarspring-modules-jbpm31.jarjbpm-webapp-3.1.4.jarjbpm-identity-3.1.4.jarjbpm-3.1.4.jar部署hbm文件到项目1在jbpm文件夹中找到所有的*.hbm.xml数据库映射文件。放到项目的一个文件夹当中。本例放到\com\gresoft\security\model\hbm文件夹中。并且在hibernate的sessionfactory建立时,设置为相关路径配置。2此文件需在spring管理的hibernate配置文件下修改,本例为dataAccessContext-hibernate.xml,如下:!--HibernateSessionFatory--beanid=sessionFactoryclass=org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBeanpropertyname=dataSourceref=dataSource/propertyname=annotatedClasseslist/list/propertypropertyname=hibernatePropertiespropspropkey=hibernate.dialectorg.hibernate.dialect.Oracle9Dialect/proppropkey=hibernate.show_sqltrue/proppropkey=hibernate.cache.provider_classorg.hibernate.cache.EhCacheProvider/proppropkey=hibernate.cache.use_query_cachetrue/prop/props/propertypropertyname=typeDefinitionsrefbean=jbpmTypes//propertypropertyname=mappingDirectoryLocationslistvalueclasspath*:/com/gresoft/security/model/hbm//value/list/property/bean设置大字段string-max1此文件需在spring管理的hibernate配置文件下修改,本例为dataAccessContext-hibernate.xml,如下:!--处理大字段--beanid=jbpmTypesclass=org.springframework.orm.hibernate3.TypeDefinitionBeanpropertyname=typeNamevalue=string_max/propertyname=typeClassvalue=org.jbpm.db.hibernate.StringMax//bean配置configration、template说明:jbpmConfiguration是根据springmodules所提供的LocalJbpmConfigurationFactoryBean进行配置,其集成好对jbpmConfiguration的管理。在系统使用时JbpmConfiguration需调用jbpmTemplate的jbpmTemplate.getJbpmConfiguration()方法得到。1此文件需在spring管理的hibernate配置文件下修改,本例为dataAccessContext-hibernate.xml,如下:!--jBPMconfiguration--beanid=jbpmConfigurationclass=org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBeanpropertyname=sessionFactoryref=sessionFactory/propertyname=configurationvalue=classpath:/datasql/jbpm.cfg.xml//bean!--jBPMtemplate--beanid=jbpmTemplateclass=org.springmodules.workflow.jbpm31.JbpmTemplateconstructor-argindex=0ref=jbpmConfiguration//bean2增加类路径中jbpm.cfg.xml文件,可以根据jbpm-starters-kit-3.1.4\jbpm\src\java.jbpm\org\jbpm\default.jbpm.cfg.xml复制后修改。本例放到/datasql/jbpm.cfg.
本文标题:ssh+jbpm整合
链接地址:https://www.777doc.com/doc-2039 .html