jbpm4与SSH整合

我不经常写文章 这次是因为jbpm与SSH整合实在是令我非常郁闷 用了两天(约八个小时)
才总算给框架搭上 那天整了一天没一点成果真是抓心挠肝的闹心 希望我这个文章能够帮助有困难的人 不多说了

环境:SSH+tomcat+mysql 需要的包 除了ssh的包外加上
jbpm.jar
juel-engine.jar
juel-impl.jar
juel.jar
mail.jar
要是不明白就上网查吧 这就不写太多
其实整合的目的很简单 就是将processEngine这个实例让spring注上就结束了
但是要注它 要先有几部
(1)
建数据库 就叫test1吧
找到你下的jbpm4的包 找一个sql文件
文件在jbpm-4.3\install\src\db\create下 对应你的数据库 我的是mysql
打开文件 复制粘贴到你的test1下 这就是所谓的 jbpm的 18张表(别告我你这个都不会)
(2)
建个spring-jbpm4.cfg.xml 放到src中
内容是
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<process-engine-context>
    <string name="spring.cfg" value="spring-jbpm4.xml" />
  </process-engine-context>
<import resource="jbpm.default.cfg.xml" />
<import resource="jbpm.tx.spring.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.bpmn.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
<import resource="jbpm.businesscalendar.cfg.xml" />
<import resource="jbpm.console.cfg.xml" />
<!-- 
<import resource="jbpm.jobexecutor.cfg.xml" />
-->
</jbpm-configuration>
这个是例子中给的 引用的各种xxx.cfg.xml在jbpm.jar中的你不用管
(3)
建立spring总配置文件
我的文件结构是
applicationContext-actions.xml 配置action
applicationContext-beans.xml  配置bean
applicationContext-common.xml 配置事物
hibernate.cfg.xml 配置hibernate
当然前三个你可以放一起 但是感觉没人会放一起 网上很多都是一个
applicationContext.xml 是一样的

主要看看applicationContext-common.xml这个吧 其他的都是你应该会的
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="spring-jbpm4.cfg.xml" />
</bean>   <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
<!--上面的是一对 大概意思就是把springHelper 加到processEngine 上>
value="spring-jbpm4.cfg.xml" 这个就是上面提到的那个文件 名一样就行--》


<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
        <property name="mappingLocations"><!--这个又加上hbm.xml这你也不用管最开始我想把它放到hibernate.cfg.xml上 但是发现不行 因为这个是jar包中的
和正常的不太一样 怎么能加到hibernate.cfg.xml我就没心情知道了 网上有的文章为了加这个将hibernate.cfg.xml直接去掉了 全交给spring了 我感觉不是很好 
-->
<list>
<value>classpath:jbpm.execution.hbm.xml</value>
<value>classpath:jbpm.history.hbm.xml</value>
<value>classpath:jbpm.identity.hbm.xml</value>
<value>classpath:jbpm.repository.hbm.xml</value>
<value>classpath:jbpm.task.hbm.xml</value>
    </list>
</property>

</bean>
<!--下面的就是事务了 要是看不懂就是ssh基础不过关了>
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" propagation="REQUIRED" />
<tx:method name="*" read-only="false" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor pointcut="execution(* com.DaoImpl.*.*(..))"
advice-ref="txAdvice" />
<!--<aop:advisor advice-ref="logAfterAdvice"
pointcut="execution(* com.rjxy.petro.service.impl.UserServiceImpl.findUser(..))" />
--></aop:config>

</beans>

结束了 其他的你愿意怎么加action dao service 都跟这个没什么关系了
启动没问题就是成功了 这个东西对包的要求感觉很高 差一点就不行 具体不清楚

二 tomcat 版本问题 5.5 和 6.0有区别
但你输入 xx.jsp或xx.action 出现什么Ljava  反正就是你看不懂的也没遇到过的异常时那就是版本问题 把错误贴到网上 一查就有 完美解决的

下面把小例子发出
本想把jar发出但是容量超了

你可能感兴趣的:(spring,Hibernate,xml,ssh,jbpm)