SSH调整jbpm4.3
本篇文章主要讲SSH框架整合jbpm4.3,以及myeclipse8.5集成jbpm4.3
Jbpm4.3详解以后会相继推出,希望能给大家带来帮助
一:SSH框架整合jbpm4.3
1.第一步到www.jbpm.org上下载Jbpm4.3相关包,最后我也会给出,直接下载就行了
解压后的目录结构如下:
2.讲jbpm.jar和lib下的包copy到工程的Lib目录下
如果tomcat是6以上版本,启动项目然后访问项目会报这样的错:
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154) org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) org.ajaxanywhere.AAFilter.doFilter(AAFilter.java:46)
解决此bug的方法如下:
1.将tomcat lib目录下的juel.jar删除
2.将工程下lib目录下的juel.jar,juel-impl.jar,juel-engine.jar剪切到tomcat lib目录下
3.修改applicationContext.xml基础配置文件
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" /> <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop><!-- <prop key="hibernate.hbm2ddl.auto">create-drop</prop> --></props> </property> <property name="mappingResources"> <list> <value>jbpm.repository.hbm.xml</value> <value>jbpm.execution.hbm.xml</value> <value>jbpm.history.hbm.xml</value> <value>jbpm.task.hbm.xml</value> <value>jbpm.identity.hbm.xml</value> </list> </property> </bean>
第一次运行请将<prop key="hibernate.hbm2ddl.auto">create-drop</props> 注释取消
4.生成数据库表
在action中注入processEngine
@Autowired
@Qualifier("processEngine")
private ProcessEngine processEngine
然后启动项目,执行此action,jbpm数据库表就会自动生成
二:myeclipse8.5整合jbpm4.3(先断网)
1.将Jbpm4.3解压目录下jbpm-4.3\install\src\gpd 的jbpm-gpd-site.zip解压
2.打开myeclipse8.5,找到help-->myEclipse configuration Center
切换到sofware选项,点击add site,在弹出框中选择 Add from local Folder
选择jbpm-4.3\install\src\gpd目录
3.展开左边出现的刚添加的jbpm,下面会有7个文件,然后在每个文件上点击右键 Add to profile
这样右边My software 下就出现了7个新增文件,最下面会出现Apply 7 changes ,点击安装即可