[jBPM] - Integrating jBPM in Existing Web Application along with Guvnor / Designer
by Ikram Babai
Ikram Babai [https://community.jboss.org/people/ikrambabai] created the discussion
"Integrating jBPM in Existing Web Application along with Guvnor / Designer"
To view the discussion, visit: https://community.jboss.org/message/828916#828916
--------------------------------------------------------------
Dear Commuity,
I'm into the jBPM /Guvnor/Designer suite for about two months now - so still a newbie - However, I feel like I have convered a good (at least horizontal) space. I have got many questions on the overall best practices that one should use to use various components of the suite.
*Background:*
We are evaluating jBPM for executing processes that will dump data from some big data servers, do some manipulation and extract and dumpt the refined results into an RDBMS - The processes shoudl execute at cetain frequencies - lets say every 1 one - So we need a process triggering mechanism to invoke the BPMN2 process through jBPM runtime - we use quartz for that. The actual process will be designed by users using the Oryx designer that's embedded in Guvnor and then saved in the Guvnor's tables. We do not use the Human Task Service (not at least now) or any other rule base API that Guvnor exposes. Our Users will primarily be using Designer App to write the processes, compile and let the jBPM consume them.
Following is the high-high level design on which my questions below are based.
Tomcat Instance 1
|-----------------------------------------
| My Web App |
| Usual Supsects |
| (Hibernate/Spring) |
| |
| |
| + |
| jBPM Core |
| (Engine/Runtime) |
| (Work Item Handlers) | <---- In Instance1 we build jBPM Knowledge Base by getting BPMN2 Processes designed and stored in instnce 2 below
|_______________________|
Tomcat Intance2
|-----------------------------------------
| Guvnor + Designer |
| |
| |
| |
| |
| |
| Users Design |
| BPMN2 Processes |
| Save and Build |
|______________________|
*1. When to build the kBase in Instance1?*
Knowledge Base is what jBPM Core knows and cares about - once built, the core engine can pick any process using its ID and get it executed - Process are designed in Instance2 above. Once desgined, committed and package is built, how do I tell jBPM core in Instnace1 to rebuild its knowledge base so that the latest defintion of the changed proces is avaiable to it on the next cron trigger? Is there a hook that Guvnor App provides that kicks in Instnace1 right away as soon as the package in instnace2 is built?
The two easiest answers that I do not want to follow can be these.
a. Build Knowledge Base in instance1 every few minutes. Get latest process defintion from Instance2 every 5 mintues, for instnace: I dont like this option (and Im sure most of you won't). What if something bad happens during such a high frequency operation and kBase is not built successfully?
b. Currenly what Im doing is that everytime the user comes to the page (in Instance1) where process names are listed (from kBase), I re-create the kBase. Not a brilliant way of doing I agree - What if the users neverf comes to that page and just sings out after the kBase in Instnace2?
So please let me know if there is a nice way that I can build my kBase in Instance1 on every Prcess/Package Build in Instnace2.
*2. What Happens to an in-progress process when changes are done to an exisiting process, package built and kBase built in instance1?*
Let say I know when and how to build my kBase - but then there can be some process which already started on the older version of the processes jBPM took from older kBase for execution? Will there exection be terminated or the runtime will execute the older version of the process and pick the new only in the next exection (not the current one)?
*3. Versioning: Is there a way to tell jBPM to execute a particular version of a process?*
*4. Partial BAM Reports? Possible?*
The Business Activity Modeling tables (nothing complex 2/3 tables - one being PROCESSINSTANCELOG) are populated whenever the jBPM exection flows enters and exits a particular node. It works nicely except when one node's execution (say a Service Node) faces a problem. Just yesterday, I faced this problem. Let me explain. Suppose a process is in execution and when it reaches to node 5 for example - once of who's parameter is a big data query and that query had a syntax error. Obviously exceptions were thrown from that Service Node - But jBPM didn't save anything in the BAM tables - not even for the 4 nodes that executed without any issue.? Why? Is it by design or its a bug? How do I know what happened to that process when nothing is logged?
*5. Guvnor --> Web App Integration and Authentication*
As I have mentioned, I have fully functional in-production web application with security - of course. I would like to use the same credentials when authenticating a user to guvnor app sitting in Instance2 - Please suggest how this should be done and provide reference to articles if any. I sure cannot (and do not want to) write code into Guvnor - there must be a good out-of-the-box method to do this.
Another facet of the issue is to give the user once experience - when he jumps from My Web App to Drools-Guvnor app - he shouldn't feel it.
Or put in cude terms, the URL should not change from
http://webapphost:8080/webapp http://webapphost:8080/webapp
to
http://guvnorhost:8080/drools-guvnor http://guvnorhost:8080/drools-guvnor
THis problem we solved using iframe ... so all I have to do is to divert the user to a jsp page that contains this like
<iframe src="${viewUrl}" width="100%" height="750px"></iframe>
My URL remains the same (webappone) and drools appears within the iframe.
Is that a good idea though? Any better suggestions than that?
*6. Keeping jBPM withing the Web Application or Seprate?*
As the diagram above shows my jBPM runtime/core runs within my Web App - Since jBPM creates only once process per execution (not matter how many parallel "logical" exection flows might exist in the process), do you guys think its ok to do so? Or will it be a good idea to use jBPM Core separately?
*7. Process Execution Survie Instance 1 restart?*
*8. JNDI Resources? Can I get the same using Spring?*
Im using tomcat and in there I use Bitronox Transaction Manager for jBPM BAM / Core table's commits. The way I have configured the data source for BTM to work is by editing the server.xml and context.xml files - files that usually are not expnosed to your CATALINA_BASE - especially in bigger organizaitons where one tomcat installation (CATALINA_HOME) is used to configure hundres of CATALINA_BASES. Usually its very hard to convince the system admin for changes into such core files. It would be lovely if I donot have to do any changes in these two files and I still have the JNDI resources defined? Can I do this withing my web app? I know some of you will jump directly to Spring (whchi I use thoroughly) - but will BTM work with that kinds of JNDI resource defintion. If anyone has worked on it, please share.
*9. Drools Guvnor + Designer Browser Compatibility.*
That one was a real pain - I like Chome/Mozilla personally - but we will have to endup using IE due to corporate policies. Guvnor and Designer do not work in IE - I had to do a script that installs a Chrome frame (if not already) withing IE when the user first visits the Guvnor page. But, can we not get Droosl Guvnor and Designer working in IE as well?
*10. What are my limitations with Tomcat?*
Drools + Deisgner works perfectly in tomcat/BTM for me (it gave me some issues with some minor verions of tomcat but 6.0.37 that Im using is good). Do you think I might hit a block using jBPM/Drools in tomcat -someting that was primarily designed and tested on jBOSS?
Regards,
-Ikramullah Khan
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/828916#828916]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 3 months
[Snowdrop] - Re: Accessing spring beans that are deployed in a war.
by Bas Ven
Bas Ven [https://community.jboss.org/people/batter] created the discussion
"Re: Accessing spring beans that are deployed in a war."
To view the discussion, visit: https://community.jboss.org/message/829806#829806
--------------------------------------------------------------
Making some progress and the war does get deployed succesfully, but I still see nothing being registered in JNDI and when I call an EJB where a spring bean should get injected I see a naming exception that the beanfactory ('SpringCommander') could not be found:
> java.lang.IllegalStateException: javax.naming.NameNotFoundException: SpringCommander -- service jboss.naming.context.java.jboss.SpringCommander
> org.jboss.spring.support.SpringInjectionSupport.lookup(SpringInjectionSupport.java:180)
> org.jboss.spring.support.SpringInjectionSupport.getObjectFromBeanFactory(SpringInjectionSupport.java:136)
> org.jboss.spring.support.SpringInjectionSupport.injectToField(SpringInjectionSupport.java:202)
> org.jboss.spring.support.SpringInjectionSupport.inject(SpringInjectionSupport.java:80)
> org.jboss.spring.callback.SpringLifecycleInterceptor.postConstruct(SpringLifecycleInterceptor.java:43)
I do see in the log file that at startup the jboss-spring.xml is found:
> 09:36:53,492 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] (MSC service thread 1-14) Loading XML bean definitions from "/content/commander-server.war/META-INF/jboss-spring.xml"
> 09:36:53,526 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] (MSC service thread 1-14) Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6e9e2a8a: defining beans [dataSourceManager,commanderServer]; root of factory hierarchy
Although that does seem to come from the spring framework. Is there anything I can turn on logging wise to see if snowdrop is actually trying to register beans with JNDI?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/829806#829806]
Start a new discussion in Snowdrop at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 3 months
[jBPM] - Could not find datasource: jdbc/jbpm-ds
by Ashish T
Ashish T [https://community.jboss.org/people/ashpcs] created the discussion
"Could not find datasource: jdbc/jbpm-ds"
To view the discussion, visit: https://community.jboss.org/message/829443#829443
--------------------------------------------------------------
Hi All,
I am using JBPM 5.3 and its assosiated Guvnor and console. I am deploying it on tomcat 7.0.27.
I am able to connect to Guvnor and develop small process in it. I am able to login into JBPM console but then it gives following error.
24/07 12:57:11,597[http-apr-8080-exec-12] ERROR hibernate.connection.DatasourceConnectionProvider.configure - Could not find datasource: jdbc/jbpm-ds
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:803)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at org.hibernate.connection.DatasourceConnectionProvider.configure(Datas
ourceConnectionProvider.java:75)
I am not using jbpm-ds datasource anywhere. Is it hardcoded anywhere in the source? what is the solution for the problem?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/829443#829443]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 3 months
[JBoss Web Services] - javax.xml.ws.WebServiceException: Cannot create proxy
by Syed Azhar Sultan
Syed Azhar Sultan [https://community.jboss.org/people/syed.azharsultan] created the discussion
"javax.xml.ws.WebServiceException: Cannot create proxy"
To view the discussion, visit: https://community.jboss.org/message/829632#829632
--------------------------------------------------------------
Hi Friends,
Am facing an exception while invoking webservice. Please help me to resolve this.
Server - JBoss 4.2,
I have two nodes created in the server that is nodeA and nodeB.
nodeA deploys the service. This web service is made available to nodeB.
During nodeA start up, i see webservice being deployed and also i see wsdl is generated and published. I can access the webservice via browser. I can see wsdl file in browser.
Problems comes when i try to access webservice from nodeB. I get the following exception :
10:23:06,528 ERROR [STDERR] javax.xml.ws.WebServiceException: Cannot create proxy
10:23:06,530 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.createProxy(ServiceDelegateImpl.java:411)
10:23:06,532 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:278)
10:23:06,534 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:200)
10:23:06,536 ERROR [STDERR] at javax.xml.ws.Service.getPort(Service.java:116)
10:23:06,539 ERROR [STDERR] at com.framework.serviceinvoker.transport.base.client.BaseURLWebServiceTransportService.getBaseURLWebServiceTranspor
tPort(BaseURLWebServiceTransportService.java:56)
10:23:06,555 ERROR [STDERR] at com.base.adminModule.base.action.BaseConfigurationAction.list(BaseConfigurationAction.java:4
98)
10:23:06,564 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10:23:06,566 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
10:23:06,567 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
10:23:06,572 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
10:23:06,582 ERROR [STDERR] at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
10:23:06,583 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
10:23:06,586 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
10:23:06,592 ERROR [STDERR] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
10:23:06,595 ERROR [STDERR] at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
10:23:06,599 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
10:23:06,602 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
10:23:06,606 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
10:23:06,609 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
10:23:06,614 ERROR [STDERR] at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
10:23:06,618 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
10:23:06,622 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
10:23:06,624 ERROR [STDERR] at com.scb.i18n.I18nFilter.doFilter(I18nFilter.java:22)
10:23:06,628 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
10:23:06,630 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
10:23:06,634 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
10:23:06,638 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
10:23:06,642 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
10:23:06,647 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
10:23:06,651 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
10:23:06,655 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
10:23:06,660 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
10:23:06,663 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
10:23:06,667 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
10:23:06,679 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
10:23:06,690 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
10:23:06,697 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
10:23:06,702 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
10:23:06,706 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
10:23:06,709 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
10:23:06,715 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
10:23:06,717 ERROR [STDERR] Caused by: java.lang.IllegalArgumentException: com.framework.serviceinvoker.transport.base.BaseURLWebServiceTransport is n
ot an interface
10:23:06,719 ERROR [STDERR] at java.lang.reflect.Proxy.getProxyClass(Proxy.java:362)
10:23:06,721 ERROR [STDERR] at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
10:23:06,726 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.createProxy(ServiceDelegateImpl.java:398)
10:23:06,727 ERROR [STDERR] ... 44 more
Below are my partial java source files.
BaseURLWebServiceTransportService.java
package com.framework.serviceinvoker.transport.base.client;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Logger;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import com.framework.serviceinvoker.transport.base.BaseURLWebServiceTransport;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.2-b05-RC1
* Generated source version: 2.1
*
*/
@WebServiceClient
public class BaseURLWebServiceTransportService extends Service {
private final static URL BASEINVOKERTRANSPORTSERVICE_WSDL_LOCATION;
private final static Logger logger = Logger.getLogger(com.framework.serviceinvoker.transport.base.client.BaseURLWebServiceTransportService.class.getName());
static {
URL url = null;
try {
URL baseUrl;
baseUrl = com.framework.serviceinvoker.transport.base.client.BaseURLWebServiceTransportService.class.getResource(".");
url = new URL(baseUrl, " http://127.0.0.1:9781/messageBroker/BaseURLWebServiceTransport?wsdl http://127.0.0.1:9781/messageBroker/BaseURLWebServiceTransport?wsdl");
} catch (MalformedURLException e) {
logger.warning("Failed to create URL for wsdl");
logger.warning(e.getMessage());
}
BASEINVOKERTRANSPORTSERVICE_WSDL_LOCATION = url;
}
public BaseURLWebServiceTransportService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public BaseURLWebServiceTransportService() {
super(BASEINVOKERTRANSPORTSERVICE_WSDL_LOCATION, new QName(" http://base.transport.serviceinvoker.framework.com/ http://base.transport.serviceinvoker.framework.com/", "BaseURLWebServiceTransportService"));
}
/**
*
* @return
* returns BaseURLWebServiceTransport
*/
@WebEndpoint(name = "BaseURLWebServiceTransportPort")
public BaseURLWebServiceTransport getBaseURLWebServiceTransportPort() {
return super.getPort(new QName(" http://base.transport.serviceinvoker.framework.com/ http://base.transport.serviceinvoker.framework.com/", "BaseURLWebServiceTransportPort"), BaseURLWebServiceTransport.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns BaseURLWebServiceTransport
*/
@WebEndpoint(name = "BaseURLWebServiceTransportPort")
public BaseURLWebServiceTransport getBaseURLWebServiceTransportPort(WebServiceFeature... features) {
return super.getPort(new QName(" http://base.transport.serviceinvoker.framework.com/ http://base.transport.serviceinvoker.framework.com/", "SybaseURLWebServiceTransportPort"), BaseURLWebServiceTransport.class, features);
}
}
BaseURLWebServiceTransport.java
package com.framework.serviceinvoker.transport;
import javax.jws.WebMethod;
import javax.jws.WebService;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.2-b05-RC1
* Generated source version: 2.1
*
*/
@WebService(name = "BaseURLWebServiceTransport", targetNamespace = " http://base.transport.serviceinvoker.framework.com/ http://base.transport.serviceinvoker.framework.com/")
public interface BaseURLWebServiceTransport{
/**
*
* @param header
* @param payload
* @return
* returns java.lang.String
*/
@WebMethod
public String getDbAccess();
/**
*
* @param header
* @param payload
* @return
* returns java.lang.String
*/
@WebMethod
public void setDbAccess(String dbAccess);
}
BaseURLWebServiceTransport.java
package com.scb.framework.serviceinvoker.transport.sybase;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService()
public class BaseURLWebServiceTransport implements com.framework.serviceinvoker.transport.BaseURLWebServiceTransport {
private static String dbAccess = "mb";
@WebMethod
public String getDbAccess() {
return dbAccess;
}
@WebMethod
public void setDbAccess(String dbAccess) {
SybaseURLWebServiceTransport.dbAccess = dbAccess;
}
}
BaseConfigurationAction.java
package com.base.adminModule.base.action;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.framework.serviceinvoker.transport.base.BaseURLWebServiceTransport;
public class BaseConfigurationAction extends Action{
public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
com.framework.serviceinvoker.transport.base.client.BaseURLWebServiceTransportService service =
new com.framework.serviceinvoker.transport.base.client.BaseURLWebServiceTransportService();
com.framework.serviceinvoker.transport.base.BaseURLWebServiceTransport port =
service.getBaseURLWebServiceTransportPort();
port.setDbAccess("node");
} catch(Exception ex) {
ex.printStackTrace();
ApplicationLogger.getInstance().logErrors("BASE WEBSERVICE INVOCATION EXCEPTION");
}
}
}
Please help me how can i resolve this issue. I have been stucked up with this exception from almost 2 days.
Looking forward for your response at the earliest.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/829632#829632]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 3 months
[EJB3] - EAP 6.1: CMP EntityBeans locked in new Transaction
by Daniel Straub
Daniel Straub [https://community.jboss.org/people/dastraub] created the discussion
"EAP 6.1: CMP EntityBeans locked in new Transaction"
To view the discussion, visit: https://community.jboss.org/message/829611#829611
--------------------------------------------------------------
A costumer of me tries to run a EJB2.1 application on EAP 6.1 (so I don't know all the issuse or reasons, why they don't migrate the application).
They have the following scenario:
- call a statefull sessionbeans method, accessing some cmp-entitybeans (tx-attribute requires-new))
- in this method call they access a new instance of this sfb (via InitialContex.lookup/create) and call a other method, for some reasons a new transaction is requiered (tx-attribute requires-new)
- in this second method call they access the same cmp-entitybeans as in method 1, but the access is locked from the transaction of the previous method
Tthis scenario worked with JBoss 4.3, but not in EAP 6.1.
Here is the log + thread dump :
23:26:35,696 INFO org.jboss.as org.jboss.as (Controller Boot Thread) JBAS015874: JBoss EAP 6.1.0.GA (AS 7.2.0.Final-redhat-8) started in 1900ms - Started 197 of 253 services (55 services are passive or on-demand)
...
23:27:30,337 INFO batchlayer.BatchLayerBean batchlayer.BatchLayerBean (EJB default - 2)
================ doAll in TX 0:ffffc0a8010a:5a755c78:51f04697:e
23:27:30,376 DEBUG org.jboss.as.cmp.jdbc.JDBCJBossQLQuery.StElt#findAll org.jboss.as.cmp.jdbc.JDBCJBossQLQuery.StElt#findAll (EJB default - 2) Executing SQL: SELECT t0_p.elementtype, t0_p.element, t0_p.subelementtype, t0_p.subelement, t0_p.datetype, t0_p.validfrom, t0_p.validuntil, t0_p.range, t0_p.status, t0_p.rulekey, t0_p.info FROM ST_ELT t0_p
23:27:30,392 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype (EJB default - 2) result: i=1, type=java.lang.String, value=M
23:27:30,392 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element (EJB default - 2) result: i=2, type=java.lang.String, value=Merkmal1
23:27:30,392 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype (EJB default - 2) result: i=3, type=java.lang.String, value=null
23:27:30,393 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement (EJB default - 2) result: i=4, type=java.lang.String, value=null
23:27:30,393 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype (EJB default - 2) result: i=5, type=java.lang.String, value=WIRKDAT
23:27:30,393 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom (EJB default - 2) result: i=6, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,394 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil (EJB default - 2) result: i=7, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,396 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range (EJB default - 2) result: i=8, type=java.lang.Integer, value=0
23:27:30,397 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=range
23:27:30,398 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status (EJB default - 2) result: i=9, type=java.lang.String, value=AKTIV
23:27:30,398 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=status
23:27:30,398 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey (EJB default - 2) result: i=10, type=java.lang.Integer, value=100
23:27:30,398 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=rulekey
23:27:30,398 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info (EJB default - 2) result: i=11, type=java.lang.String, value=null
23:27:30,398 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=info
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype (EJB default - 2) result: i=1, type=java.lang.String, value=M
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element (EJB default - 2) result: i=2, type=java.lang.String, value=Merkmal2
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype (EJB default - 2) result: i=3, type=java.lang.String, value=null
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement (EJB default - 2) result: i=4, type=java.lang.String, value=null
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype (EJB default - 2) result: i=5, type=java.lang.String, value=WIRKDAT
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom (EJB default - 2) result: i=6, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,399 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil (EJB default - 2) result: i=7, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range (EJB default - 2) result: i=8, type=java.lang.Integer, value=0
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=range
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value 0 with 0. pk=daten.StEltPK@6cc4a8f0, field=range
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status (EJB default - 2) result: i=9, type=java.lang.String, value=AKTIV
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=status
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value AKTIV with AKTIV . pk=daten.StEltPK@6cc4a8f0, field=status
23:27:30,400 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey (EJB default - 2) result: i=10, type=java.lang.Integer, value=101
23:27:30,401 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=rulekey
23:27:30,401 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value 100 with 101. pk=daten.StEltPK@6cc4a8f0, field=rulekey
23:27:30,401 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info (EJB default - 2) result: i=11, type=java.lang.String, value=null
23:27:30,401 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=info
23:27:30,401 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value java.lang.Object@ace10d9 with null. pk=daten.StEltPK@6cc4a8f0, field=info
23:27:30,401 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add finder results: entity=StElt results=[daten.StEltPK@6cc4a8f0, daten.StEltPK@6cc4a8f0] readahead=[JDBCReadAheadMetaData : strategy=on-find, pageSize=10, eagerLoadGroup=*, left-join[]]
23:27:30,404 TRACE org.jboss.as.cmp.jdbc.JDBCStoreManager org.jboss.as.cmp.jdbc.JDBCStoreManager (EJB default - 2) RESET PERSISTENCE CONTEXT: id=daten.StEltPK@6cc4a8f0
23:27:30,405 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) load data: entity=StElt pk=daten.StEltPK@6cc4a8f0
23:27:30,405 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Preloading data: entity=StElt pk=daten.StEltPK@6cc4a8f0 cmpField=rulekey
23:27:30,405 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Preloading data: entity=StElt pk=daten.StEltPK@6cc4a8f0 cmpField=info
23:27:30,405 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Preloading data: entity=StElt pk=daten.StEltPK@6cc4a8f0 cmpField=status
23:27:30,406 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Preloading data: entity=StElt pk=daten.StEltPK@6cc4a8f0 cmpField=range
23:27:30,407 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Trying to acquire lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@43401ab6[State = 0, empty queue][Unlocked] for entity bean org.jboss.as.cmp.component.CmpEntityBeanComponentInstance@2599c538 during invocation: org.jboss.invocation.InterceptorContext@1262f2d1
23:27:30,407 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Acquired lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@43401ab6[State = 1, empty queue][Locked by 0:ffffc0a8010a:5a755c78:51f04697:e] for entity bean instance: org.jboss.as.cmp.component.CmpEntityBeanComponentInstance@2599c538 during invocation: org.jboss.invocation.InterceptorContext@1262f2d1
23:27:30,408 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Registered tx synchronization: org.jboss.as.ejb3.component.entity.interceptors.EntityBeanSynchronizationInterceptor$EntityBeanSynchronization@3026a5f8 for tx: 0:ffffc0a8010a:5a755c78:51f04697:e associated with stateful component instance: org.jboss.as.cmp.component.CmpEntityBeanComponentInstance@2599c538
23:27:30,408 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Trying to acquire lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@43401ab6[State = 1, empty queue][Locked by 0:ffffc0a8010a:5a755c78:51f04697:e] for entity bean org.jboss.as.cmp.component.CmpEntityBeanComponentInstance@2599c538 during invocation: org.jboss.invocation.InterceptorContext@395a557a
23:27:30,408 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Acquired lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@43401ab6[State = 2, empty queue][Locked by 0:ffffc0a8010a:5a755c78:51f04697:e] for entity bean instance: org.jboss.as.cmp.component.CmpEntityBeanComponentInstance@2599c538 during invocation: org.jboss.invocation.InterceptorContext@395a557a
23:27:30,408 DEBUG org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Looking for stateful component instance with session id: {[-35, 123, -20, -115, -21, -64, 75, -109, -104, -98, 102, 94, -108, -31, 96, -72]}
23:27:30,409 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Trying to acquire lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@10ef63f9[State = 0, empty queue][Unlocked] for stateful component instance: Instance of BatchLayer {{[-35, 123, -20, -115, -21, -64, 75, -109, -104, -98, 102, 94, -108, -31, 96, -72]}} during invocation: org.jboss.invocation.InterceptorContext@548c791e
23:27:30,409 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Acquired lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@10ef63f9[State = 1, empty queue][Locked by 0:ffffc0a8010a:5a755c78:51f04697:17] for stateful component instance: Instance of BatchLayer {{[-35, 123, -20, -115, -21, -64, 75, -109, -104, -98, 102, 94, -108, -31, 96, -72]}} during invocation: org.jboss.invocation.InterceptorContext@548c791e
23:27:30,409 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Registered tx synchronization: org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor$StatefulSessionSynchronization@5263cbef for tx: 0:ffffc0a8010a:5a755c78:51f04697:17 associated with stateful component instance: Instance of BatchLayer {{[-35, 123, -20, -115, -21, -64, 75, -109, -104, -98, 102, 94, -108, -31, 96, -72]}}
23:27:30,409 INFO batchlayer.BatchLayerBean batchlayer.BatchLayerBean (EJB default - 2)
================ next in new TX 0:ffffc0a8010a:5a755c78:51f04697:17
23:27:30,410 DEBUG org.jboss.as.cmp.jdbc.JDBCJBossQLQuery.StElt#findAll org.jboss.as.cmp.jdbc.JDBCJBossQLQuery.StElt#findAll (EJB default - 2) Executing SQL: SELECT t0_p.elementtype, t0_p.element, t0_p.subelementtype, t0_p.subelement, t0_p.datetype, t0_p.validfrom, t0_p.validuntil, t0_p.range, t0_p.status, t0_p.rulekey, t0_p.info FROM ST_ELT t0_p
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype (EJB default - 2) result: i=1, type=java.lang.String, value=M
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element (EJB default - 2) result: i=2, type=java.lang.String, value=Merkmal1
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype (EJB default - 2) result: i=3, type=java.lang.String, value=null
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement (EJB default - 2) result: i=4, type=java.lang.String, value=null
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype (EJB default - 2) result: i=5, type=java.lang.String, value=WIRKDAT
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom (EJB default - 2) result: i=6, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil (EJB default - 2) result: i=7, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,412 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range (EJB default - 2) result: i=8, type=java.lang.Integer, value=0
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=range
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status (EJB default - 2) result: i=9, type=java.lang.String, value=AKTIV
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=status
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey (EJB default - 2) result: i=10, type=java.lang.Integer, value=100
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=rulekey
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info (EJB default - 2) result: i=11, type=java.lang.String, value=null
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=info
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#elementtype (EJB default - 2) result: i=1, type=java.lang.String, value=M
23:27:30,413 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#element (EJB default - 2) result: i=2, type=java.lang.String, value=Merkmal2
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelementtype (EJB default - 2) result: i=3, type=java.lang.String, value=null
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#subelement (EJB default - 2) result: i=4, type=java.lang.String, value=null
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#datetype (EJB default - 2) result: i=5, type=java.lang.String, value=WIRKDAT
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validfrom (EJB default - 2) result: i=6, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#validuntil (EJB default - 2) result: i=7, type=java.sql.Timestamp, value=1970-01-01 01:00:00.0
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#range (EJB default - 2) result: i=8, type=java.lang.Integer, value=0
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=range
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value 0 with 0. pk=daten.StEltPK@6cc4a8f0, field=range
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#status (EJB default - 2) result: i=9, type=java.lang.String, value=AKTIV
23:27:30,414 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=status
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value AKTIV with AKTIV . pk=daten.StEltPK@6cc4a8f0, field=status
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#rulekey (EJB default - 2) result: i=10, type=java.lang.Integer, value=101
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=rulekey
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value 100 with 101. pk=daten.StEltPK@6cc4a8f0, field=rulekey
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info org.jboss.as.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.StElt#info (EJB default - 2) result: i=11, type=java.lang.String, value=null
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add preload data: entity=StElt pk=daten.StEltPK@6cc4a8f0 field=info
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Overriding cached value java.lang.Object@ace10d9 with null. pk=daten.StEltPK@6cc4a8f0, field=info
23:27:30,415 TRACE org.jboss.as.cmp.jdbc.ReadAheadCache.StElt org.jboss.as.cmp.jdbc.ReadAheadCache.StElt (EJB default - 2) Add finder results: entity=StElt results=[daten.StEltPK@6cc4a8f0, daten.StEltPK@6cc4a8f0] readahead=[JDBCReadAheadMetaData : strategy=on-find, pageSize=10, eagerLoadGroup=*, left-join[]]
23:27:30,416 TRACE org.jboss.as.ejb3 org.jboss.as.ejb3 (EJB default - 2) Trying to acquire lock: org.jboss.as.ejb3.tx.OwnableReentrantLock@43401ab6[State = 1, empty queue][Locked by 0:ffffc0a8010a:5a755c78:51f04697:e] for entity bean org.jboss.as.cmp.component.CmpEntityBeanComponentInstance@2599c538 during invocation: org.jboss.invocation.InterceptorContext@5e196d07
2013-07-24 23:27:34
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.45-b01-451 mixed mode):
"EJB default - 2" prio=5 tid=7f8e12896000 nid=0x11611a000 waiting on condition https://community.jboss.org/message/829611#829611#829611/116113000 EAP 6.1: CMP EntityBeans locked in new Transaction
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <7face9498> (a org.jboss.as.ejb3.tx.OwnableReentrantLock)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
at org.jboss.as.ejb3.tx.OwnableReentrantLock.lock(OwnableReentrantLock.java:86)
at org.jboss.as.ejb3.component.entity.interceptors.EntityBeanSynchronizationInterceptor.processInvocation(EntityBeanSynchronizationInterceptor.java:80)
at org.jboss.as.cmp.component.interceptors.CmpEntityBeanSynchronizationInterceptor.processInvocation(CmpEntityBeanSynchronizationInterceptor.java:67)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.entity.interceptors.EntityBeanAssociatingInterceptor.processInvocation(EntityBeanAssociatingInterceptor.java:79)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:226)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:317)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:214)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$2.processInvocation(EjbExceptionTransformingInterceptorFactories.java:89)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.entity.interceptors.EntityBeanPrimaryKeyInterceptor.processInvocation(EntityBeanPrimaryKeyInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
at daten.StElt$$$view4.getSubelement(Unknown Source)
at batchlayer.BatchLayerBean.next(BatchLayerBean.java:146)
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.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:58)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:156)
- locked <7faab4428> (a java.lang.Object)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:67)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:248)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:339)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:216)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$1.processInvocation(EjbExceptionTransformingInterceptorFactories.java:65)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:222)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
at org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
at org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)
at com.sun.proxy.$Proxy10.next(Unknown Source)
at batchlayer.BatchLayerBean.doAll(BatchLayerBean.java:119)
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.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:58)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:156)
- locked <7fa9a35f8> (a java.lang.Object)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:67)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:248)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:216)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$1.processInvocation(EjbExceptionTransformingInterceptorFactories.java:65)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:329)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$100(MethodInvocationMessageHandler.java:70)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:203)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/829611#829611]
Start a new discussion in EJB3 at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 3 months