[Design of JBoss jBPM] - Enterprise Structure for JBPM4
by bradsdavis
With JBPM 3, we have switched between EARs and SARs.
This has caused a bit of confusion and also has made things a bit complicated in terms of loader-repositories.
One large jBPM client does use a dedicated loader-repository with their application, and supporting dedicated loader-repositories would be a nice thing for 4. I am not sure how this model changes for JBoss 5 though.
I know with the current jBPM 3, there are a few steps to getting the loader repository to work, including moving the jbpm-enterprise.jar, and having to add the loader-repository in several configurations. The nice thing about the EAR deployment was that it only required one configuration change to have jBPM participate in a given loader-repository in JBoss.
Before we move to 4, we should put as much thought into packaging as we do into the architecture to ensure that it will work with a number of different client setups. This would include:
1) Loader Repositories
2) EJB Integration
I know there was talks on the forum of having a ThreadLocal type solution to calling jBPM within EJB, such that opening the context wouldnt occur multiple times for nested EJB calls. Has this been investigated for 4?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4227349#4227349
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4227349
15 years
[Design of JBoss jBPM] - Re: Installer replacement?
by heiko.braun@jboss.com
If you compare the target layouts of the new and old installer, you'd see that the new one creates something completely different:
New installer:
| Bonanova:jboss-5.0.0.GA hbraun$ find . -name "jbpm*.jar"
| ./server/default/deploy/jbpm/jbpm-enterprise.jar
| ./server/default/deploy/jbpm/jbpm-service.sar/jbpm-jboss5.jar
| ./server/default/deployers/jbpm.deployer/jbpm-jboss5.jar
| ./server/default/lib/jbpm.jar
|
Old installer:
| Bonanova:jboss-5.0.0.GA hbraun$ find . -name "jbpm*.jar"
| ./server/default/deploy/jbpm/jbpm-enterprise.jar
| ./server/default/deploy/jbpm/jbpm-service.sar/jbpm-console-integration.jar
| ./server/default/deploy/jbpm/jbpm-service.sar/jbpm-jpdl.jar
| ./server/default/deploy/jbpm/jbpm-service.sar/jbpm-pvm.jar
| ./server/default/deployers/jbpm.deployer/jbpm-api.jar
| ./server/default/deployers/jbpm.deployer/jbpm-jboss5.jar
| ./server/default/deployers/jbpm.deployer/jbpm-log.jar
| ./server/default/deployers/jbpm.deployer/jbpm-spi.jar
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4227292#4227292
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4227292
15 years
[Design of JBoss jBPM] - Re: Installer replacement?
by heiko.braun@jboss.com
When booting the AS I get this:
| Caused by: java.lang.IllegalArgumentException: Exception loading class for ScopeKey addition.
| at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryVisitor.addBeanComponent(BeanMetaDataFactoryVisitor.java:67)
| at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryVisitor.deploy(BeanMetaDataFactoryVisitor.java:126)
| ... 23 more
| Caused by: java.lang.ClassNotFoundException: org.jbpm.integration.util.KernelLocator from BaseClassLoader@4cd746{VFSClassLoaderPolicy@c959bf{name=vfsfile:/Users/hbraun/Desktop/jbpm-workspace/jboss-5.0.0.GA/server/default/deployers/jbpm.deployer/ domain=ClassLoaderDomain@124805{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.system.NoAnnotationURLClassLoader@e04cbf} roots=[MemoryContextHandler@2302353[path= context=vfsmemory://5c4o0b-66wh4w-fu2u1lna-1-fu2u1w9j-d real=vfsmemory://5c4o0b-66wh4w-fu2u1lna-1-fu2u1w9j-d], FileHandler(a)7398216[path=jbpm.deployer context=file:/Users/hbraun/Desktop/jbpm-workspace/jboss-5.0.0.GA/server/default/deployers/ real=file:/Users/hbraun/Desktop/jbpm-workspace/jboss-5.0.0.GA/server/default/deployers/jbpm.deployer/], DelegatingHandler(a)5877391[path=jbpm.deployer/jbpm-jboss5.jar context=file:/Users/hbraun/Desktop/jbpm-workspace/jboss-5.0.0.GA/server/default/deployers/ real=file:/Users/hbraun/Desktop/jbpm-workspace/jboss-5.0.0.GA/server/default/deployers/jbpm.deployer/jbpm-jboss5.jar]] delegates=null exported=[org.jbpm.integration.jboss5.mgmt, META-INF, org.jbpm.integration.jboss5, META-INF.maven.org.jbpm.jbpm4.jbpm-jboss5] <IMPORT-ALL>NON_EMPTY}}
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:385)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryVisitor.addBeanComponent(BeanMetaDataFactoryVisitor.java:63)
| ... 24 more
|
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4227284#4227284
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4227284
15 years
[Design of JBoss jBPM] - jBPM design patterns question
by rwallis
Hi I new to the forum but have been using jBPM for a bit now (and loving it). I have a couple "design pattern" questions to ask.
1) Should jBPM be used as a "fancy" server side batch processor/scheduler where the token recurses from one processing node to a decision node and then, based on the decision, back to the processing node using a timer thats set at some interval like 1 minute? Will this cause stack overflow problems eventually? Will this cause the log file to get ridiculously large?
2) What is the practical limit of child token hierarchy levels? In other works if a fork is used to send a token back to the node it came from and parallel another token to a different node (resend algorithm), what limit should be put on the resend (or should this algorithm simply not be used), before the child tokens get to be too many and stack over flow occurs?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4227269#4227269
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4227269
15 years
[Design of JBoss jBPM] - mail examples
by alex.guizar@jboss.com
I've committed the first mail example to the jBPM 4 codebase. The example shows usage of an inline template in a mail activity. While simple, the example is fully functional and having it working is a milestone. I used the Wiser mock server to verify emails are actually sent.
Other examples will be an external template and task notifications. Here is what I like and don't like about the current implementation. Input appreciated
Like:
A) Model and distribution of responsibilites between MailTemplate, MailProducer and MailSession
B) Template and activity syntax
Dislike:
Z) The way dynamic content is produced is not really amenable to templating engines. In the case of freemarker, the whole template content should be available to the engine, and a mechanism should exist to retrieve "compiled" templates by name. Templates take context variables as input and produce a character stream. Only the resulting output should be bound to a MailTemplate object, which would require no further evaluation.
Y) Related to the above point, the output produced by the template should be in a well defined format. Right now there is the "native" format shown in the example and in MailTemplateWireBinding. Rather than brewing our own mail template format, however, we might as well use an existing one, say XMTP.
X) Templates cannot be placed in a separate document yet (Tom, would the import feature help there?)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4227198#4227198
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4227198
15 years