You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by David Stiles <ds...@opentext.com> on 2017/02/13 16:45:21 UTC

Problem with accessing multiple DB2 datasources within one transaction using TomEE

We are in the process of porting a large and mature application from WebLogic
to TomEE. The application currently supports DB2, Oracle, SQL Server and
PostgreSQL databases. The application also has a requirement to access
multiple datasources within a single transaction. This currently works with
WebLogic and with all supported databases. It also works in the application
ported to TomEE with Oracle, SQL Server and PostgreSQL, but we have
encountered a problem when running with DB2. 

The problem we have observed is a failure to enlist the datasource that is
accessed second in the transaction. Once a connection is obtained from
DataSource.getConnection(), the first use of the connection, regardless of
the method called (e.g. prepareStatement(), getAutoCommit(), close()),
results in the exception shown below.

It is unclear to us where the actual problem is. Is it our configuration or
usage of TomEE or our datasources? Is it a problem with TomEE? Is it a
problem with DB2 or the DB2 JDBC driver? The problem has been reproduced
with TomEE 7.0.1 and TomEE 7.0.2, with DB2 10.5 and 11.1, and with both the
DB2 10.5 FP8 JDBC 4.0 driver and DB2 11.1 FP1 JDBC 4.0 driver. We have
attempted to investigate the DB2 error reported in the exception, but have
been unable to find any relevant information.

We have put together a simple test application that demonstrates the problem
and is contained in the attached package file  multids.zip
<http://tomee-openejb.979440.n4.nabble.com/file/n4681087/multids.zip>  . One
thing that the test application demonstrates is that this is not a general
problem when accessing two datasources within a single transaction when only
one of the datasources is for DB2 (i.e. when the DB2 JDBC driver is not used
for both datasources). It appears to only be a problem when both datasources
are using the same DB2 JDBC driver. This seems to suggest the problem is
with the driver, however again, the same use case works with WebLogic. That
seems to suggest the problem is with TomEE, but the same use case works with
other databases.

One other use case that was tested as an experiment during development of
the attached test application is also accessing two datasources within a
single transaction, but from within an embedded TomEE instance instead of
remotely. In this case the same problem occurs with DB2, but additionally, a
similar problem occurs with Oracle, which does not occur in the remote TomEE
case. The attached test application demonstrates both the embedded and
remote TomEE failures and with both DB2 and Oracle. Other database types
were not tested in the embedded TomEE case.

An example exception as seen with DB2 in the remote TomEE case:

09-Feb-2017 16:48:22.347 WARNING [http-nio-8080-exec-1]
org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource
Unable to enlist XAResource com.ibm.db2.jcc.t4.ec@4278c5cf, errorCode: -4
 com.ibm.db2.jcc.am.XaException: [jcc][t4][10401][12066][4.19.66] XA
exception: XAER_NOTA ERRORCODE=-4228, SQLSTATE=null
	at com.ibm.db2.jcc.am.kd.c(kd.java:524)
	at com.ibm.db2.jcc.am.kd.c(kd.java:548)
	at com.ibm.db2.jcc.t4.ec.a(ec.java:2100)
	at com.ibm.db2.jcc.t4.ec.a(ec.java:2346)
	at com.ibm.db2.jcc.t4.ec.start(ec.java:1938)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource(TransactionImpl.java:202)
	at
org.apache.openejb.resource.jdbc.managed.local.ManagedConnection.invoke(ManagedConnection.java:134)
	at com.sun.proxy.$Proxy106.prepareStatement(Unknown Source)
	at com.opentext.multids.DbActions.insert(DbActions.java:61)
	at com.opentext.multids.DbActions.insert(DbActions.java:85)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
	at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
	at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
	at
org.apache.openejb.core.stateful.StatefulContainer.businessMethod(StatefulContainer.java:690)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:377)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:265)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:260)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:89)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:347)
	at
com.opentext.multids.DbActions$$LocalBeanProxy.insert(com/opentext/multids/DbActions.java)
	at org.apache.jsp.index_jsp._jspService(index_jsp.java:309)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
	at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at
org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
	at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
	at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
	at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
	at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
	at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-transaction-using-TomEE-tp4681087.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hmm,

can be worth trying "dbcp" and "tomcat" as DataSourceCreator in the
properties maybe to compare


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2017-02-15 21:03 GMT+01:00 David Stiles <ds...@opentext.com>:

> I've made no progress on testing using the latest suggestion here, but I
> wanted to report a new finding. Others in my group have been working to
> address other datasource related issues and made progress using
> 'openejb.datasource.pool = true' on the datasources and suggested I try
> this
> too. I retested my test application with this property set and the result
> is
> that it had no effect with DB2, but it caused my problem to appear in the
> remote TomEE case. As I mentioned before, without this property set my
> issue
> here would occur with Oracle in the embedded TomEE case, but not the remote
> TomEE case. But now with this property set it occurs with Oracle in both
> cases. I don't know if this is significant, but it seemed worth mentioning
> in case it helps others have more insight.
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-
> transaction-using-TomEE-tp4681087p4681103.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by David Stiles <ds...@opentext.com>.
I've made no progress on testing using the latest suggestion here, but I
wanted to report a new finding. Others in my group have been working to
address other datasource related issues and made progress using
'openejb.datasource.pool = true' on the datasources and suggested I try this
too. I retested my test application with this property set and the result is
that it had no effect with DB2, but it caused my problem to appear in the
remote TomEE case. As I mentioned before, without this property set my issue
here would occur with Oracle in the embedded TomEE case, but not the remote
TomEE case. But now with this property set it occurs with Oracle in both
cases. I don't know if this is significant, but it seemed worth mentioning
in case it helps others have more insight.



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-transaction-using-TomEE-tp4681087p4681103.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by Romain Manni-Bucau <rm...@gmail.com>.
If it is the same error as in the oracle case you can try the same config
and tuning.

Side note: Very summarized it is issues with drivers not supporting well
container usages (wrapping or hash structure usages).



Le 14 févr. 2017 22:50, "David Stiles" <ds...@opentext.com> a écrit :

> I have now tested with every combination of DB2 drivers 10.5 fp 3/4/5/8 and
> 11.1 fp 1 on both 10.5 and 11.1, all with the same failure results.
>
> Finding any information about the error is certainly challenging. Finding
> others also looking for information was easier. But I did find the
> explanation "An error occurred that does not fit in another category."
> stated here
> https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/
> java/src/tpc/imjcc_rjvjcsqc.htm,
> which gives instruction to call SQLException.getMessage for more
> information, and which simply returns "Unable to enlist connection in
> transaction: enlistResource returns 'false'.".
>
> I also discovered the following two problem reports, one with TomEE and one
> with JBoss that look to be the same sort of problem, but with Oracle...
>
> http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-with-
> different-credentials-fails-td4680456.html
> https://issues.jboss.org/browse/JBAS-7086
>
> And I'll say again that I did see the same Oracle exception with the
> embedded TomEE case. And while I don't completely follow the discussion
> with
> either of these other reported problems, both appear to be suggesting there
> are issues with the containers (the JBoss one actually looks to be resolved
> with a JBoss change), or at least that the problem can be resolved in the
> container. I find it especially interesting that in the JBoss case, it's
> stated that there was no problem seen with DB2 (and again we see no problem
> with DB2 running with WebLogic).
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-
> transaction-using-TomEE-tp4681087p4681094.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by David Stiles <ds...@opentext.com>.
I have now tested with every combination of DB2 drivers 10.5 fp 3/4/5/8 and
11.1 fp 1 on both 10.5 and 11.1, all with the same failure results.

Finding any information about the error is certainly challenging. Finding
others also looking for information was easier. But I did find the
explanation "An error occurred that does not fit in another category."
stated here
https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/java/src/tpc/imjcc_rjvjcsqc.htm,
which gives instruction to call SQLException.getMessage for more
information, and which simply returns "Unable to enlist connection in
transaction: enlistResource returns 'false'.".

I also discovered the following two problem reports, one with TomEE and one
with JBoss that look to be the same sort of problem, but with Oracle...

http://tomee-openejb.979440.n4.nabble.com/Oracle-XA-with-different-credentials-fails-td4680456.html
https://issues.jboss.org/browse/JBAS-7086

And I'll say again that I did see the same Oracle exception with the
embedded TomEE case. And while I don't completely follow the discussion with
either of these other reported problems, both appear to be suggesting there
are issues with the containers (the JBoss one actually looks to be resolved
with a JBoss change), or at least that the problem can be resolved in the
container. I find it especially interesting that in the JBoss case, it's
stated that there was no problem seen with DB2 (and again we see no problem
with DB2 running with WebLogic).



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-transaction-using-TomEE-tp4681087p4681094.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by Romain Manni-Bucau <rm...@gmail.com>.
for 10.5 can you test fix packs 3/4/5 just to be sure? Not a DB2 expert but
would be great to understand what the error means exactly and these packs
seem to relate to that issue with some explanation on the "fix" (or if you
have a DB2 doc explaining this more explicitly it can help as well).


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2017-02-13 22:04 GMT+01:00 David Stiles <ds...@opentext.com>:

> Thanks.
>
> I had previously read that page, but while there are similarities, I didn't
> find it relevant for our case. Still, the only significant point I take
> away
> from it is to set the driver property queryCloseImplicit=2, so I tried that
> anyway, but it had no effect.
>
> And as said before, we've tested with the latest drivers for DB2 10.5 and
> 11.1.
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-
> transaction-using-TomEE-tp4681087p4681089.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by David Stiles <ds...@opentext.com>.
Thanks. 

I had previously read that page, but while there are similarities, I didn't
find it relevant for our case. Still, the only significant point I take away
from it is to set the driver property queryCloseImplicit=2, so I tried that
anyway, but it had no effect.

And as said before, we've tested with the latest drivers for DB2 10.5 and
11.1.



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-transaction-using-TomEE-tp4681087p4681089.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Problem with accessing multiple DB2 datasources within one transaction using TomEE

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

did you investigate
http://www-01.ibm.com/support/docview.wss?uid=swg21429116 or different
driver versions (seems some have a fix for it)?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2017-02-13 17:45 GMT+01:00 David Stiles <ds...@opentext.com>:

> We are in the process of porting a large and mature application from
> WebLogic
> to TomEE. The application currently supports DB2, Oracle, SQL Server and
> PostgreSQL databases. The application also has a requirement to access
> multiple datasources within a single transaction. This currently works with
> WebLogic and with all supported databases. It also works in the application
> ported to TomEE with Oracle, SQL Server and PostgreSQL, but we have
> encountered a problem when running with DB2.
>
> The problem we have observed is a failure to enlist the datasource that is
> accessed second in the transaction. Once a connection is obtained from
> DataSource.getConnection(), the first use of the connection, regardless of
> the method called (e.g. prepareStatement(), getAutoCommit(), close()),
> results in the exception shown below.
>
> It is unclear to us where the actual problem is. Is it our configuration or
> usage of TomEE or our datasources? Is it a problem with TomEE? Is it a
> problem with DB2 or the DB2 JDBC driver? The problem has been reproduced
> with TomEE 7.0.1 and TomEE 7.0.2, with DB2 10.5 and 11.1, and with both the
> DB2 10.5 FP8 JDBC 4.0 driver and DB2 11.1 FP1 JDBC 4.0 driver. We have
> attempted to investigate the DB2 error reported in the exception, but have
> been unable to find any relevant information.
>
> We have put together a simple test application that demonstrates the
> problem
> and is contained in the attached package file  multids.zip
> <http://tomee-openejb.979440.n4.nabble.com/file/n4681087/multids.zip>  .
> One
> thing that the test application demonstrates is that this is not a general
> problem when accessing two datasources within a single transaction when
> only
> one of the datasources is for DB2 (i.e. when the DB2 JDBC driver is not
> used
> for both datasources). It appears to only be a problem when both
> datasources
> are using the same DB2 JDBC driver. This seems to suggest the problem is
> with the driver, however again, the same use case works with WebLogic. That
> seems to suggest the problem is with TomEE, but the same use case works
> with
> other databases.
>
> One other use case that was tested as an experiment during development of
> the attached test application is also accessing two datasources within a
> single transaction, but from within an embedded TomEE instance instead of
> remotely. In this case the same problem occurs with DB2, but additionally,
> a
> similar problem occurs with Oracle, which does not occur in the remote
> TomEE
> case. The attached test application demonstrates both the embedded and
> remote TomEE failures and with both DB2 and Oracle. Other database types
> were not tested in the embedded TomEE case.
>
> An example exception as seen with DB2 in the remote TomEE case:
>
> 09-Feb-2017 16:48:22.347 WARNING [http-nio-8080-exec-1]
> org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource
> Unable to enlist XAResource com.ibm.db2.jcc.t4.ec@4278c5cf, errorCode: -4
>  com.ibm.db2.jcc.am.XaException: [jcc][t4][10401][12066][4.19.66] XA
> exception: XAER_NOTA ERRORCODE=-4228, SQLSTATE=null
>         at com.ibm.db2.jcc.am.kd.c(kd.java:524)
>         at com.ibm.db2.jcc.am.kd.c(kd.java:548)
>         at com.ibm.db2.jcc.t4.ec.a(ec.java:2100)
>         at com.ibm.db2.jcc.t4.ec.a(ec.java:2346)
>         at com.ibm.db2.jcc.t4.ec.start(ec.java:1938)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource(
> TransactionImpl.java:202)
>         at
> org.apache.openejb.resource.jdbc.managed.local.ManagedConnection.invoke(
> ManagedConnection.java:134)
>         at com.sun.proxy.$Proxy106.prepareStatement(Unknown Source)
>         at com.opentext.multids.DbActions.insert(DbActions.java:61)
>         at com.opentext.multids.DbActions.insert(DbActions.java:85)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 62)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> Invocation.invoke(ReflectionInvocationContext.java:205)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> ReflectionInvocationContext.java:186)
>         at
> org.apache.openejb.monitoring.StatsInterceptor.record(
> StatsInterceptor.java:181)
>         at
> org.apache.openejb.monitoring.StatsInterceptor.invoke(
> StatsInterceptor.java:100)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 62)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$
> Invocation.invoke(ReflectionInvocationContext.java:205)
>         at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(
> ReflectionInvocationContext.java:186)
>         at
> org.apache.openejb.core.interceptor.InterceptorStack.
> invoke(InterceptorStack.java:85)
>         at
> org.apache.openejb.core.stateful.StatefulContainer.businessMethod(
> StatefulContainer.java:690)
>         at
> org.apache.openejb.core.stateful.StatefulContainer.
> invoke(StatefulContainer.java:377)
>         at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.
> synchronizedBusinessMethod(EjbObjectProxyHandler.java:265)
>         at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(
> EjbObjectProxyHandler.java:260)
>         at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(
> EjbObjectProxyHandler.java:89)
>         at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(
> BaseEjbProxyHandler.java:347)
>         at
> com.opentext.multids.DbActions$$LocalBeanProxy.
> insert(com/opentext/multids/DbActions.java)
>         at org.apache.jsp.index_jsp._jspService(index_jsp.java:309)
>         at org.apache.jasper.runtime.HttpJspBase.service(
> HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:443)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(
> JspServlet.java:385)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.
> java:329)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:230)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
>         at org.apache.tomcat.websocket.server.WsFilter.doFilter(
> WsFilter.java:52)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:192)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
>         at org.apache.openejb.server.httpd.EEFilter.doFilter(
> EEFilter.java:65)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:192)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:165)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:198)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:108)
>         at org.apache.tomee.catalina.OpenEJBValve.invoke(
> OpenEJBValve.java:44)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:472)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:140)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:79)
>         at
> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(
> OpenEJBSecurityListener.java:97)
>         at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(
> AbstractAccessLogValve.java:620)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:87)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:349)
>         at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
>         at
> org.apache.coyote.AbstractProcessorLight.process(
> AbstractProcessorLight.java:66)
>         at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
> AbstractProtocol.java:802)
>         at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1410)
>         at
> org.apache.tomcat.util.net.SocketProcessorBase.run(
> SocketProcessorBase.java:49)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
> TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:745)
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/Problem-with-accessing-multiple-DB2-datasources-within-one-
> transaction-using-TomEE-tp4681087.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>