JDBC Transaction - Exception management
Does anybody know how to catch ALL the SQL errors that could appear in a transaction composed for instance of 10 insert ?
List sqlExceptions = new ArrayList();
for(int i=0; i<commands.length; i++) {
try {
getStatement().executeUpdate(command);
} catch(SQLException ex) {
sqlExceptions.add(ex);
Similar Messages
-
A jdbc transaction error occur
Hi Everybody
A jdbc transaction error occur when I deploy the application on the server .
Below is the stack trace
#SAP J2EE Engine JTA Transaction : [03bfffffffd3a000ffffffc0]####Application [13]##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.dbpool.exceptions.BaseSQLException: Cannot commit transaction from this connection of "YTSQLS2K" DataSource. This resource participates in a local or distributed transaction.
#SAP J2EE Engine JTA Transaction : [03bfffffffd3a000ffffffc0]####Application [13]##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.dbpool.exceptions.BaseSQLException: Cannot initiate transaction from a connection of "YTSQLS2K" DataSource. Local or distributed transaction has already started.
#SAP J2EE Engine JTA Transaction : [03bfffffffd3a000ffffffc0]####Application [13]##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.dbpool.exceptions.BaseSQLException: Cannot commit transaction from this connection of "YTSQLS2K" DataSource. This resource participates in a local or distributed transaction.
Any idea about it
I use the jdbc version in datasource <jdbc-1.x>
is there a need to replace it with <jdbc-2.0>
Thank You
Syed SaifuddinHibernate allows you to choose transaction manager. As Nikolay pointed out, in a JEE envirnment it's prefferable to use JTA transactions. All you need to do is to configure hibernate to use a JTA transaction manager. It is all written in the Hibernate documentations. See
http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#configuration-j2ee
and
http://www.hibernate.org/42.html#A5 .
The relevant properties that need to be set in the configuration are:
hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
and
hibernate.transaction.manager_lookup_class=<Class that knows how to lookup>
You need to implement a class that knows how to lookup user transaction in SAP J2EE Egnine.
The class must extend org.hibernate.transaction.JNDITransactionManagerLookup and only override its abstract method getName (simply returning the lookup string). Then provide the fully qualified name as value of the property and make sure that Hibernate can load the class.
That should work.
HTH
-Georgi
Message was edited by:
Georgi Pavlov -
UserTransaction or JDBC transaction
Hi,
please give suggestions...
We are using a application server with connection pooling
jsp and servlets are used in project
for transactions Is userTransaction is better or JDBC transaction is better
userTransaction may be implemented like this
try
getUserTransaction
transaction.begin
execute queries
transaction.commit
catch()
transaction.setRollbackOnly
JDBC Transaction may be implemented like this
connection.autoCommit=false
try
execute queries
connection.commit
catch()
connection.rollback
which is better for scalability and performance when we have to use transactins
in jsp/servlets
regardsHi,
You are talking about using programmatic transactions in J2EE applications.
When developing J2EE applications, you are recommended to use the transaction mechanism provided by the application servers.
Sometimes, JDBC transaction can undertake the whole task. However, using JTA (Java Transaction APIs) is the better choice.
Especially when you are going to develop a lot of components (JavaBeans/ EJBs).
Imangine if a transaction is to be finished after the coroperation of serveral objects(JavaBean/ EJB instances).
How can you control the begining and the ending of the transaction by puting codes in these programs?
But it is very easy to input JTA codes (just like userTransaction etc.) to implement it.
Therefore, to use JTA is more convinient.
Additionally, J2EE specifications recommend to use declarative transactions in EJBs. Thus transaction management could be more flexible.
Good luck.
Gary Wang
Developer Technical Support
Sun Microsystems
http://www.sun.com/developers/support/ -
MQSeries as a Transactional Resource Manager with Weblogic Server
I am trying to setup the example given in the BEA white paper:
Using MQSeries as a Transactional Resource Manager with Weblogic Server.
Version 1.
October 25, 2001.
I followed the instructions given in the documents, but when i run client program
>java MQClient t3://localhost:7001 "MQSeries test"
I received the following exception below. Does anyone how what is the reason for
this exception(s) and how i can solve the problem? My MQSeries Server and Weblogic
6.1 sp2 are installed on seperate NT machines. I installed the MQSeries classes
for java and the MQSeries classes for Java Message Service on the weblogic
server machine.
sending: "MQSEries test"
Exception in thread "main" java.rmi.ServerError: A error occurred the server; ne
sted exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
[java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:60)
at $Proxy1.bridgeWLS2MQS(Unknown Source)
at MQClient.main(MQClient.java:54)
The point is that over TCPIP the MQ XA connection factory is not available.
The MQ shared memory/JNI driver is required to access it, which limits
access to those processes that are on the same box as the MQ q manager.
This is an MQ series limitation.
Douglas WF Acheson wrote:
> Hello,
>
> If memory server me correct, default connection to MQ Series is through
> JNI calls and shared memory. You have to change the protocol to TCPIP when
> connection to the queue manager on another box (do not know much about XA
> with MQ Series); that is when you connect to MQ Series vi JMS on another
> box you must do something like the following:
>
> qcf = new MQQueueConnectionFactory() ;
> qcf.setHostName(hostName) ;
> qcf.setPort(port) ;
> qcf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP) ;
> qcf.setQueueManager(qManagerName) ;
>
> Then when you create you queues, sesions etc. you are point at the correct Q
> manager.
>
> Hope this helps ...
>
> Douglas WF Acheson
>
> "Raja Mukherjee" <[email protected]> wrote in message
> news:[email protected]...
> > On a closer look at the original post (sorry for missing that, it was
> early
> > in the morning), you would not be able to use XA if your QM and WLS are in
> > different boxes. Check on this newsgroup, there are several posts on this
> > subject. The whitepaper, if I recall correctly, installs both MQ and WLS
> on
> > the sames box. This is a MQSeries limitation not WLS.
> >
> > .raja
> >
> >
> > "ibrahim Nehme" <[email protected]> wrote in message
> > news:[email protected]...
> > >
> > > I am trying to setup the example given in the BEA white paper:
> > > Using MQSeries as a Transactional Resource Manager with Weblogic Server.
> > > Version 1.
> > > October 25, 2001.
> > > I followed the instructions given in the documents, but when i run
> client
> > program
> > >
> > > >java MQClient t3://localhost:7001 "MQSeries test"
> > > I received the following exception below. Does anyone how what is the
> > reason for
> > >
> > > this exception(s) and how i can solve the problem? My MQSeries Server
> and
> > Weblogic
> > > 6.1 sp2 are installed on seperate NT machines. I installed the MQSeries
> > classes
> > > for java and the MQSeries classes for Java Message Service on the
> weblogic
> > > server machine.
> > > ---------------------------------------
> > > sending: "MQSEries test"
> > > Exception in thread "main" java.rmi.ServerError: A error occurred the
> > server; ne
> > > sted exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.rmi.ServerError: A error occurred the server; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > > ; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > >
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > >
> > > <<no stack trace available>>
> > > --------------- nested within: ------------------
> > > weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
> > > [java.rmi.ServerError: A error occurred the server; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.rmi.ServerError: A error occurred the server; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > > ; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > > ]
> > > at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:60)
> > > at $Proxy1.bridgeWLS2MQS(Unknown Source)
> > > at MQClient.main(MQClient.java:54)
> >
> >
-
Hi,
i use SunOne 7.0.
I have created a Session EJB and i call a method from it.
Every method of the EJB is under transaction becasue i specified it in the EJB descriptor and the transaction is managed by the container.
Well, well, inside the method i call three other methods; every method makes a query.
When one this method goes in exception, in theory the transaction would go in rollback, but in my case the rollback is not managed so i got that only one table is updated.
Using JBoss and Bea i haven't got this error.
I use Informix database and the connections are managed by a connection pool which use a not TX datasource driver.
I tryed using a TX datasource, but i got the same problem.
Does SunONE have some problem with EJB.
Cheers.
StefanoThere could be a couple issues here. Are you catching the exception in the bean and calling setRollbackOnly() on the session context? If you are how are your depoyment descriptors set? In you ejb-jar.xml do you have something like this?
<container-transaction>
<method>
<ejb-name>BeanName</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>Do you have the method that should be rolling back the code in your RemoteInterface? -
Exception Management in OEM 12c Cloud Control
Hi All,
It is mentioned in the Oracle Documents that Exception Management is a part of Business Transaction Management feature which can ne achieved by enabling SOA management pack EE on the target which in turn provides transaction alerting and searching to locate exceptions and errors in transactions that span multiple application components.
But then can any one please tell me how can I achieve this? That means what all configuration (other than soa management packEE) is required for this exception management and how can I do this OEM . I am not able to find a good document which explain the exception management in OEM 12c cloud control.
Please help!!
Thanks in Advance!!Business transaction Management 12c (BTM)is licensed with SOA Manangement pack Enterprise Edition along with WLS Mgmt Pack and management pack for non-oracle middleware. So, if you have SOA Mgmt Pack EE, then you are already licensed for BTM 12c.
You need to download BTM12c (http://www.oracle.com/technetwork/oem/downloads/btw-downloads-207704.html) and then you need to install it (http://docs.oracle.com/cd/E24628_01/install.121/e37016/toc.htm) . Once the installation is complete, you will need to send traffic through your managed targets, where you would have already deployed the BTM observers (Ref. installation guide). Once traffic will be sent, your services will get discovered and then you will need to create transactions (http://docs.oracle.com/cd/E24628_01/doc.121/e37014/transactions.htm#sthref186) that you may wanna monitor. As part of the transaction creation, you can enable logging on the transaction and once that's done, you will be able to search and manage exceptions by monitoring your transactions.
Edited by: EM_SOA_assist on Nov 2, 2012 12:16 AM
Edited by: EM_SOA_assist on Nov 2, 2012 12:17 AM -
INV와 WIP TRANSACTION에 대한 COST MANAGER의 ERROR발생시 처리방법
제품 : MFG_INV
작성날짜 : 2004-05-20
INV와 WIP TRANSACTION에 대한 COST MANAGER의 ERROR발생시 처리방법
====================================================
PURPOSE
Inventory와 WIP Transaction에 대해 Inventory Cost manager가
정상적으로 작동하지 않고 Error가 발생한 경우, Data Fix방법에
대해 기술하고자 한다.
Explanation
Cost Manager는 다음의 Transaction들에 대해 처리한다.
1. Material transactions
2. WIP Resource transactions
Cost Manager가 수행 시 정상적으로 처리하지 못한 경우,
다음과 같이 Error처리를 한다.
(1) mtl_material_transactions의 costed_flag = 'E'
(2) wip_cost_txn_interface에 data가 존재한다.
:정상적으로 수행한 경우, Interface table에서 Record가 삭제된다.
1. To resolve the Material transactions:
Select request_id, costed_flag, transaction_group_id
from mtl_material_transactions
where costed_flag is not null;
(If this picks up any records - uncosted transactions exist).
update mtl_material_transactions
set request_id = null,
costed_flag = 'N',
transaction_group_id = null
where costed_flag is not null;
2. To resolve any WIP transactions:
Select request_id, group_id, process_status
from wip_cost_txn_interface;
(ie. only uncosted transactions exist in this table)
Update wip_cost_txn_interface
set request_id = null,
group_id = null,
process_status = 1;
The next Cost manager run should pick up the transactions and
reprocess them
Example
Reference Documents
------------------- -
Transaction to manage special charactere in BW
Hi,
Is anybody could send me the transaction to manage special charactere ?
Best Regards
GregoryHi,
you are right with: the special characters in there are allowed in BW characteristics.
But: not all characters you enter are also allowed to enter in there. I just had the issue, that I was not able to enter the euro sign € in there.
regards
Siggi -
Setting JDBC Transaction Isolation
https://community.jboss.org/wiki/ConfigDataSources
As explained in the above URL, with JBoss, you can set the JDBC transaction isolation level in the xml file that contains the JDBC connection information.
I've been doing some googling, but I'm not clear on how this can be done with WebLogic. Is there some kind of external file where you can set the JDBC transaction isolation level as with JBoss, or is this some kind of change that can only be made in the application code or in some file contained within the application archive file (ear, war, etc.)?You can set the isolation in the deployment override weblogic-ejb-jar.xml
- http://docs.oracle.com/cd/E21764_01/web.1111/e13719/ejb_jar_ref.htm#i1116237
- http://docs.oracle.com/cd/E21764_01/web.1111/e13719/ejb_jar_ref.htm#i1219612 -
JDBC SQL Exception while updating an SQL database
Hi Experts,
Recently i have encountered a JDBC SQL exception while updating aSQL database as below,
com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SAP_UPLOAD' (structure 'Statement'): java.sql.SQLException: No more data to read from socket
the above system error didn't occur for all messages (so far happened twice), but i need to find an fix to overcome this system error.
did anybody came across the above system error, please help me to resolve.
ThanksHi bandana,
From SAP Note --> 831162
17. Receiver: java.sql.SQLException During First Message Processing
Q: When sending a message to a JDBC receiver channel for the first time after an extended inactivity period, I am observing a java.sql.SQLException in the adapter's processing, which refers to a closed connection or a timeout? What is causing this and how do I work around this problem?
A: The database server has apparently closed the adapter's JDBC connection from the server side. Nevertheless, the message should be processed successfully during the next retry. If you want to completely eliminate the symptoms, enable the setting "Advanced Mode" -> "Disconnect from database after each message processing". Note that this might have a negative performance impact for high-volume processing.
I would recommend you to go through the complete note !!! Very Informative .
Regards, -
JDBC transactions in EJB 3.0
We have an EJB 3.0 method that call some jdbc DAO methods. This DAO methods called from controller (servlet) works fine, but when called from EJB method raise the following exception:
"java.sql.SQLException: Cannot call Connection.commit in distributed transaction. Transaction Manager will commit the resource manager when the distributed transaction is committed."
I think it is a JTA related error. I don't want to use JTA because I can't modify DAO (its a third party library).
I've tried annotation @TransactionAttribute(value=SUPPORTS) in the EJB method without success.
There is anyway to say EJB 3.0 not use JTA?
Thank'sFrank, yes, I can modify if it is necessary the datasource but, how can I say in the xxxx-jdbc.xml not to use JTA transactions when this data source is called inside a ejb 3.0 method?
I'm using Jdev11g and the integrated Web Logic Server.
Thank's -
Transactions across managed servers
I have 2 managed servers S1 and S2. The Tx datasources (e.g. D1 and D2) in S1
and S2 are different, with D1 deployed in S1 and D2 deployed in S2. Both Tx datasources
shares the same db connection (Oracle). The EJB in S2 has the transaction attribute
set as 'Required'. When a call is made within a JTA from S1 to an EJB residing
in S2 (S1 begins a UserTransaction, makes a call to S2 and then tries to commit
the transaction), I get the HeuristicMixedException. If the Tx attribute in S2
changed to "NotSupported" or "RequiresNew", the exception disappears. What is
going wrong here? Here is stack trace:
com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],Xid=6:91439762e5aa8158(3104694),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since
begin=1,seconds left=119,activeThread=Thread[ExecuteThread: '8' for queue:
'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=committed
,assigned=sbmejbServer),SCInfo[sbm4.0+sbmejbServer]=(state=committed),SCInfo [sbm4.0+sbmServer]=(state=committed),properties=({weblogic.transaction.name=
[EJB com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],
weblogic.jdbc=t3://10.10.102.142:5134}),OwnerTransactionManager =ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm
4.0+,
Resources={})],CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm4.0+)
completed heuristically:
null>
<Dec 17, 2002 6:36:16 AM PST> <Error> <EJB> <Exception
during commit of
transaction Name=[EJB com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],Xid=6:91439762e5aa8158(3104694),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=1,seconds left=119,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=committed,assigned=sbmejbServer),SCInfo[sbm4.0+sbmejbServer]=(state=committed),SCInfo[sbm4.0+sbmServer]=(state=committed),properties=({weblogic.transaction.name=[EJB
com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],
weblogic.jdbc=t3://10.10.102.142:5134}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm
4.0+, Resources{})],CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm4.0+):
javax.transaction.HeuristicMixedException
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:236)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:272)
at
com.savvion.sbm.bizlogic.server.ejb.BLServerBean_fztxfh_EOImpl.
connect(BLServerBean_fztxfh_EOImpl.java:4076)
at
com.savvion.sbm.bizlogic.server.ejb.BLServerBean_fztxfh_EOImpl_
WLSkel.invoke (Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274) at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteR
equest.java:22)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
I have 2 managed servers S1 and S2. The Tx datasources (e.g. D1 and D2) in S1
and S2 are different, with D1 deployed in S1 and D2 deployed in S2. Both Tx datasources
shares the same db connection (Oracle). The EJB in S2 has the transaction attribute
set as 'Required'. When a call is made within a JTA from S1 to an EJB residing
in S2 (S1 begins a UserTransaction, makes a call to S2 and then tries to commit
the transaction), I get the HeuristicMixedException. If the Tx attribute in S2
changed to "NotSupported" or "RequiresNew", the exception disappears. What is
going wrong here? Here is stack trace:
com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],Xid=6:91439762e5aa8158(3104694),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since
begin=1,seconds left=119,activeThread=Thread[ExecuteThread: '8' for queue:
'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=committed
,assigned=sbmejbServer),SCInfo[sbm4.0+sbmejbServer]=(state=committed),SCInfo [sbm4.0+sbmServer]=(state=committed),properties=({weblogic.transaction.name=
[EJB com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],
weblogic.jdbc=t3://10.10.102.142:5134}),OwnerTransactionManager =ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm
4.0+,
Resources={})],CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm4.0+)
completed heuristically:
null>
<Dec 17, 2002 6:36:16 AM PST> <Error> <EJB> <Exception
during commit of
transaction Name=[EJB com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],Xid=6:91439762e5aa8158(3104694),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=1,seconds left=119,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=committed,assigned=sbmejbServer),SCInfo[sbm4.0+sbmejbServer]=(state=committed),SCInfo[sbm4.0+sbmServer]=(state=committed),properties=({weblogic.transaction.name=[EJB
com.savvion.sbm.bizlogic.server.ejb.BLServerBean.connect(java.lang.String,java.lang.String)],
weblogic.jdbc=t3://10.10.102.142:5134}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm
4.0+, Resources{})],CoordinatorURL=sbmejbServer+10.10.102.142:5136+sbm4.0+):
javax.transaction.HeuristicMixedException
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:236)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:272)
at
com.savvion.sbm.bizlogic.server.ejb.BLServerBean_fztxfh_EOImpl.
connect(BLServerBean_fztxfh_EOImpl.java:4076)
at
com.savvion.sbm.bizlogic.server.ejb.BLServerBean_fztxfh_EOImpl_
WLSkel.invoke (Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:305)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:274) at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteR
equest.java:22)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
-
My application deployed on weblogic 8.1 sp4 and ingres2.6,The ejb is BMP and
transaction type is "required",so i configured XA connection pool with
edbc.jar,which support XA transaction.but when excute an ejb mothod,it is
always throw the Exeption:
javax.ejb.FinderException: Unexpected exception while enlisting XAConnection
jav
a.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in an
inproper co
ntext start() failed on resource 'flexstudio.xa.ds': XAER_PROTO : Routine
was in
voked in an inproper context
javax.transaction.xa.XAException
at ca.edbc.jdbcx.EdbcXAConnect.start(EdbcXAConnect.java:349)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:629)
at
weblogic.transaction.internal.XAServerResourceInfo.start(XAServerReso
urceInfo.java:1140)
at
weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerRe
sourceInfo.java:1072)
at
weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerRes
ourceInfo.java:240)
at
weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:463)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1392)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
334)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
t(ExternalTransaction.java:53)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
Connection(ExternalTransaction.java:90)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
eryForList(GeneralStatement.java:123)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:613)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:587)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
ssionImpl.java:120)
at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
entImpl.java:78)
at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
at
com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
rkflowPackageInfoDAO.java:892)
at
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
dByName(WorkflowPackageBean.java:373)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
indByName(wfpackage_tzapts_Impl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
(BeanManagedPersistenceManager.java:152)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1784)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1756)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1397)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
334)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
t(ExternalTransaction.java:53)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
Connection(ExternalTransaction.java:90)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
eryForList(GeneralStatement.java:123)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:613)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:587)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
ssionImpl.java:120)
at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
entImpl.java:78)
at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
at
com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
rkflowPackageInfoDAO.java:892)
at
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
dByName(WorkflowPackageBean.java:373)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
indByName(wfpackage_tzapts_Impl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
(BeanManagedPersistenceManager.java:152)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1784)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1756)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
at
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
dByName(WorkflowPackageBean.java:383)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
indByName(wfpackage_tzapts_Impl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
(BeanManagedPersistenceManager.java:152)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1784)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1756)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
javax.ejb.FinderException: Unexpected exception while enlisting XAConnection
jav
a.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in an
inproper co
ntext start() failed on resource 'flexstudio.xa.ds': XAER_PROTO : Routine
was in
voked in an inproper context
javax.transaction.xa.XAException
at ca.edbc.jdbcx.EdbcXAConnect.start(EdbcXAConnect.java:349)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:629)
at
weblogic.transaction.internal.XAServerResourceInfo.start(XAServerReso
urceInfo.java:1140)
at
weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerRe
sourceInfo.java:1072)
at
weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerRes
ourceInfo.java:240)
at
weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:463)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1392)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
334)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
t(ExternalTransaction.java:53)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
Connection(ExternalTransaction.java:90)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
eryForList(GeneralStatement.java:123)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:613)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:587)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
ssionImpl.java:120)
at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
entImpl.java:78)
at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
at
com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
rkflowPackageInfoDAO.java:892)
at
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
dByName(WorkflowPackageBean.java:373)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
indByName(wfpackage_tzapts_Impl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
(BeanManagedPersistenceManager.java:152)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1784)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1756)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1397)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
334)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
t(ExternalTransaction.java:53)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
Connection(ExternalTransaction.java:90)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
eryForList(GeneralStatement.java:123)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:613)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:587)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
ssionImpl.java:120)
at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
entImpl.java:78)
at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
at
com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
rkflowPackageInfoDAO.java:892)
at
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
dByName(WorkflowPackageBean.java:373)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
indByName(wfpackage_tzapts_Impl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
(BeanManagedPersistenceManager.java:152)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1784)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1756)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
at
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
dByName(WorkflowPackageBean.java:383)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
indByName(wfpackage_tzapts_Impl.java:335)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
(BeanManagedPersistenceManager.java:152)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1784)
at
weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
anager.java:1756)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
i hope to get more helpful information,so i turn on weblogic.debug
switch with
"-Dweblogic.Debug=weblogic.JDBCConn,weblogic.JDBCSQL,weblogic.JTA2PC,weblogic.JTAXA,weblogic.JTAJDBC"
the below is debug output, i dont know wht always inproper transaction
state.
<Mar 14, 2006 11:11:58 AM GMT+08:00> <Info> <WebLogicServer>
<BEA-000213> <Addin
g address: 129.184.13.228 to licensed client list>
<Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<java.lang.Excep
tion: TRACE: [ExecuteThread: '24' for queue:
'weblogic.kernel.Default']ServerTM[
ServerCoordinatorDescriptor=(CoordinatorURL=weblogic81sp4_test+129.184.13.228:80
01+Intetest+t3+,
XAResources={},NonXAResources={})].setTransactionTimeout(120).
at
weblogic.transaction.internal.TraceHelper.traceStack(TraceHelper.java
:28)
at
weblogic.transaction.internal.TransactionManagerImpl.setTransactionTi
meout(TransactionManagerImpl.java:415)
at
weblogic.ejb20.internal.MethodDescriptor.startTransaction(MethodDescr
iptor.java:252)
at
weblogic.ejb20.internal.MethodDescriptor.getInvokeTx(MethodDescriptor
.java:377)
at
weblogic.ejb20.internal.EJBRuntimeUtils.createWrapWithTxs(EJBRuntimeU
tils.java:324)
at
weblogic.ejb20.internal.BaseEJBHome.preHomeInvoke(BaseEJBHome.java:35
8)
at
weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:631)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
findByName(wfpackage_tzapts_HomeImpl.java:190)
at
com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
<Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<Xid=BEA1-0002D2
21FAAB(2036170959),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,secon
ds since begin=0,seconds left=-1142305918) wakeUpAfterSeconds(120)>
<Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB: null: init(t/o=120,ttl=120)>
<Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB: null: setProperty: weblogic.transaction.name=[EJB
com.bull.flexflow.workflow
.workflowpackage.WorkflowPackageBean.findByName(java.lang.String)]>
<Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB: null: setName: [EJB
com.bull.flexflow.workflow.workflowpackage.WorkflowPacka
geBean.findByName(java.lang.String)]>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
com.b
ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
tring)]- -pool:flexstudio.xa.ds- > DataSource.getConnection>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
com.b
ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
tring)]- -pool:flexstudio.xa.ds- >
DataSource.refreshXAConnAndEnlist(inXAConn:nu
ll, conn:null, needsTxCtx:true)>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
com.b
ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
tring)]- -pool:flexstudio.xa.ds- > DataSource.getXAConnFromPool
waitSecs:117>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
com.b
ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
tring)]- -pool:flexstudio.xa.ds- <
DataSource.getXAConnFromPool:[EDBC-XAConnecti
on[5], owner=null, rmConn=EDBC-XAVirtConn[6]], Num XAConn:1>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB: [EJB
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByNa
me(java.lang.String)]: setLocalProperty:
weblogic.jdbc.jta.flexstudio.xa.ds=webl
ogic.jdbc.wrapper.TxInfo@1aaa2594>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
com.b
ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
tring)]- -pool:flexstudio.xa.ds- XA conn assoc with
tx:[EDBC-XAConnection[5], ow
ner=flexstudio.xa.ds, rmConn=EDBC-XAVirtConn[6]]>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB: [EJB
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByNa
me(java.lang.String)]: enlistResource:flexstudio.xa.ds>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<ResourceDescrip
tor[flexstudio.xa.ds]: getOrCreate gets rd: name = flexstudio.xa.ds
resourceType = 2
registered = true
scUrls = weblogic81sp4_test+129.184.13.228:8001+Intetest+t3+
xar = flexstudio.xa.ds
healthy = true
lastAliveTimeMillis = -1
numActiveRequests = 0
>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB: [EJB
com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByNa
me(java.lang.String)]: setCoordinatorURL
=>ServerCoordinatorDescriptor=(Coordina
torURL=weblogic81sp4_test+129.184.13.228:8001+Intetest+t3+,
XAResources={},NonXA
Resources={})>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB6F1049B9: enlist flexstudio.xa.ds, beforeState=new>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<BEA1-0002D221FA
AB6F1049B9: XA.start(rm=flexstudio.xa.ds, xar=flexstudio.xa.ds,
flags=TMNOFLAGS)
>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<ResourceDescrip
tor[flexstudio.xa.ds]: Resource 'flexstudio.xa.ds'
setTransactionTimeout(120) no
t called. callSetTransactionTimeout=false,
supportsSetTransactionTimeout=true>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
<ResourceDescrip
tor[flexstudio.xa.ds]: startResourceUse, Number of active requests:1, last
alive
time:0 ms ago.>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
< -tx:null- -poo
l:flexstudio.xa.ds- > XAConnection.getXAResource,
xaConn:EDBC-XAConnection[5]>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
< -tx:null- -poo
l:flexstudio.xa.ds- < XAConnection.getXAResource,
xaRes:EDBC-XAConnection[5]>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
< -tx:null- -poo
l:flexstudio.xa.ds- >
XAResource.start(Xid:bea1-0002d221faab6f1049b9-666c6578737
47564696f2e78612e6473, flags:TMNOFLAGS), xaRes:EDBC-XAConnection[5]>
<Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
< -tx:null- -poo
l:flexstudio.xa.ds- < XA error: XAER_PROTO : Routine was invoked in an
inproper
context
javax.transaction.xa.XAException
at ca.edbc.jdbcx.EdbcXAConnect.start(EdbcXAConnect.java:349)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:629)
at
weblogic.transaction.internal.XAServerResourceInfo.start(XAServerReso
urceInfo.java:1140)
at
weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerRe
sourceInfo.java:1072)
at
weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerRes
ourceInfo.java:240)
at
weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:463)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1392)
at
weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
334)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:305)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
t(ExternalTransaction.java:53)
at
com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
Connection(ExternalTransaction.java:90)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
eryForList(GeneralStatement.java:123)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:613)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
MapExecutorDelegate.java:587)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
ssionImpl.java:120)
at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
entImpl.java:78)
at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
at
com.bullalbert wrote:
> My application deployed on weblogic 8.1 sp4 and ingres2.6,The ejb is BMP and
> transaction type is "required",so i configured XA connection pool with
> edbc.jar,which support XA transaction.but when excute an ejb mothod,it is
> always throw the Exeption:
Hi. In order to debug this we would need you to turn on
the JTAXA, JTA2PC, JTAJDBC debug flags and in the
Connection Pool under JDBCCOnnectionPoolMBean JDBCXADebugLevel="20".
Then reproduce and provide server logs for all servers involved in
the global transaction and the config.xml.
This is complex enough that you should open an official support case
to get help setting that up.
Joe
>
>
> ####################################################################
> javax.ejb.FinderException: Unexpected exception while enlisting XAConnection
> jav
> a.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in an
> inproper co
> ntext start() failed on resource 'flexstudio.xa.ds': XAER_PROTO : Routine
> was in
> voked in an inproper context
> javax.transaction.xa.XAException
> at ca.edbc.jdbcx.EdbcXAConnect.start(EdbcXAConnect.java:349)
> at weblogic.jdbc.jta.DataSource.start(DataSource.java:629)
> at
> weblogic.transaction.internal.XAServerResourceInfo.start(XAServerReso
> urceInfo.java:1140)
> at
> weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerRe
> sourceInfo.java:1072)
> at
> weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerRes
> ourceInfo.java:240)
> at
> weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
> rverTransactionImpl.java:463)
> at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1392)
> at
> weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
> 334)
> at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
> at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
> at
> weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
> ce.java:305)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
> t(ExternalTransaction.java:53)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
> Connection(ExternalTransaction.java:90)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
> eryForList(GeneralStatement.java:123)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:613)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:587)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
> ssionImpl.java:120)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
> entImpl.java:78)
> at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
> at
> com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
> rkflowPackageInfoDAO.java:892)
> at
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
> dByName(WorkflowPackageBean.java:373)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
> indByName(wfpackage_tzapts_Impl.java:335)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
> (BeanManagedPersistenceManager.java:152)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1784)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1756)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
>
> at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1397)
> at
> weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
> 334)
> at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
> at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
> at
> weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
> ce.java:305)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
> t(ExternalTransaction.java:53)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
> Connection(ExternalTransaction.java:90)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
> eryForList(GeneralStatement.java:123)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:613)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:587)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
> ssionImpl.java:120)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
> entImpl.java:78)
> at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
> at
> com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
> rkflowPackageInfoDAO.java:892)
> at
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
> dByName(WorkflowPackageBean.java:373)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
> indByName(wfpackage_tzapts_Impl.java:335)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
> (BeanManagedPersistenceManager.java:152)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1784)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1756)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
>
> at
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
> dByName(WorkflowPackageBean.java:383)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
> indByName(wfpackage_tzapts_Impl.java:335)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
> (BeanManagedPersistenceManager.java:152)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1784)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1756)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> javax.ejb.FinderException: Unexpected exception while enlisting XAConnection
> jav
> a.sql.SQLException: XA error: XAER_PROTO : Routine was invoked in an
> inproper co
> ntext start() failed on resource 'flexstudio.xa.ds': XAER_PROTO : Routine
> was in
> voked in an inproper context
> javax.transaction.xa.XAException
> at ca.edbc.jdbcx.EdbcXAConnect.start(EdbcXAConnect.java:349)
> at weblogic.jdbc.jta.DataSource.start(DataSource.java:629)
> at
> weblogic.transaction.internal.XAServerResourceInfo.start(XAServerReso
> urceInfo.java:1140)
> at
> weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerRe
> sourceInfo.java:1072)
> at
> weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerRes
> ourceInfo.java:240)
> at
> weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
> rverTransactionImpl.java:463)
> at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1392)
> at
> weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
> 334)
> at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
> at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
> at
> weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
> ce.java:305)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
> t(ExternalTransaction.java:53)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
> Connection(ExternalTransaction.java:90)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
> eryForList(GeneralStatement.java:123)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:613)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:587)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
> ssionImpl.java:120)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
> entImpl.java:78)
> at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
> at
> com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
> rkflowPackageInfoDAO.java:892)
> at
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
> dByName(WorkflowPackageBean.java:373)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
> indByName(wfpackage_tzapts_Impl.java:335)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
> (BeanManagedPersistenceManager.java:152)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1784)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1756)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
>
> at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1397)
> at
> weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
> 334)
> at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
> at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
> at
> weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
> ce.java:305)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.ini
> t(ExternalTransaction.java:53)
> at
> com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.get
> Connection(ExternalTransaction.java:90)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQu
> eryForList(GeneralStatement.java:123)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:613)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(Sql
> MapExecutorDelegate.java:587)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSe
> ssionImpl.java:120)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapCli
> entImpl.java:78)
> at com.bull.flexflow.store.dao.DAO.getList(DAO.java:38)
> at
> com.bull.flexflow.store.dao.WorkflowPackageInfoDAO.findLikeTheName(Wo
> rkflowPackageInfoDAO.java:892)
> at
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
> dByName(WorkflowPackageBean.java:373)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
> indByName(wfpackage_tzapts_Impl.java:335)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
> (BeanManagedPersistenceManager.java:152)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1784)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1756)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
>
> at
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.ejbFin
> dByName(WorkflowPackageBean.java:383)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_Impl.ejbF
> indByName(wfpackage_tzapts_Impl.java:335)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> weblogic.ejb20.manager.BeanManagedPersistenceManager.collectionFinder
> (BeanManagedPersistenceManager.java:152)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1784)
> at
> weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityM
> anager.java:1756)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:648)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
>
> ##########################################################################################
> i hope to get more helpful information,so i turn on weblogic.debug
> switch with
> "-Dweblogic.Debug=weblogic.JDBCConn,weblogic.JDBCSQL,weblogic.JTA2PC,weblogic.JTAXA,weblogic.JTAJDBC"
> the below is debug output, i dont know wht always inproper transaction
> state.
>
>
> ##########################################################################################
>
>
> <Mar 14, 2006 11:11:58 AM GMT+08:00> <Info> <WebLogicServer>
> <BEA-000213> <Addin
> g address: 129.184.13.228 to licensed client list>
> <Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <java.lang.Excep
> tion: TRACE: [ExecuteThread: '24' for queue:
> 'weblogic.kernel.Default']ServerTM[
> ServerCoordinatorDescriptor=(CoordinatorURL=weblogic81sp4_test+129.184.13.228:80
> 01+Intetest+t3+,
> XAResources={},NonXAResources={})].setTransactionTimeout(120).
> at
> weblogic.transaction.internal.TraceHelper.traceStack(TraceHelper.java
> :28)
> at
> weblogic.transaction.internal.TransactionManagerImpl.setTransactionTi
> meout(TransactionManagerImpl.java:415)
> at
> weblogic.ejb20.internal.MethodDescriptor.startTransaction(MethodDescr
> iptor.java:252)
> at
> weblogic.ejb20.internal.MethodDescriptor.getInvokeTx(MethodDescriptor
> .java:377)
> at
> weblogic.ejb20.internal.EJBRuntimeUtils.createWrapWithTxs(EJBRuntimeU
> tils.java:324)
> at
> weblogic.ejb20.internal.BaseEJBHome.preHomeInvoke(BaseEJBHome.java:35
> 8)
> at
> weblogic.ejb20.internal.EntityEJBHome.finder(EntityEJBHome.java:631)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl.
> findByName(wfpackage_tzapts_HomeImpl.java:190)
> at
> com.bull.flexflow.workflow.workflowpackage.wfpackage_tzapts_HomeImpl_
> WLSkel.invoke(Unknown Source)
> at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
> ef.java:108)
> at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> dSubject.java:363)
> at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
> 147)
> at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> a:415)
> at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> .java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>
> <Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <Xid=BEA1-0002D2
> 21FAAB(2036170959),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,secon
> ds since begin=0,seconds left=-1142305918) wakeUpAfterSeconds(120)>
> <Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB: null: init(t/o=120,ttl=120)>
> <Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB: null: setProperty: weblogic.transaction.name=[EJB
> com.bull.flexflow.workflow
> .workflowpackage.WorkflowPackageBean.findByName(java.lang.String)]>
> <Mar 14, 2006 11:11:58 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB: null: setName: [EJB
> com.bull.flexflow.workflow.workflowpackage.WorkflowPacka
> geBean.findByName(java.lang.String)]>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
> com.b
> ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
> tring)]- -pool:flexstudio.xa.ds- > DataSource.getConnection>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
> com.b
> ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
> tring)]- -pool:flexstudio.xa.ds- >
> DataSource.refreshXAConnAndEnlist(inXAConn:nu
> ll, conn:null, needsTxCtx:true)>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
> com.b
> ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
> tring)]- -pool:flexstudio.xa.ds- > DataSource.getXAConnFromPool
> waitSecs:117>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
> com.b
> ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
> tring)]- -pool:flexstudio.xa.ds- <
> DataSource.getXAConnFromPool:[EDBC-XAConnecti
> on[5], owner=null, rmConn=EDBC-XAVirtConn[6]], Num XAConn:1>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB: [EJB
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByNa
> me(java.lang.String)]: setLocalProperty:
> weblogic.jdbc.jta.flexstudio.xa.ds=webl
> ogic.jdbc.wrapper.TxInfo@1aaa2594>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000> < -tx:[EJB
> com.b
> ull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByName(java.lang.S
> tring)]- -pool:flexstudio.xa.ds- XA conn assoc with
> tx:[EDBC-XAConnection[5], ow
> ner=flexstudio.xa.ds, rmConn=EDBC-XAVirtConn[6]]>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB: [EJB
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByNa
> me(java.lang.String)]: enlistResource:flexstudio.xa.ds>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <ResourceDescrip
> tor[flexstudio.xa.ds]: getOrCreate gets rd: name = flexstudio.xa.ds
> resourceType = 2
> registered = true
> scUrls = weblogic81sp4_test+129.184.13.228:8001+Intetest+t3+
> xar = flexstudio.xa.ds
> healthy = true
> lastAliveTimeMillis = -1
> numActiveRequests = 0
>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB: [EJB
> com.bull.flexflow.workflow.workflowpackage.WorkflowPackageBean.findByNa
> me(java.lang.String)]: setCoordinatorURL
> =>ServerCoordinatorDescriptor=(Coordina
> torURL=weblogic81sp4_test+129.184.13.228:8001+Intetest+t3+,
> XAResources={},NonXA
> Resources={})>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB6F1049B9: enlist flexstudio.xa.ds, beforeState=new>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <BEA1-0002D221FA
> AB6F1049B9: XA.start(rm=flexstudio.xa.ds, xar=flexstudio.xa.ds,
> flags=TMNOFLAGS)
>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <ResourceDescrip
> tor[flexstudio.xa.ds]: Resource 'flexstudio.xa.ds'
> setTransactionTimeout(120) no
> t called. callSetTransactionTimeout=false,
> supportsSetTransactionTimeout=true>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JTA> <BEA-110027>
> <ResourceDescrip
> tor[flexstudio.xa.ds]: startResourceUse, Number of active requests:1, last
> alive
> time:0 ms ago.>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
> < -tx:null- -poo
> l:flexstudio.xa.ds- > XAConnection.getXAResource,
> xaConn:EDBC-XAConnection[5]>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
> < -tx:null- -poo
> l:flexstudio.xa.ds- < XAConnection.getXAResource,
> xaRes:EDBC-XAConnection[5]>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
> < -tx:null- -poo
> l:flexstudio.xa.ds- >
> XAResource.start(Xid:bea1-0002d221faab6f1049b9-666c6578737
> 47564696f2e78612e6473, flags:TMNOFLAGS), xaRes:EDBC-XAConnection[5]>
> <Mar 14, 2006 11:12:01 AM GMT+08:00> <Debug> <JDBC XA> <000000>
> < -tx:null- -poo
> l:flexstudio.xa.ds- < XA error: XAER_PROTO : Routine was invoked in an
> inproper
> context
> javax.transaction.xa.XAException
> at ca.edbc.jdbcx.EdbcXAConnect.start(EdbcXAConnect.java:349)
> at web -
How do handle a rollbackException and other transaction exceptions
Hello,
I'm trying to do commit and rollbacks for my stateless session bean and I'm having a problem handling exceptions like javax.transaction.RollbackException. This causes me to be unable to complile my code. When I do put a catch in for the rollbackException it says it can't be reached. Below is the code:
if (madeConnection != true)
returnCode = 8;
else
UserTransaction ut = ejbContext.getUserTransaction();
ut.begin();
try{
statement = c.prepareCall("{call NBA907(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
java.lang.Integer dept = Integer.valueOf(department);
short dpt = dept.shortValue();
TrxNum = (short) recordId;
//**** Input parameters ****
statement.setString(1, AAA.toUpperCase());
statement.setString(2, BBB);
statement.setShort(3, CCC);
statement.setString(4, DDD.toUpperCase());
statement.setString(5, EEE);
statement.setString(6, FFF);
statement.setString(7, GGG);
statement.setString(8, HHH);
statement.setString(9, III);
statement.setString(10, JJJ);
statement.setString(11, KKK);
statement.setString(12, LLL);
statement.setShort(13, MMM);
statement.setString(14, NNN);
statement.setString(15, OOO);
//**** Output parameters ****
statement.registerOutParameter(16, Types.CHAR);
statement.registerOutParameter(17, Types.SMALLINT);
statement.registerOutParameter(18, Types.CHAR);
rs = statement.executeQuery();
sProcedureCode = statement.getString(16);
sqlCode = statement.getShort(17);
returnMessage = statement.getString(18);
if (!(sProcedureCode.equals("01")))
ut.setRollbackOnly();
System.out.println ("***************************************");
System.out.println("Method - updateRecord");
system.out.println("SQL Code - " + sqlCode);
System.out.println("SP Code - " + sProcedureCode);
System.out.println("Message - " + returnMessage);
System.out.println("*****************************************");
if (sProcedureCode.equals("99"))
returnCode = sqlCode;
else
returnCode = Integer.parseInt(sProcedureCode);
catch(SystemException e) {
System.out.println("SQLException caught: " + e.getMessage());
catch(SQLException e) {
System.out.println("SQLException caught: " + e.getMessage());
finally {
try {
ut.commit();
statement.close();
c.close();
catch (SQLException ignored) {}
Any ideas?
TIA,
J.ClanceyI got past the exception errors but the line
UserTransaction ut = ejbContext.getUserTransaction();
is returning a null. Below is the changes I made to get past that error.
public int updateRecord(String User, String Password, int recordId, String department, String description, String classCatg, String coordinate, String startMonth, String startYear, String endMonth, String endYear, String POSeason, String merchType, String Chain)
int returnCode = 0;
String sProcedureCode = null;
String returnMessage = null;
short sqlCode = 0;
String collectionId = "BA_ANBCS";
CallableStatement statement= null;
ResultSet rs = null;
String tranType = "C";
String tranNumber = null;
String storedProCode = null;
short TrxNum = 0;
boolean madeConnection = true;
Context ctx = null;
DataSource ds = null;
Connection c = null;
java.util.Properties parms = new java.util.Properties();
parms.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
try {
ctx = new InitialContext(parms);
catch (Exception e1)
System.out.println("Unable to get initial context");
System.out.println(e1);
try
ds = (DataSource)ctx.lookup("jdbc/DB2T");
c = ds.getConnection(User, Password);
catch (SQLException e) {
System.out.println("SQLException caught: " + e.getMessage());
madeConnection = false;
catch (Exception e) {
e.printStackTrace();
madeConnection = false;
if (madeConnection != true)
returnCode = 8;
else
System.out.println("Made Else");
UserTransaction ut = ejbContext.getUserTransaction();
try{
System.out.println("Before Begin");
ut.begin();
System.out.println("After Begin");
statement = c.prepareCall("{call NBA907(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
java.lang.Integer dept = Integer.valueOf(department);
short dpt = dept.shortValue();
TrxNum = (short) recordId;
//**** Input parameters ****
statement.setString(1, Chain.toUpperCase());
statement.setString(2, collectionId);
statement.setShort(3, dpt);
statement.setString(4, classCatg.toUpperCase());
statement.setString(5, merchType);
statement.setString(6, coordinate);
statement.setString(7, POSeason);
statement.setString(8, startMonth);
statement.setString(9, startYear);
statement.setString(10, endMonth);
statement.setString(11, endYear);
statement.setString(12, description);
statement.setShort(13, TrxNum);
statement.setString(14, tranType);
statement.setString(15, User);
//**** Output parameters ****
statement.registerOutParameter(16, Types.CHAR);
statement.registerOutParameter(17, Types.SMALLINT);
statement.registerOutParameter(18, Types.CHAR);
rs = statement.executeQuery();
sProcedureCode = statement.getString(16);
sqlCode = statement.getShort(17);
returnMessage = statement.getString(18);
System.out.println("Before SP Check");
if (!(sProcedureCode.equals("01")))
//c.rollback();
ejbContext.setRollbackOnly();
System.out.println("***********************************************");
System.out.println("Method - updateRecord");
System.out.println("Stored Procedure - NBA 907");
System.out.println("Record Number - " + TrxNum);
System.out.println("Department - " + dpt);
System.out.println("Class Category - " + classCatg);
System.out.println("Merch Type - " + merchType);
System.out.println("coordinate - " + coordinate);
System.out.println("POSeason - " + POSeason);
System.out.println("Start Month - " + startMonth);
System.out.println("Start Year - " + startYear);
System.out.println("End Month - " + endMonth);
System.out.println("End Year - " + endYear);
System.out.println("Description - " + description);
System.out.println("Chain - " + Chain);
System.out.println("User Id - " + User);
System.out.println("SQL Code - " + sqlCode);
System.out.println("SP Code - " + sProcedureCode);
System.out.println("Message - " + returnMessage);
System.out.println("***********************************************");
ut.commit();
if (sProcedureCode.equals("99"))
returnCode = sqlCode;
else
returnCode = Integer.parseInt(sProcedureCode);
catch (SystemException sysex) {
throw new EJBException
("Rollback failed: " + sysex.getMessage());
catch (RollbackException sysex) {
throw new EJBException
("Rollback failed: " + sysex.getMessage());
catch (NotSupportedException sysex) {
throw new EJBException
("Rollback failed: " + sysex.getMessage());
catch (HeuristicMixedException sysex) {
throw new EJBException
("Rollback failed: " + sysex.getMessage());
catch (HeuristicRollbackException sysex) {
throw new EJBException
("Rollback failed: " + sysex.getMessage());
catch(SQLException e) {
System.out.println("SQLException caught: " + e.getMessage());
try {
ut.setRollbackOnly();
catch (SystemException sysex) {
throw new EJBException
("Rollback failed: " + sysex.getMessage());
finally {
try {
statement.close();
c.close();
catch (SQLException ignored) {}
return returnCode;
I will also check page 396.
Thanks vickyk.
TIA for any help resolving this null problem.
J.Clancey -
IBM Informix XA JDBC Driver Exception
Hi All:
I download jdbc dirvers from ibm's web site,
and try to add a new connection pool for informix in WS 8.1.2.
Here is the problem:
When using non-xa driver, there is no problem with adding a new connection
pool,
but when using xa driver, I get the following exception:
java.sql.SQLException: com.informix.asf.IfxASFException: Attempt to connect
to d
atabase server (10.3.1.5) failed.
at com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:950)
at
com.informix.jdbcx.IfxXAReusableConnection.<init>(IfxXAReusableConnec
tion.java:54)
at
com.informix.jdbcx.IfxXAPooledConnection.<init>(IfxXAPooledConnection
.java:102)
at
com.informix.jdbcx.IfxXADataSource.getXAConnection(IfxXADataSource.ja
va:79)
at
weblogic.management.console.utils.JDBC.testConnection(JDBC.java:185)
at
weblogic.management.console.actions.mbean.JDBCConnectionPoolTestActio
n.prePerform(JDBCConnectionPoolTestAction.java:106)
at
weblogic.management.console.actions.mbean.DoMBeanWizardAction.perform
(DoMBeanWizardAction.java:215)
at
weblogic.management.console.actions.internal.ActionServlet.doAction(A
ctionServlet.java:173)
at
weblogic.management.console.actions.internal.ActionServlet.doPost(Act
ionServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6350)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.j
ava:
118)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Any idea??Kevin Chen wrote:
The following entry is copied from config.xml:
<JDBCConnectionPool DriverName="com.informix.jdbcx.IfxXADataSource"
Name="MyJDBC Connection Pool"
Password="{3DES}B+V0vnwIOznCvl7VO5C5OA=="
Properties="user=dbadmin;
url=jdbc:informix-sqli://10.1.1.11:1543/ifxDB:informixServer=erpdb;
portNumber=1543;
databaseName=ifxDB;
ifxIFXHOST=erpdb;
serverName=10.1.1.11"
URL="jdbc:informix-sqli://10.1.1.11:1543/ifxDB:informixServer=erpdb"
/>
Btw, I wanna use wls 8.1.2 db controller to access informix, so I dont have
any sample code from IBM.I don't understand that. Surely their driver has some documentation on how to
obtain a connection from their com.informix.jdbcx.IfxXADataSource.
What does the config look like for the non-xa connnection pool? (the one that works?)
At this point, we need IBM Informix help to diagnose whay the xa connection attempt
fails.
Joe
>
Thanks for any reply ^^
Kevin
"Joe Weinstein" wrote
Hi Kevin. How does IBM say you should connect to it's XADriver/DataSource?
If you will post one of their code examples, I will show you how to definethe
pool. Can you show me the JDBCConnectionPool entry in the config.xml file?
thanks
Joe
Kevin Chen wrote:
Hi All:
I download jdbc dirvers from ibm's web site,
and try to add a new connection pool for informix in WS 8.1.2.
Here is the problem:
When using non-xa driver, there is no problem with adding a new
connection
pool,
but when using xa driver, I get the following exception:
java.sql.SQLException: com.informix.asf.IfxASFException: Attempt toconnect
to d
atabase server (10.3.1.5) failed.
atcom.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:950)
at
com.informix.jdbcx.IfxXAReusableConnection.<init>(IfxXAReusableConnec
tion.java:54)
at
com.informix.jdbcx.IfxXAPooledConnection.<init>(IfxXAPooledConnection
.java:102)
at
com.informix.jdbcx.IfxXADataSource.getXAConnection(IfxXADataSource.ja
va:79)
at
weblogic.management.console.utils.JDBC.testConnection(JDBC.java:185)
at
weblogic.management.console.actions.mbean.JDBCConnectionPoolTestActio
n.prePerform(JDBCConnectionPoolTestAction.java:106)
at
weblogic.management.console.actions.mbean.DoMBeanWizardAction.perform
(DoMBeanWizardAction.java:215)
at
weblogic.management.console.actions.internal.ActionServlet.doAction(A
ctionServlet.java:173)
at
weblogic.management.console.actions.internal.ActionServlet.doPost(Act
ionServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6350)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
atweblogic.security.service.SecurityManager.runAs(SecurityManager.j
ava:
118)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Any idea??
Maybe you are looking for
-
Step-by-Step to wrap a vbs into an .exe
Here is a way to use Iexpress 2.0 to wrap your VBS scripts into an .exe. Iexpress 2.0 is native to Win XP and Win 7 and is quite useful when you have a VBS that is dependent on other files, like and install program or even an HTA. Once you have creat
-
Improving retrieval performance of essbase server in unix environment
HI, Our production environment is unix system. can any one suggest settings which impact the retrieval performance and how to do these settings in unix environment.
-
System Imaging Utility + Scripts to create a Netinstall
I need everyone's help on this one! We have an Xserve G5 server that is running Leopard Server 10.5.2. What we want to be able to do is Netinstall Windows's script to image a drive on a dual boot Mac Pro, meaning partition the drive for Mac and Windo
-
Material Master add Accounting tab
Hi: I have a problem with material master, I hope you could help me. I have create a material in a plant as copy of a existing material/plant. The old data has no accounting tab, but in new data, I need it. Is it possible to add accounting tab in Mat
-
How does one start the RMI registry in VisualAge?
To start the RMI registry in a DOS session, one can type rmiregistry. How can I do this in VisualAge for Java?