JBPM5整合到OSGI上

3 篇文章 0 订阅

     今天将JBPM5整合成两个Bundle,服务端一个Bundle,客户端一个Bundle。

     之前整了一天,试图JBPM5提供的Bundle以标准OSGI调用的形式去整合,没有成功,考虑到不需要和其他Bundle共用服务,就把依赖jar包全部放到服务端和客户端自己的CLASSPATH下,开始也不行,最后逐个增加jar包,最后成功了。之前担心的是Hibernate的持久化问题,因为我们之前整合Felix、SSH的时候由于Hibernate没有提供很好的OSGI支持,而花了较大的力气。具体原因,由于项目太紧没有来得及整合,以后再研究吧。先把成果公布出来,希望对网友有用,网上这方面的资料太少了。甚至是JBoss官方也没有什么资料和例子。

     需要关注的地方,有以下的地方:

     1)服务端依赖jar包:

            lib/antlr-2.7.7.jar,
            lib/commons-collections-3.1.jar,
            lib/dom4j-1.6.1.jar,
            lib/drools-compiler-5.2.0.Final.jar,
            lib/drools-core-5.2.0.Final.jar,
            lib/hibernate-annotations-3.4.0.GA.jar,
            lib/hibernate-commons-annotations-3.1.0.GA.jar,
            lib/hibernate-core-3.3.0.SP1.jar,
            lib/hibernate-entitymanager-3.4.0.GA.jar,
            lib/javassist-3.4.GA.jar,
            lib/jbpm-flow-5.1.0.Final.jar,
            lib/jbpm-flow-builder-5.1.0.Final.jar,
            lib/jbpm-human-task-5.1.0.Final.jar,
            lib/jbpm-persistence-jpa-5.1.0.Final.jar,
            lib/jta-1.1.jar,
            lib/knowledge-api-5.2.0.Final.jar,
            lib/mina-core-2.0.0-RC1.jar,
            lib/mvel2-2.1.Beta3.jar,
            lib/ojdbc6.jar,
            lib/persistence-api-1.0.jar,
            lib/slf4j-api-1.6.0.jar
     2)客户端依赖jar包:

             lib/antlr-runtime-3.3.jar,
             lib/drools-compiler-5.2.0.Final.jar,
             lib/drools-core-5.2.0.Final.jar,
             lib/ecj-3.5.1.jar,
             lib/jbpm-bpmn2-5.1.0.Final.jar,
             lib/jbpm-flow-5.1.0.Final.jar,
             lib/jbpm-flow-builder-5.1.0.Final.jar,
             lib/jbpm-human-task-5.1.0.Final.jar,
             lib/knowledge-api-5.2.0.Final.jar,
             lib/mina-core-2.0.0-RC1.jar,
             lib/mvel2-2.1.0.drools4.jar,
             lib/slf4j-api-1.6.0.jar,
             lib/xstream-1.3.1.jar,

     3)服务端的persistence.xml和orm.xml要放在自己bundle的META-INF文件夹下,另外要在persistence.xml文件中加入:<mapping-file>META-INF/orm.xml</mapping-file>,否则找不到orm.xml文件,就会报找不到UnescalatedDeadlines的错误,这个调的时候废了点劲,是通过调试源码发现问题的,原因是OSGI平台固有的特点引起的,是Classloader的问题。

    4)注意,这个只能在Myeclipse自带的Equinox上运行,后来放在Felix上运行时出了很多问题,具体问题以后文章中会讲到。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值