what you've done is usually correct way to approach it. Once you have it there you need to analyze what you're going to use from jBPM as that is mainly influencing what jars you need. If you going to use persistence, human tasks, different work items (like web service, rest, etc) as those are bringing the most of the dependencies. With jbpm installer libs you get all and then you can strip it from what you don't need.
It is very difficult for me to eliminate not required jars, Is there any documentation which tells us about the dependent jars for each module.
what do you mean by using persistence ? Iam using StatefulKnowledgeSession with JTA where transactions are controlled by my application.
Iam just using core engine capabilities along with Human Tasks. i.e, starting a process, creating/starting/completing human tasks ....
Iam just wondering if jBPM works on jboss 7.1.1 which is JEE 6 compatible, why should I package all of those jars in my war. There should be some mechanism where in I can place the jbpm jars in Applicaton server as a module and any applications deployed on the server should be able to use them by adding dependency on that module. Does this makes sense ? Any help is apprecieated.
Hi yes, in jbpm 6 we have the jboss 7/eap6 modules, you can try them out. Here is a link to the source code of those modules. https://github.com/droolsjbpm/kie-wb-distributions/tree/master/kie-eap-integration
Thanks Mauricio, Unfortunately we can't migrate to jBPM6 as we are planning to go to production in next couple of months, however Iam working on to package jBPM5 jars as a static module on jBoss server and it seems tobe it is working, will post it with complete details if every thing works as expected.
One more question related to this... Since Iam using spring for wiring beans in my application, I have used spring-drools integration module to wire kbase, taskService, txManager etc into my application. This setup was working fine before I moved to static modules, but now since I have packaged jBPM jars as a static module in jBoss, I need to create one more static module for spring with all spring framework jars. Following is my dependency graph.
myWebApp ---> jBPM (jBoss static module) ---
|--------------------------------------------------> Spring (jBoss static module)
In springApplicationContext.xml(myWebApp) there are some beans defined from myWebApp classpath, Now the problem is since myWebApp will have access to Spring module class path but not vice versa, application deployment is failing because Spring module will not be able to find my webApplication classes.
Any Idea how to solve this ? Is there any configuration we can make in jBoss static module so that it can have access to classpath of myWebApp module ?