Global transactions in OSB and EJB 2.1
Hi,
My team is working in a SOA service based on OSB 11g (11.1.1.5) using DB JCA Adapter and EJB 2.1 over WLS 10g(WLI environment). The logic of the service works in this way:
1. A table in a database (XE) is polled by the DB Adapter which starts the service (1 row = 1 message).
2. The message contains a collection of items to be inserted in another Oracle database.
Once a message/row is picked, and after some steps (logging, validation,etc), there is a for..each action which extracts each item of the collection and executes a service callout action to a business service.
3. This business service uses EJB protocol to call an EJB (2.1 + WLS Extensions). The EJB is deployed in another domain (WLS 10.3.0/10g and Oracle BEA drivers) and only executes an store procedure with the parameters based on the message and inserts these values in a table.
4. Once the for...each finishes, there is a call to another proxy service which marks the message/row as "processed" in the source table. This update is done via DB JCA also.
5. In case of an error, the error handler of the proxy service calls the proxy service mentioned above to mark the row as "Failed" (in fact there is a retry mechanism, but it's not important for now).
The service requires to work inside a global transaction. The main requirement is that the collection of items should be processed as "All or None", so basically we're using the options to manage the global transaction. However, the problem is that it's failing to rollback the whole insertion of items when an error is simulated. It only rolls back the last insertion/execution of SP.
Additionally, the proxy service that should mark the row as FAILED, never updates this one, and the tables stay locked until we modify one of the store procedure in order to avoid the simulated error and commit the transaction.
The EJB uses WLS extensions with the annotations to "transaction required". The proxy service has the option transaction required also. The database drivers are all XA and we're testing against Oracle11g XE (however, the EJB destiny will be Oracle 8i in production).
We have tried different alternatives, splitting the logic in different proxies (Proxy services for JCA, Proxy with For Each for EJB, etc), isolating the specific part with the EJB call, without success.
The security between domains is set as Global Trust.
Do you have any idea, example or suggestion about this problem? Is EJB really supported in Global Transactions and XA?
Thanks in advance.
where do you find the J2EE Connector 1.5 compliant
Resource Adapter?I wrote the compliant adapter myself. Hey Steve,
Were you able to find a solution for this problem. I am struggling with the same problem with the RI Beta implementation.
Sandeep
Similar Messages
-
Non transactional data source and ejb transaction
Inside an ejb method with trans-attribute = Required,
Do a bunch of things using a transactional data source and a bunch of things using
a non trasnactional data source.
Looks like the time spent doing the non-transactional data source related work
does not count for the transaction timeout defined for the ejb.
So, what happens here, the ejb transaction is suspended ( when I start using the
non transactional ds ) ?Hi,
"siddiqut" <[email protected]> wrote in message news:3fa7c79d$[email protected]..
Inside an ejb method with trans-attribute = Required,
Do a bunch of things using a transactional data source and a bunch of things using
a non trasnactional data source.
Looks like the time spent doing the non-transactional data source related work
does not count for the transaction timeout defined for the ejb.
So, what happens here, the ejb transaction is suspended ( when I start using the
non transactional ds ) ?The transaction is not suspended when you call something
which is not non-transactional.
Regards,
Slava Imeshev -
JDBC, JMS and EJB transactions - possible problem?
Hello,
I am using Oracle 9, Weblogic 8.1 SP 4, MyEclipse and
XDoclet.
In my current project I have the following piece of code
in one of my message driven beans (code cited as pseudocode
without unnecessary details):
* @ejb.bean name="MyMessageProcessor"
* display-name="Display name for a MyMessageProcessor"
* jndi-name="ejb/MyMessageProcessor"
* description="Bean MyMessageProcessor"
* destination-type="javax.jms.Queue"
* transaction-type="Container"
* acknowledge-mode="Auto-acknowledge"
* subscription-durability="Durable"
* generate="false"
* @ejb.transaction type="Required"
public class MyMessageProcessor implements MessageDrivenBean, MessageListener {
public void onMessage(Message msg) {
try {
//obtaining connections to two different databases via JNDi
java.sql.Connection connOne =
((DataSource)ctx.lookup("DataSourceOne")).getConnection();
java.sql.Connection connTwo =
((DataSource)ctx.lookup("DataSourceTwo")).getConnection();
// performing some UPDATEs and INSERTs on connOne and connTwo
// calling some other methods of this bean
//creating the reply JMS message and sending it to another JMS queue
Message msgTwo = this.createReplyMessage(msg)
this.queueSender.send(msgTwo);
//commiting everything
this.queueSession.commit();
} catch (Exception ex) {
try {
if (this.queueSession!=null) this.queueSession.rollback();
} catch (JMSException JMSEx) {};
this.context.setRollbackOnly();
Some days ago (before the final remarks from my client) there used to be only one DataSource configurated on the basis of the
connection pool with non-XA jdbc driver. Everything worked fine
including the transactions (if anything wrong happend not only wasn't the replymessage sent, but also no changes were written
to database and the incomming message was thrown back to the my bean's
queue).
When I deployed the second DataSource I was informed by an error message, that only one non-transactional resource may
participate in a global transaction. When I changed both datasources
to depend on underlying datasources with transatcional (XA) jdbc drivers, everything stopped working. Even if
EJB transaction was theoretically successfully rolledbacked, the changed were written to the database
and the JMS message wasn't resent to the JMS queue.
So here are my questions:
1. How to configure connection pools to work in such situations? What JDBC drivers should I choose?
Are there any global server configurations, which may influence this situation?
2. Which jdbc drivers should I choose so that the container was able to rollback the database transactions
(of course, if necessary)?
3. Are there any JMS Queue settings, which would disable the container to send message back to the
queue in case of setRollbackOnly()? How should be the Queue configurated?
As I am new to the topic and the deadline for the project seems to be too close I would be grateful
for any help.
This message was sent to EJB list and JDBC list.
Sincerely yours,
Marcin ZakidalskiHi,
I found these information extremely useful and helpful.
The seperate transaction for sending messages was, of course, unintentional. Thanks a lot.
Anyway, I still have some problems. I have made some changes to the
code cited in my previous mail. These changes included changing QueueSessions
to non-transactional. I also set the "Honorate global transactions" to true.
I am using XA JDBC driver. After setting "Enable local transactions" to false
(I did it, because I assume that JDBC transactions should be part on the global
EJB transaction) I got the following error:
java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA
driver supports performing SQL operations with no global transaction, explicitly allow it by setting
"SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local
transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To
complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
I have also inspected the calls of methods of bean inside of onMessage() method just to check, whether
the transactions are correctly initialized (using the weblogic.transaction.Transaction class).
My questions are as follows:
1. Any suggestions how to solve it? I have gone through the google answers on that problem and only
thing I managed to realize that JDBC must start its own transaction. Is there any way to prohibit it
from doing that? Can using setAutocommit(true/false) change the situation for better?
2. How to encourage the JDBC driver to be a part of EJB transaction?
3. As I have noticed each of ejb method has its own transactions (transactions have different
Xid). Each method of the bean has "required" transaction attribute. Shouldn't it work in such
way that if already started transaction exists it is used by the called method?
4. The DataSources are obtained in my application via JNDI and in the destination environment I will have slight
impact on the configuration of WebLogic. What is least problematic and most common WebLogic configuration which would
enable JDBC driver to participate in the EJB transaction? Is it the WebLogic configuration problem or can it be
solved programmically?
Currently my module works quite fine when "enable local transactions" for DataSources is set to true, but this way
I am loosing the ability to perform all actions in one transaction.
Any suggestions / hints are more than welcomed. This message was posted to jdbc list and ejb list.
Marcin -
How to configure global transaction wthin Oracle AS JMS and Oracle JMS
How to configure global transaction if I take a message from Oracle JMS(AQ) and send it to the Oracle JMS?
Which version of OC4J are you working on?
In OC4J 10.1.3.x, presume your OC4J JMS listens messages via MDB which uses a resource adapter as a message listener. The resouce adaper could be the generic JMS adapter deployed in OC4J as the default.
Resource adapter configuration to support MDBs is included in the standard ra.xml file, which lists the message listener types that the resource adapter supports.
The MDB developer or deployer configures the MDB in the ejb-jar.xml file, through a <message-driven> element.
In addition to above, configuration in the ejb-jar.xml file specifies whether an MDB uses transactions.
1) The <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Container, and the <trans-attribute> subelement of <container-transaction> (under the <assembly-descriptor> element) has a value of Required. In this circumstance, if there is an imported transaction, then message delivery and related work are performed within that transaction. If there is no imported transaction, OC4J creates a transaction, and message delivery and related work are performed within that transaction.
2) The <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Bean. In this circumstance, the MDB manages the transaction. If a transaction is imported, OC4J will suspend it before the message delivery method call to the MDB, in order to avoid conflict.
Message delivery is not transacted if the <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Container, but the <trans-attribute> element has a value of NotSupported. If there is an imported transaction in this circumstance, OC4J will suspend the transaction before the message delivery method call to the MDB.
Details could be found from OC4J Resource Adapter Guide. -
Global transaction problem with JDriver/Oracle and Oracle XA
We are haveing serious problems with Container Managed Transactions on Bea 6.1
and Oracle with EJB having set "Required" for all methods. We have tried in vain
to make it work with JDriver as well as OracleXAClient. Both fail at sometime
during the execution throwing "Not called in cotext of global transaction" (with
JDriver) OR "XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'OracleXAPool'" (this one with oracle
XA).
1.) Weblogic JDriver-XA:
DatabaseMetaData metaData = dataSource.getJDBCConnection.getMetaData();
ResultSet resultSet = metaData.getTables(null, null, tableName.toUpperCase(),
new String[]{"TABLE"});
This fails immmediately saying that it was not called from global transaction.
Interesting thing is that with OracleXA, it doesnt say this exception at this
check point.
2) Oracle XA
Okie, we couldnot read through the CLOB using it so for reading CLOB, we used
direct jdbc connection and then did away with it. Now all next sql queries were
executed against oracle pool using XA data source with OracleXAClient. But at
some point we again ran into the problem "XAER_PROTO : Routine was invoked in
an
inproper context start() failed on resource 'OracleXAPool'"
3 Oracle Thin Driver
everything always works with it.AFAIR this issue was resoved by moving tx opreations out from non-tx
methods.
Regards,
Slava
"Apurb Kumar" <[email protected]> wrote in message
news:[email protected]...
Jawad,
It would be nice if you can post the full stack trace error message. Didyou try moving to
the latest service pack (sp2) for WLS6.1.
Thanks,
Jawad Mahmood wrote:
Yes we had correctly set TXDataSource and let it to point to the right
connection
pool each time and it worked well with oracle thin driver but not whenwe switched
the pool to JDriver or OracleXAClient. Note that we could aways confirmthat pool
was successfully created alongwith we could retrieve connection from itvia TXDatSource,
things gave problem after we attempted to do what i had mentioned in mylast posting.
>>
Also with JBoss 2.4.4 things work pretty well. So couldnt be our codeproblem.
"Slava Imeshev" <[email protected]> wrote:
Jawad,
Did you set up TxDataSource?
Regards,
Slava Imeshev
"Jawad Mahmood" <[email protected]> wrote in message
news:[email protected]...
We are haveing serious problems with Container Managed Transactionson
Bea 6.1
and Oracle with EJB having set "Required" for all methods. We havetried
in vain
to make it work with JDriver as well as OracleXAClient. Both fail atsometime
during the execution throwing "Not called in cotext of global
transaction"
(with
JDriver) OR "XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'OracleXAPool'" (this onewith
oracle
XA).
1.) Weblogic JDriver-XA:
DatabaseMetaData _metaData =
_dataSource.getJDBCConnection.getMetaData();
ResultSet resultSet = metaData.getTables(null, null,tableName.toUpperCase(),
new String[]{"TABLE"});
This fails immmediately saying that it was not called from globaltransaction.
Interesting thing is that with OracleXA, it doesnt say this exceptionat
this
check point.
2) Oracle XA
Okie, we couldnot read through the CLOB using it so for reading CLOB,we
used
direct jdbc connection and then did away with it. Now all next sqlqueries
were
executed against oracle pool using XA data source with
OracleXAClient.
But
at
some point we again ran into the problem "XAER_PROTO : Routine wasinvoked
in
an
inproper context start() failed on resource 'OracleXAPool'"
3 Oracle Thin Driver
everything always works with it.
Apurb Kumar -
[OSB] Invoking OSB HTTP proxy as a part of a global transaction
Hi,
my question is, can a OSB HTTP proxy be executed in context of the global transaction?
I did two tests. One had the following scenario:
HTTP OSB proxy invokes JMS OSB proxy that invokes an "Insert to database" business services.
Both of the proxies were transactional - I have set "Transaction Required" and "Same Transaction For Response" to enabled on both of them. Also, I've set QoS to "Exactly Once" in the Routing Option.
The OSB JMS proxy's flow was executed as a part of the global transaction. I confirmed this with the following test:
If I throw an exception in the responce pipeline of the HTTP OSB proxy, the database transaction was rolled back. If I throw an exception in the responce pipeline of the HTTP OSB proxy, but have the "Transaction Required" and "Same Transaction For Response disabled, the database transaction is commited and than the exception is thrown.
The problem is, If I change the protocol of the second proxy to HTTP, then it doesn't seem to be executed in the context of the global transaction. If I throw an error in the response pipeline of the first OSB proxy(and "Transactions Are Required" and "Same Transaction For Response" are enabled for both proxy, and QoS is set to "Exactly once") the database transaction is not rolled back.
So, can a OSB HTTP proxy be executed in context of the global transaction?
Edited by: user13604541 on Dec 5, 2011 2:27 AMI have read on OSB doc that HTTP proxies do not support transactions... your tests seem to confirm this.
-
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 -
File Adapter Transactional in SOA and OSb
Hi All,
Is file adapter transactional in SOA and OSB. I have a requirement where a inbound file adapter polls for a file and it is consumed by a topic.If topic is down,how can I know that the same file will goes to topic when is up(how can I make it transactional).I want to do this both in SOA ans OSB.
Any help would be appreciated.
Thanks,
Kumar.Hi Kumar,
File Adapter itself is NON TRANSACTIONAL...
4.2.9 Nontransactional
The Oracle File Adapter picks up a file from an inbound directory, processes the file, and sends the processed file to an output directory. However, during this process if a failover occurs in the Oracle RAC back end or in an SOA managed server, then the file is processed twice because of the nontransactional nature of Oracle File Adapter. As a result, there can be duplicate files in the output directory.
http://docs.oracle.com/cd/E28280_01/integration.1111/e10231/adptr_file.htm#BABIEBJF
Cheers,
Vlad -
E-Business Suite apps_initialize and SOA Global Transactions
Hi,
We are developing an integration which sends data from one system to an Oracle E-Business Suite instance. In order to load the data into E-Business we need to call API’s which require the fnd_global.apps_initialize to be run.
We have a custom PL/SQL procedure which calls the API
e.g.
SOA -> custom PL/SQL -> E-Biz API
The custom PL/SQL runs apps_initialize.
The problem is when we call this from SOA via a XA connection we get the following error:
<P_ERR_MESSAGE>Error - Failed to delete the interface records after reading result! Message: Unknown Error ORA-20001: Oracle error -20001: ORA-20001: Oracle error -2074: ORA-02074: cannot SET NLS in a distributed transaction
has been detected in fnd_global.set_nls.set_parameter('NLS_LANGUAGE','AMERICAN').
has been detected in fnd_global.set_nls. ORA-06512: at "APPS.APP_EXCEPTION", line 72
ORA-06512: at "APPS.FND_GLOBAL", line 245
ORA-06512: at "APPS.FND_GLOBAL", line 1426
ORA-06512: at "APPS.FND_GLOBAL", line 1684
ORA-06512: at "APPS.FND_GLOBAL", line 2309
ORA-06512: at "APPS.FND_GLOBAL", line 2447
ORA-06512: at "APPS.FND_GLOBAL", line 2385
ORA-06512: at "APPS.ICSOA_UTIL_PKG", line 42
ORA-06512: at "APPS.ICAR_INT_PKG", line 521
</P_ERR_MESSAGE>
The main error here is cannot SET NLS in a distributed transaction.
This is caused by fnd_global.apps_initialize running SET NLS commands in order to do it’s thing.
We are looking to use the functionality of global transactions in order to achieve reliable messaging.
Does anyone have any experience with calling custom PL/SQL from SOA XA connections?
RobertRobert,
I have the similar use case. I am using a seeded Oracle API to insert data into the tables. I want the user information to be populated in the WHO columns (CREATED_BY, LAST_UPDATED_BY). I have mentioned the jca.apps.username and jca.apps.responsibility in the Invoke activity.
But unfortunately, the columns are not populated with the data. I am using the Oracle Apps Adapter to call the API.
Any inputs will be really helpful.
Thanks,
Sakthi. -
Mix Local and Global Transaction using XA Driver for Oracle
Hi all,
We are trying to use a XA Driver which can support both local as well as global
transaction. We tried using the Weblogic jDriver (XA Driver) type 2 that comes
along with Weblogic installation but unfortunaltely it cannot mix local as well
as global transaction.
Please let me know in case we have any XA JDBC driver for Oracle Database which
supports both local and global transaction together.
Thnx,
Kumar
Environment:
Weblogic 8.1 server
Database used : Oracle8iMost database drivers can support local and global transactions, with some
restrictions.
The JDBC spec has been changed to require compliant drivers to let the
application
know if they try to start a global transaction while a local transaction has
not been
completed (or vice verse). So most of the database drivers have been
changed to enforce
this restriction (breaking a lot of code that is out there).
"Kumar Raman" <[email protected]> wrote in message
news:4033457c$[email protected]..
>
Hi all,
We are trying to use a XA Driver which can support both local as well asglobal
transaction. We tried using the Weblogic jDriver (XA Driver) type 2 thatcomes
along with Weblogic installation but unfortunaltely it cannot mix local aswell
as global transaction.
Please let me know in case we have any XA JDBC driver for Oracle Databasewhich
supports both local and global transaction together.
Thnx,
Kumar
Environment:
Weblogic 8.1 server
Database used : Oracle8i -
Lookup-table and query-database do not use global transaction
Hi,
following problem:
DbAdapter inserts data into DB (i.e. an invoice).
Process takes part in global transaction.
After the insert there is a transformation which uses query-database and / or lookup-table.
It seems these XPath / XSLT functions are NOT taking part in the transaction and so we can not access information from the current db transaction.
I know workarounds like using DbAdapter for every query needed, etc. but this will cost a lot of time to change.
Is there any way to share transaction in both DbAdapter insert AND lookup-table and query-database?
Thanks, Best Regards,
MartinOne dba contacted me and made this statement:
Import & export utilities are not independent from characterset. All
user data in text related datatypes is exported using the character set
of the source database. If the character sets of the source and target
databases do not match a single conversion is performed.So far, that does not appear to be correct.
nls_characterset = AL32UTF8
nls_nchar_characterset = UTF8
Running on Windows.
EXP produces a backup in WE8MSWIN1252.
I found that if I change the setting of the NLS_LANG registry setting for my oracle home, the exp utility exports to that character set.
I changed the nls_lang
from AMERICAN_AMERICA.WE8MSWIN1252
to AMERICAN_AMERICA.UTF8
Unfortunately , the export isn't working right, although it did change character sets.
I get a warning on a possible character set conversion issue from AL32UTF8 to UTF8.
Plus, I get an EXP_00056 Oracle error 932 encountered
ORA-00932: inconsistent datatypes: expected BLOB, CLOB, get CHAR.
EXP-00000: export terminated unsuccessfully.
The schema I'm exporting with has exactly one procedure in it. Nothing else.
I guess getting a new error message is progress. :)
Still can't store multi-lingual characters in data tables. -
Managed datasources, Global transactions and XA
I have a question regarding the use of managed datasources and global transactions with oc4j 10.1.3.
From the documentation at:
http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14428/servdats.htm#CHDGJECC
I conclude that managed datasources by default support global transactions.
I have tested the following scenario:
A stateless session bean starts a container managed transaction. The bean updates data in two different databases through two different
managed datasources. The transaction is atomic.
What surprises me is that this works. I would think that I would need to configure the datasources to make use of XA.
Can someone explain why this works, wat is the difference between XA transactions and global transactions in this context?Further to give more info the error users are facing is
Could not connect to 'oracle.jdbc.xa.client.OracleXADataSource'. -
Hello Friends,
I have a doubt on TMS and Global Transaction.
Can tpbegin(), tpcommit(), tpabort() calls succeed when there is
no TMS server running for the Tuxedo Server group.
If yes, who manages the Global Transaction in this case?
Thanks in advance for ur time.
regards
MSWhen you compile a Tuxedo server, there is ALWAYS a TMS compiled in. If
you look at $TUXDIR/udataobj/RM, you will fine a line similar to:
NONE:tmnull_switch:
When you do not use the -r option, or use -r NONE, the tmnull_switch is
compiled into your server. This is a bunch of do nothing code to occupy
the function slots that otherwise would be used by a real XA
connection. For example, if you had put
-r Oracle_XA
(also see the RM file) the switch xaosw is compiled into your server.
So the first thing I want point out is that a server ALWAYS has a TMS
switch compiled, even if it is a NULL switch.
Second item. This null switch does have a null transaction management
server, called TMS ($TUXDIR/bin/) This is the entry for the TMSNAME
field of a Service GROUP.
You might have an entry such as
APPGRP GRPNO=10 TMSNAME=TMS
DBGRP GRPNO=11 TMSNAME=TMSORACLE OPENINFO="......"
Now, I can have XA transactions initiated by servers in APPGRP, and have
servers in DBGRP participate in the same global transaction. (but watch
your performance)
So, to answer Manoj's question, No, they don't succeed if there is no
TMS. However, all you need is to add TMSNAME=TMS and have compiled the
servers with -r NONE (better to be explicit than implicit) and they will
work.
Hope this clears up some things.
Manoj SASIDHARAN wrote:
Hello Friends,
I have a doubt on TMS and Global Transaction.
Can tpbegin(), tpcommit(), tpabort() calls succeed when there is
no TMS server running for the Tuxedo Server group.
If yes, who manages the Global Transaction in this case?
Thanks in advance for ur time.
regards
MS--
Brian Douglass
Transaction Processing Solutions, Inc.
8555 W. Sahara
Suite 112
Las Vegas, NV 89117
Voice: 702-254-5485
Fax: 702-254-9449
e-mail: [email protected] -
Error while comitting a transaction in oSB. The following is the error stack
Error while comitting a transaction in OSB. The following is the error stack
<Apr 20, 2015 12:00:15 AM MDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-1AE41F1CAE45F2B146FD(296700848),Status=Rolled back. [Reason=Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=2,seconds left=120,XAServerResourceInfo[WLStore_SOA_PRDKS_DOMAIN_FileStore_SOA_MS2]=(ServerResourceInfo[WLStore_SOA_PRDKS_DOMAIN_FileStore_SOA_MS2]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_1]=(ServerResourceInfo[WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_1]=(state=rolledback,assigned=OSB_MS1),xar=WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_11603460297,re-Registered = false),XAServerResourceInfo[weblogic.jdbc.jta.DataSource]=(ServerResourceInfo[weblogic.jdbc.jta.DataSource]=(state=ended,assigned=none),xar=CMSDS,re-Registered = false),SCInfo[OSB_PRDKS_DOMAIN+OSB_MS1]=(state=rolledback),SCInfo[SOA_PRDKS_DOMAIN+SOA_MS2]=(state=pre-prepared),properties=({}),local properties=({weblogic.jdbc.jta.CMSDS=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=OSB_MS1+soaprd-vip-osb-ms1.cos.is.keysight.com:8001+OSB_PRDKS_DOMAIN+t3+, XAResources={eis/wls/Queue, WEDB_EVEREST_OSB_PRDKS_DOMAIN, XREFDS_OSB_PRDKS_DOMAIN, eis/activemq/Queue, CustomSchemaDS_OSB_PRDKS_DOMAIN, MobileApps_CIA_DS1_OSB_PRDKS_DOMAIN, eis/tibjmsDirect/Queue, eis/jbossmq/Queue, eis/Apps/Apps, MobileApps_AOS_MDS_OSB_PRDKS_DOMAIN, MobileApps_AOS_DRDS_OSB_PRDKS_DOMAIN, WSATGatewayRM_OSB_MS1_OSB_PRDKS_DOMAIN, eis/webspheremq/Queue, eis/AQ/aqSample, SBLPROD_OSB_PRDKS_DOMAIN, wlsbjmsrpDataSource_OSB_PRDKS_DOMAIN, eis/aqjms/Queue, CMSDS_OSB_PRDKS_DOMAIN, WLStore_OSB_PRDKS_DOMAIN_WseeFileStore_auto_1, FAP_OSB_PRDKS_DOMAIN, eis/sunmq/Queue, eis/pramati/Queue, FMWAPPDS_OSB_PRDKS_DOMAIN, weblogic.jdbc.jta.DataSource, GSDC_OSB_PRDKS_DOMAIN, eis/tibjms/Topic, eis/fioranomq/Topic, WLStore_OSB_PRDKS_DOMAIN_FileStore_MS1, PresidioOracleAppsDS_OSB_PRDKS_DOMAIN, GSDCDS_OSB_PRDKS_DOMAIN, eis/aqjms/Topic, CustOutDS_OSB_PRDKS_DOMAIN, OFMW/Logging/BAM, MobileAppsDS_OSB_PRDKS_DOMAIN, FIDDS_OSB_PRDKS_DOMAIN, WLStore_OSB_PRDKS_DOMAIN__WLS_OSB_MS1, HRMSDS_OSB_PRDKS_DOMAIN, WEDB_OSB_PRDKS_DOMAIN, OracleAppsDS_OSB_PRDKS_DOMAIN, eis/wls/Topic, eis/tibjms/Queue, eis/tibjmsDirect/Topic, IntrastatDS_OSB_PRDKS_DOMAIN, MobileApps_AOS_COSDS_OSB_PRDKS_DOMAIN, MobileApps_CIA_DS2_OSB_PRDKS_DOMAIN, EVEREST_WEDB_OSB_PRDKS_DOMAIN, WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_1, Everest_OSB_PRDKS_DOMAIN},NonXAResources={})],CoordinatorURL=SOA_MS2+soaprd-vip-soa-ms2.cos.is.keysight.com:8002+SOA_PRDKS_DOMAIN+t3+): javax.transaction.SystemException: Lost connection to server while commit was in progress, ignoring because initiating server is not coordinating server. Remote Exception received=weblogic.rjvm.PeerGoneException: ; nested exception is:
java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: oracle.jdbc.xa.OracleXAException; local class incompatible: stream classdesc serialVersionUID = -2542408691177300269, local class serialVersionUID = -4551795881821760665
at weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:376)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:224)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:552)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:423)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:325)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)Hi,
Have you tried Cancelling the release before adding the version?
Select the active version of the IDOC Segment and cancel its release first. Only then you will be able to add a version.
Please let me know if it worked!
Vijay -
Transactions, Persistence Contexts and Entity Managers... Oh My!
Hi
I am just getting into J2EE and EJB3. I have no prior experience with EJB2, we avoided it with our own POJO data access framework. With the advent of EJB3 we would like to use it in a new application.
I am reading the book "Pro EJB 3" by Ketih and Schincariol and am having trouble wrapping my head around then Entity Manager chapter. I don't think it's any fault of the authors, but somehow it's just not coming together in my head. Perhaps it's because I have no real prior EJB experience.
Can anyone point me to a resource that gives an overview of the relationships between Transactions, Persistence Contexts and Entity Managers? Or perhaps I just have to keep mulling it over until it all comes together...?
Thanks in advance!Hi Shelli,
I haven't read that book but I don't know of a good writeup of the tx topic specifically outside
of the spec itself. There are certainly a lot of combinations, between container-managed
vs. bean-managed EntityManagers, and JTA vs. resource-local. However, the
common usage case within Java EE -- container-managed and JTA -- is very simple.
In this case, the container automatically associates the persistence context with the
active global transaction. If you make a call to another Java EE component within the
same transaction and that component accesses a container-managed EntityManager
for the same persistence unit, the persistence context is automatically propagated so
that both components "see" the same persistence context.
--ken
Maybe you are looking for
-
I can no longer connect to the internet with iPod touch
My ipod touch just stopped connecting to internet at home and elsewhere. Because it won't connect, I am unable to retrieve the serial number from the settings, which is what Apple support requires before they will help me. The other problem I have is
-
Time Machine / Time Capsule Error: Backup disk image could not be mounted
So I'm trying to back up to time machine, which used to be working fine, but I have this problem happening on two computers now (which probably means the error is in my Time Capsule.) The Time Capsule shows up on my "shared" list in my finder windows
-
Files Will Not Open in Contribute
This topic has been discussed breifly but not with my specific combinations of software so if anyone has had, fixed or knows this issue is a dead end I would appreciate your input. Our office uses Contribute 3 and is in the process of converting ever
-
Email Safari link, link appears below signature in Mail?
Since updating to Yosemite, I'm finding that when I email a link from Safari (Shift-Cmd-I), the URL appears in the email that is created below the signature, and I can't find a way to change that behavior?
-
How can I replace a color in a finished PDF file?
I'm on Mac 10.9.2 Mavericks and I want to print a PDF file made by someone else, composed of Powerpoint slides. The problem is, all pages have a standard layout where there are giant cyan lines on the bottom, without any text on them other than page