[jBPM] - jBPM 5.4 released !
by Kris Verlaenen
Kris Verlaenen [https://community.jboss.org/people/KrisVerlaenen] created the discussion
"jBPM 5.4 released !"
To view the discussion, visit: https://community.jboss.org/message/778581#778581
--------------------------------------------------------------
http://kverlaen.blogspot.be/2012/11/jbpm-54-released.html http://kverlaen.blogspot.be/2012/11/jbpm-54-released.html
We are proud to announce the release of *jBPM 5.4.0.Final*.
The bits were ready more than a week ago already (and looking at the download statistics quite a few of you already found them ;)), but a busy travel schedule made it difficult to complete the work and announce everything. But here it is !
*Downloads*:
https://sourceforge.net/projects/jbpm/files/jBPM%205/jbpm-5.4.0.Final/ https://sourceforge.net/projects/jbpm/files/jBPM%205/jbpm-5.4.0.Final/
*Documentation*:
http://docs.jboss.org/jbpm/v5.4/userguide/ http://docs.jboss.org/jbpm/v5.4/userguide/
*API and JavaDocs*:
http://docs.jboss.org/jbpm/v5.4/javadocs/ http://docs.jboss.org/jbpm/v5.4/javadocs/
The +jBPM installer+ is probably the best way to get started. Download the http://sourceforge.net/projects/jbpm/files/jBPM%205/jbpm-5.4.0.Final/jbpm... full installer and follow the documentation http://docs.jboss.org/jbpm/v5.4/userguide/ch.installer.html here to walk through some of the most important components.
So what's new?
*Simulation*
We've added simulation capabilities to the web-based process designer, that allows you to simulate how a process might behave at runtime. This includes the addition of various simulation-related properties (like resources and duration-related attributes for tasks, and probabilities for diverging gateways etc.). Our implementation is based on the specification created by the http://code.google.com/p/bpswg/ BPSWG (Business Process Simulation Working Group).
Based on these properties, you can run a number of instances of your process and:
* Use the path finder to look at all identified paths
* Look at the generated charts containing information about minimal, maximum and average completion times, etc. using (horizontal and vertical barcharts, pie charts or tables.
* Check the timeline to get an overview of all the recorded events
Maciej did a http://mswiderski.blogspot.be/2012/08/simulation-in-jbpm-draft.html blog recently on the ideas and concepts behind it, and Tihomir did a http://surdilovic.wordpress.com/2012/09/13/business-process-simulation-in... blog, including a 12-minute video, that shows simulation in action.
*Local task service*
When human actors participate in a business process (also known as human workflow), a task service is used to manage the life cycle of the tasks (claiming, completing, task lists, etc.). While we supported the use of a centralized task service (using HornetQ for remoting), we now also support a +local+ version that runs as a simple Java component next to the engine and all the work it does is synchronous and nicely integrated with the transaction of the process engine.
org.jbpm.task.service.TaskService taskService = new org.jbpm.task.service.TaskService( emf, SystemEventListenerFactory.getSystemEventListener()); LocalTaskService localTaskService = new LocalTaskService(taskService); LocalHTWorkItemHandler humanTaskHandler = new LocalHTWorkItemHandler( localTaskService, ksession, OnErrorAction.RETHROW); humanTaskHandler.connect(); ksession.getWorkItemManager().registerWorkItemHandler( "Human Task", humanTaskHandler);
*Spring*
We have improved our http://docs.jboss.org/jbpm/v5.4/userguide/ch.integration.html#d0e7839 Spring support, where you can use a Spring configuration file to configure your environment and inject a ksession and/or task service into your application code. For transactions, it integrates with the Spring transaction manager, supporting both JTA and RESOURCE_LOCAL with shared entity manager factory (emf) or shared entity manager (em).
*JPA2*
jBPM runtime persistence can now also use JPA2 for persistence. That means it is completely independent of the underlying persistence provider (we use Hibernate by default but other persistence providers should be possible as well). You can use Hibernate4 with JPA2 for even better performance. For all the details on how to do this, here's a link to a persistence configuration file for both https://github.com/droolsjbpm/jbpm/blob/master/jbpm-installer/db/jbpm-per... JPA1 and https://github.com/droolsjbpm/jbpm/blob/master/jbpm-installer/db/jbpm-per... JPA2.
*Some of the other features*
* Improvements on some of the BPMN 2.0 constructs in the core engine, related to error events, terminating end events in sub processes,
* Introduction of a business calendar related to timers etc.
* The ability to start a process by name, which will automatically start the latest version of that process.
* We created separate wars for EE6 (AS7) and EE5 (AS5) to avoid a lot of manual dependency management. JBoss AS 7.1.1 is now the new default application server in the installer.
* Improved support for invoking web services from inside your processes.
* A database-backed solution for managing which users are part of which group (UserGroupCallback).
* When configuring handlers for domain-specific services, the ksession is automatically injected as an optional constructor parameter in the handler configuration file.
The details on all fixed issues and new features can be found in detail in https://issues.jboss.org/browse/JBPM JIRA.
jBPM 5.4.0.Final has been released in sync with the latest http://blog.athico.com/2012/11/drools-550final-released.html Drools 5.5.0.Final release.
If you have any questions / issues, let us know:
* Ask questions on IRC: chat.freenode.net:6667 #jbpm (there is a web-based client available http://webchat.freenode.net/ here)
* Create a JIRA issue: https://issues.jboss.org/browse/JBPM https://issues.jboss.org/browse/JBPM
* Ask the community in the https://community.jboss.org/community/jbpm?view=discussions forum
The jBPM team
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/778581#778581]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months
[jBPM] - jBPM as service (EJB).
by sc_boss
sc_boss [https://community.jboss.org/people/sc_boss] created the discussion
"jBPM as service (EJB)."
To view the discussion, visit: https://community.jboss.org/message/797585#797585
--------------------------------------------------------------
Q.1) How do i add my bpmn process and script task classes to GWT console. Do I need to go through guvnor tool. (If yes how to I add my script based classes) Q.2) Is there any way the jbpm engine works as an EJB service? At present the way I understood it (based upon examples): We create a process and it gets executed and the human task goes to another server. The program that creates the process waits for the JMS to respond back and the process completes. Effectively the engine runs in my VM. (Correct me if I'm wrong) I more wanted a BPM service which can be called for process creation on a remote machine (running as service). The same engine will store all the relevant data related to process such as: 0. Process instance creation 1. Human task monitoring (running along with the engine and NO on HornetQ JMS/Human task war) 2. Can be accessed remotely for identifying where a process is stuck at present. 3. Can we used for finding out the task for a given user (i.e. process engine and human task server run on same server/cluster). 4. assigning task to other users. 5. canceling a process instance (NOT Task) This makes the overall installation and administration easy as there are less resources involved (No JMS/wars etc, only once service). The overall engine is encapsulated in one package. We will be writing out own UI layer to interact with this engine. Is this available as an EJB service in Enterprise endition OR this has to accessed from GWT based REST service that I suppose provides same functionality. Oracle based BPM provides such facility and it is helpful to use. May be I did not understand the documentation properly, please help me in right direction.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/797585#797585]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months
[JBoss Tools] - Cannot install JBoss Tools Core 4.1.0.Alpha1 (bits for QE testing)
by Juergen Zimmermann
Juergen Zimmermann [https://community.jboss.org/people/Juergen.Zimmermann] created the discussion
"Cannot install JBoss Tools Core 4.1.0.Alpha1 (bits for QE testing)"
To view the discussion, visit: https://community.jboss.org/message/797519#797519
--------------------------------------------------------------
I tried to install JBoss Tools Core 4.1.0.Alpha1 as mentioned at http://lists.jboss.org/pipermail/jbosstools-dev/2013-February/006973.html http://lists.jboss.org/pipermail/jbosstools-dev/2013-February/006973.html. I used a fresh Eclipse installation from http://www.eclipse.org/downloads/index-developer.php?release=juno http://www.eclipse.org/downloads/index-developer.php?release=juno for "Eclipse IDE for Java EE Developers (Juno SR2 RC3)". However, I'm getting the following stacktrace during installation. org.eclipse.ant.core 3.2.401.v20121204-162022 is part of the Eclipse Java EE distribution.
Cannot complete the install because of a conflicting dependency.
Software being installed: JBoss Maven Hibernate Configurator 1.5.0.Alpha1-v20130208-1533-B2 (org.jboss.tools.maven.hibernate.feature.feature.group 1.5.0.Alpha1-v20130208-1533-B2)
Software currently installed: Eclipse IDE for Java EE Developers 1.5.2.20130205-2019 (epp.package.jee 1.5.2.20130205-2019)
Only one of the following can be installed at once:
Ant Build Tool Core 3.2.500.v20121231-155506 (org.eclipse.ant.core 3.2.500.v20121231-155506)
Ant Build Tool Core 3.2.401.v20121204-162022 (org.eclipse.ant.core 3.2.401.v20121204-162022)
Cannot satisfy dependency:
From: Eclipse IDE for Java EE Developers 1.5.2.20130205-2019 (epp.package.jee 1.5.2.20130205-2019)
To: org.eclipse.epp.package.jee.feature.feature.group [1.5.2.20130205-2019]
Cannot satisfy dependency:
From: Java EE IDE Feature 1.5.2.20130205-2019 (org.eclipse.epp.package.jee.feature.feature.group 1.5.2.20130205-2019)
To: org.eclipse.platform.feature.group [4.2.1.v20130118-173121-9MF7GHYdG0B5kx4EZVhfXV--sFmQ9QiOL5DboE]
Cannot satisfy dependency:
From: Eclipse Platform 4.2.1.v20130118-173121-9MF7GHYdG0B5kx4EZVhfXV--sFmQ9QiOL5DboE (org.eclipse.platform.feature.group 4.2.1.v20130118-173121-9MF7GHYdG0B5kx4EZVhfXV--sFmQ9QiOL5DboE)
To: org.eclipse.ant.core [3.2.401.v20121204-162022]
Cannot satisfy dependency:
From: Hibernate Console 3.7.0.Alpha1-v20130210-1655-B6 (org.hibernate.eclipse.console 3.7.0.Alpha1-v20130210-1655-B6)
To: bundle org.eclipse.ant.core 3.2.500
Cannot satisfy dependency:
From: JBoss Maven Hibernate Configurator 1.5.0.Alpha1-v20130208-1533-B2 (org.jboss.tools.maven.hibernate 1.5.0.Alpha1-v20130208-1533-B2)
To: bundle org.hibernate.eclipse.console 0.0.0
Cannot satisfy dependency:
From: JBoss Maven Hibernate Configurator 1.5.0.Alpha1-v20130208-1533-B2 (org.jboss.tools.maven.hibernate.feature.feature.group 1.5.0.Alpha1-v20130208-1533-B2)
To: org.jboss.tools.maven.hibernate [1.5.0.Alpha1-v20130208-1533-B2]
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/797519#797519]
Start a new discussion in JBoss Tools at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months
Re: [jboss-user] [JBoss Messaging] - Spring JMSTemplate + Remote JMS server + XA transaction + HeuristicMixedException
by Libor Krzyžanek
Libor Krzyžanek [https://community.jboss.org/people/lkrzyzanek] replied to the discussion
"Spring JMSTemplate + Remote JMS server + XA transaction + HeuristicMixedException"
To view the discussion, visit: https://community.jboss.org/message/797498#797498
--------------------------------------------------------------
I have very similar case to https://community.jboss.org/thread/170548 https://community.jboss.org/thread/170548.
I have two servers (Jboss 5.1). Server A connects and sends messages to Server B with JMS queue. As sever A also changes sth in DB, the whole operation should be managed by JTA transaction.
My jms-ds.xml on Server B side is:
> <?xml version="1.0" encoding="UTF-8"?>
>
> <connection-factories>
> <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
> name="jboss.messaging:service=JMSProviderLoader,name=JMSProvider">
> <attribute name="ProviderName">DefaultJMSProvider</attribute>
> <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
> <attribute name="FactoryRef">java:/XAConnectionFactory</attribute>
> <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>
> <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>
> </mbean>
>
> <!-- JMS XA Resource adapter, use this to get transacted JMS in beans -->
> <tx-connection-factory>
> <jndi-name>JmsXA</jndi-name>
> <xa-transaction/>
> <rar-name>jms-ra.rar</rar-name>
> <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>
> <max-pool-size>20</max-pool-size>
> <security-domain-and-application>JmsXARealm</security-domain-and-application>
> <depends>jboss.messaging:service=ServerPeer</depends>
> </tx-connection-factory>
>
> </connection-factories>
On Server A I have:
> public ConnectionFactory getConnectionFactory() {
> try {
> JndiObjectFactoryBean factory = new JndiObjectFactoryBean();
> factory.setCache(false);
> factory.setLookupOnStartup(false);
> factory.setJndiEnvironment(getEndpointTargetEnvironment());
> factory.setProxyInterface(ConnectionFactory.class);
> factory.setJndiName("XAConnectionFactory");
> factory.afterPropertiesSet();
> return (ConnectionFactory) factory.getObject();
> } catch (Exception ex) {
> throw new RuntimeException(ex);
> }
> }
> JmsTemplate result = new JmsTemplate();
> result.setPubSubDomain(false);
> result.setDefaultDestinationName("queue/live");
> result.setSessionTransacted(true);
> result.setDestinationResolver(configurationService.getDestinationResolver());
> result.setConnectionFactory(getConnectionFactory());
> result.afterPropertiesSet();
The whole operation is run under TransactionTemplate managed by PlatformTransactionManager.
The problem is that the operation is not managed by JTA transaction because I use "factory.setJndiName("XAConnectionFactory")".
After googling I found out that I have to use "JmsXA" instead of "XAConnectionFactory".
But after changing it
> factory.setJndiName("java:/JmsXA");
I get exceptions:
> 2013-02-13 15:59:46,122 ERROR [s.messaging.util.ExceptionUtil] ConnectionEndpoint[z1-ruvvl4dh-1-t18tl4dh-sgoo69-110j3] sendTransaction [52-iaxvl4dh-1-t18tl4dh-sgoo69-110j3]
> javax.jms.JMSException: Failed to route Reference[22294816130940928]:RELIABLE to live
> at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendMessage(ServerConnectionEndpoint.java:757)
> at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.processTransaction(ServerConnectionEndpoint.java:815)
> at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:497)
> at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:101)
> at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeTarget(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
> at org.jboss.jms.server.container.SecurityAspect.handleSendTransaction(SecurityAspect.java:195)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:122)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
> at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
> at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.sendTransaction(ConnectionAdvised.java)
> at org.jboss.jms.wireformat.ConnectionSendTransactionRequest.serverInvoke(ConnectionSendTransactionRequest.java:82)
> at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
> at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)
> at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
> at org.jboss.remoting.Client.invoke(Client.java:1724)
> at org.jboss.remoting.Client.invoke(Client.java:629)
> at org.jboss.remoting.Client.invoke(Client.java:617)
> at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
> at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate.org$jboss$jms$client$delegate$ClientConnectionDelegate$sendTransaction$aop(ClientConnectionDelegate.java:221)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeTarget(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
> at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
> at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
> at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
> at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate.sendTransaction(ClientConnectionDelegate.java)
> at org.jboss.jms.tx.ResourceManager.sendTransactionXA(ResourceManager.java:667)
> at org.jboss.jms.tx.ResourceManager.prepare(ResourceManager.java:337)
> at org.jboss.jms.tx.MessagingXAResource.prepare(MessagingXAResource.java:241)
> at org.jboss.resource.adapter.jms.JmsXAResource.prepare(JmsXAResource.java:82)
> at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelPrepare(XAResourceRecord.java:264)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doPrepare(BasicAction.java:2919)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doPrepare(BasicAction.java:2876)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.prepare(BasicAction.java:2419)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1790)
> at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:94)
> at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
> at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1423)
> at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
> at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
> at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
> at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1010)
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147)
> 2013-02-13 15:59:46,304 WARN [una.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.preparefailed] [com.arjuna.ats.internal.jta.resources.arjunacore.preparefailed] XAResourceRecord.prepare - prepare failed with exception XAException.XA_RETRY
> 2013-02-13 15:59:46,304 WARN [s.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_50] - Prepare phase of action 7f000101:d6ea:511baa07:eb received heuristic decision: TwoPhaseOutcome.HEURISTIC_HAZARD
> 2013-02-13 15:59:46,304 WARN [s.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_36] - BasicAction.End() - prepare phase of action-id 7f000101:d6ea:511baa07:eb failed.
> 2013-02-13 15:59:46,304 WARN [s.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_37] - Received heuristic: TwoPhaseOutcome.HEURISTIC_HAZARD .
> 2013-02-13 15:59:46,304 WARN [s.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_38] - Action Aborting
> org.springframework.transaction.HeuristicCompletionException: Heuristic completion: outcome state is mixed; nested exception is javax.transaction.HeuristicMixedException
> at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1017)
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147)
> Caused by: javax.transaction.HeuristicMixedException
> at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1431)
> at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
> at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
> at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
> at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1010)
> ... 16 more
What I can do?
Should I differently configure JmsXA connection factory ?
Thanks in advance for any suggestions.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/797498#797498]
Start a new discussion in JBoss Messaging at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months
[jBPM] - jBPM : link event and sub-process
by wishmaster7
wishmaster7 [https://community.jboss.org/people/wishmaster7] created the discussion
"jBPM : link event and sub-process"
To view the discussion, visit: https://community.jboss.org/message/797465#797465
--------------------------------------------------------------
hi all,
I am working with jBPM 5.4 and I encounter a little problem with the link event on the throw/catch events, when they are not in the same sub-process.
Here is my example: an +Intermediate Throw Event+ called "toto", which should trigger the +Intermediate Catch Event+ called "toto", but when starting my server (Tomcat 7) and deploying the process, I get this error :
java.lang.IllegalArgumentException: 1 links were not processed
at org.jbpm.bpmn2.xml.ProcessHandler.linkIntermediateLinks(ProcessHandler.java:207)
at org.jbpm.bpmn2.xml.SubProcessHandler.handleCompositeContextNode(SubProcessHandler.java:103)
at org.jbpm.bpmn2.xml.SubProcessHandler.end(SubProcessHandler.java:85)
at org.drools.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:417)
[...]
Java is parsing the XML document, finds the catch event but does not find the corresponding throw event.
Note: when both events are in the same process, it's working.
Anyone can help me?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/797465#797465]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months
[jBPM] - Error in JBPM 5.2 transaction
by manivannan kathirvel
manivannan kathirvel [https://community.jboss.org/people/manimportal] created the discussion
"Error in JBPM 5.2 transaction"
To view the discussion, visit: https://community.jboss.org/message/797439#797439
--------------------------------------------------------------
I'm using jbpm 5.2 and drools repository 5.3.1 in my web app.
I've package crw and crw1 in drools repository
When i try to initiate one of the process in CRW , Getting the following number :
16:00:16,021 INFO [sds_logger] Exit [CHumanTaskHandler] CHumanTaskHandler.executeWorkItem method
16:00:16,027 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for mailto:com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@6497189b com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@6497189b Drive beforeCompletion participants.
javax.persistence.PersistenceException: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:516)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:272)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:160)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1433)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:348)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(CustomWorkflowHumanTaskHandler.java:359)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler$1.run(CustomWorkflowHumanTaskHandler.java:322)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:31)
at org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:81)
at org.hibernate.ejb.event.EntityCallbackHandler.preUpdate(EntityCallbackHandler.java:66)
at org.hibernate.ejb.event.EJB3FlushEntityEventListener.invokeInterceptor(EJB3FlushEntityEventListener.java:41)
at org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:330)
at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:270)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:151)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1030)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:367)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
... 14 more
Caused by: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.jbpm.marshalling.impl.AbstractProcessInstanceMarshaller.writeProcessInstance(AbstractProcessInstanceMarshaller.java:161)
at org.jbpm.persistence.processinstance.ProcessInstanceInfo.update(ProcessInstanceInfo.java:195)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:23)
... 26 more
16:00:16,030 WARN [JtaTransactionManager] Unable to commit transaction
javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Could not commit transaction.
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1445)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:348)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(CustomWorkflowHumanTaskHandler.java:359)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler$1.run(CustomWorkflowHumanTaskHandler.java:322)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.persistence.PersistenceException: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:516)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:272)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:160)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1433)
... 9 more
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:31)
at org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:81)
at org.hibernate.ejb.event.EntityCallbackHandler.preUpdate(EntityCallbackHandler.java:66)
at org.hibernate.ejb.event.EJB3FlushEntityEventListener.invokeInterceptor(EJB3FlushEntityEventListener.java:41)
at org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:330)
at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:270)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:151)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1030)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:367)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
... 14 more
Caused by: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.jbpm.marshalling.impl.AbstractProcessInstanceMarshaller.writeProcessInstance(AbstractProcessInstanceMarshaller.java:161)
at org.jbpm.persistence.processinstance.ProcessInstanceInfo.update(ProcessInstanceInfo.java:195)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:23)
... 26 more
16:00:16,031 ERROR [SingleSessionCommandService] Could not commit session
java.lang.RuntimeException: Unable to commit transaction
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:182)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:348)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(CustomWorkflowHumanTaskHandler.java:359)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler$1.run(CustomWorkflowHumanTaskHandler.java:322)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Could not commit transaction.
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1445)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
... 5 more
Caused by: javax.persistence.PersistenceException: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:516)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:272)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:160)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1433)
... 9 more
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:31)
at org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:81)
at org.hibernate.ejb.event.EntityCallbackHandler.preUpdate(EntityCallbackHandler.java:66)
at org.hibernate.ejb.event.EJB3FlushEntityEventListener.invokeInterceptor(EJB3FlushEntityEventListener.java:41)
at org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:330)
at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:270)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:151)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1030)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:367)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
... 14 more
Caused by: java.lang.NoSuchMethodError: org.drools.marshalling.impl.ObjectMarshallingStrategyStore.getStrategyObject(Ljava/lang/Object;)Lorg/drools/marshalling/ObjectMarshallingStrategy;
at org.jbpm.marshalling.impl.AbstractProcessInstanceMarshaller.writeProcessInstance(AbstractProcessInstanceMarshaller.java:161)
at org.jbpm.persistence.processinstance.ProcessInstanceInfo.update(ProcessInstanceInfo.java:195)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:23)
... 26 more
16:00:16,032 WARN [JtaTransactionManager] Unable to rollback transaction
java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction!
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:160)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:170)
at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
at org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:369)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:353)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(CustomWorkflowHumanTaskHandler.java:359)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler$1.run(CustomWorkflowHumanTaskHandler.java:322)
at java.lang.Thread.run(Thread.java:662)
16:00:16,032 ERROR [SingleSessionCommandService] Could not rollback
java.lang.RuntimeException: Unable to rollback transaction
at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:197)
at org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:369)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:353)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(CustomWorkflowHumanTaskHandler.java:359)
at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler$1.run(CustomWorkflowHumanTaskHandler.java:322)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction!
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:160)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:170)
at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
... 6 more
16:00:16,032 ERROR [STDERR] Exception in thread "Thread-24"
16:00:16,032 ERROR [STDERR] java.lang.RuntimeException: Could not commit session or rollback
16:00:16,032 ERROR [STDERR] at org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:372)
16:00:16,032 ERROR [STDERR] at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:353)
16:00:16,032 ERROR [STDERR] at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
16:00:16,033 ERROR [STDERR] at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(CustomWorkflowHumanTaskHandler.java:359)
16:00:16,033 ERROR [STDERR] at com.emirates.sds.workflow.bpmn.handler.CustomWorkflowHumanTaskHandler$TaskCompletedHandler$1.run(CustomWorkflowHumanTaskHandler.java:322)
16:00:16,033 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662)
16:00:16,033 ERROR [STDERR] Caused by: java.lang.RuntimeException: Unable to rollback transaction
16:00:16,033 ERROR [STDERR] at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:197)
16:00:16,033 ERROR [STDERR] at org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:369)
16:00:16,033 ERROR [STDERR] ... 5 more
16:00:16,033 ERROR [STDERR] Caused by: java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction!
16:00:16,034 ERROR [STDERR] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:160)
16:00:16,034 ERROR [STDERR] at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
16:00:16,034 ERROR [STDERR] at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:170)
16:00:16,034 ERROR [STDERR] at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
16:00:16,034 ERROR [STDERR] ... 6 more
16:00:31,816 INFO [sds_logger] Entry [SessionInfoFilter] doFilter method
Please help me out on this.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/797439#797439]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 2 months