TMS and Global Transactions
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
When 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]
Similar Messages
-
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 -
First of all, I do apologize but I can't find a JCA topic, so I'm positng my question here
In my application I want to use XA transaction across the resource adapter. I read an article on the Sun forum (Connector-interest archives section) about an association between XAResource and ManagedConnection instances. Anyway, let's say for Oracle JDBC driver you already have OracleXAConnection which will give you a variable of XAResource, the similar approach is used in the JMS (XAQueueConnection, XATopicConnection). My question is what is the strategy is used for the generic resource adapter (not nessessarily JDBC-specific) to implement XAConnection in other words from my client code I want to be able to do something like this:
ConnectionFactory ccf = (ConnectionFactory)ctx.lookup("eis/mysampleRA");
XAConnection xaconn = ccf.getXAConnection();
XAResource xaRes = xaconn.getXAResource();
Connection conn = xaconn.getConnection();Hi,
You would have to go through an instance of ManagedConnection.
These instances are internal in the pooling of the appserver, but you can get
a new instance from the adapter by calling createManagedConnection.
Best,
Guy
http://www.atomikos.com -- Insure your data with TransactionsJTA -
Multi data source and global transactions
hi
i am working on JDBC multidata source connectivity.... to resolve one error of "lock in doubt held "
was searching through oracle sites got some recommendation as
**Disable server side load balancing for each of the pools. This can be done by setting the INSTANCE_NAME attribute in your JDBC connect descriptor aliases.**
**For example:**
**jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=MYDBHOST1)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=MYDB)(INSTANCE_NAME=MYDB1)))**
**If you miss the INSTANCE_NAME attribute in your JDBC connect descriptor, the Oracle TNS Listener could still redirect you to some other instance depending on the load on the instance in question.**
now i m unable to understand which data sources is to be updated with this URL multi data source or the target data sources
can some body give me some clue........Every datasource in a MultiDataSource must have a URL that ensures that every connection
in a given DataSource is always, only to one specific and unchanging RAC node. -
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.
Does somebody know good docs about internal functions of TMSs,
management of local and global transactions with them and their role in
2PC? I have searched in edocs.bea.com but I only have their
configuration and administration.
Thanks in advance.
R.G.Guys,
Details about hpow to write an xa switch (presumably, you're developing a
database, or other resource manager?) are to be found in the xa specification,
available for purchase from the Open Group at Distributed TP: The XA
Specification
To link an xa switch into Tuxedo processes, you need to add it to the RM file,
and use buildserver and buoldtms commands with the -r rmname option to link the
object.
The internals of the TMS are not documented. The TMS's role within 2 phase
commit is to perform the prepare, commit, rollback and recover calls that
co-ordinate the 2 phases of the commit The whitepaper at the aurorainfo site
mentioned by Manoj ( Global Transactions - XX/Open XA - Resource Managers )
documents this pretty well.
I hope that helps.
Regards,
Peter.
Got a Question? Ask BEA at http://askbea.bea.com
The views expressed in this posting are solely those of the author, and BEA
Systems, Inc. does not endorse any of these views.
BEA Systems, Inc. is not responsible for the accuracy or completeness of the
information provided
and assumes no duty to correct, expand upon, delete or update any of the
information contained in this posting.
"José Torres" wrote:
As to me, i'm searching for a sample code on how to default implement the 6
function entries of the xa_switch struct.
Also is there need to link the obj code to regenerate the tux exe binay ? Or
is it possible to tell tux kernel to load a shared lib ?
thanks
josé
"Ramón Gordillo Gutiérrez" <[email protected]> a écrit dans le message
news: [email protected]..
Hello.
Does somebody know good docs about internal functions of TMSs,
management of local and global transactions with them and their role in
2PC? I have searched in edocs.bea.com but I only have their
configuration and administration.
Thanks in advance.
R.G.
[att1.html] -
Does Oracle App Server 10.1.3.1 support global transactions?
I'm asking because it seems it doesn't. My stateless EJB calls an EJB in another application server, but the transaction is not propagated. Why is that?
Does it matter which inittial context factory or which TransactionalObject?
Do the different application server vendors (Oracle, Websphere ect.) support global transactions between each other?
I cannot find anything about this in the Oracle App server documentation.
Can anyone help?Hello,
Yes i should be possible to do.
Have you look at the OC4J transaction propagation that used the OracleAS transaction manager?
- How to list.
This will help you to configure properly your application.
Documentation:
- Data source and Global Transactions (XA)
- How do You Participate in a Global or Two-Phase Commit (2PC) Transaction?
- Configuring Transaction Service
Hope that helps...
Regards
Tugdual Grall -
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 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 -
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. -
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 -
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. -
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 -
When to use Global transaction and Local Transaction only
Hi All,
Could you please help with this question thats been troubling me from quite long time.
When to create Global & local Transactions and Local Transaction Only while creating Data source on oracle Application Server 10 G.
Do I get any advantages by using Global & local Transactions for creating Data Source
Thanks In Advance.
Regards,
Ajay Kumar .AkulamattyG wrote:
What is the difference between a single-process shared variable and a local variable?
A single process shared variable is more like a global variable, because it can be accessed from any VI in your hierarchy. Local variables are strictly local to the single VI where they reside.
Shared variables are a relatively new feature, while local and global variables are ancient. As such, shared variables are in many ways more modern and integrate better into state-of-the-art coding guidelines.
Shared variables contain error terminals so you can enforce execution order. local variables have no such thing.
A shared variable can stand on its own, while a local variable is always tied to a front panel object.
You need a project for shared varaibles.
You can easily turn a single process shared variable into a network shared variable later in the development, without the need to rewrite any code.
LabVIEW Champion . Do more with less code and in less time . -
Advise on using DBMS_XA with multiple branches under one global transaction
Dear all
I need some advise on using DBMS_XA from PL/SQL with tightly coupled multiple branches under one global transaction. Basically, I've successfully written some PL/SQL code that in 3 different sessions attaches to 3 different branches of one global transaction and before ending each branch they can see each others uncommitted data. So far so good.
However, I'm not sure I completely understand how each branch must call xa_end, xa_prepare and xa_commit correctly using two phase commit and my calls result in errors like:
ORA-24767: transaction branch prepare returns read-only (XA error code 3 = Transaction was read-only and has been committed)
ORA-24756: transaction does not exist (XA error code -4 = XID is not valid)
ORA-02051: another session or branch in same transaction failed or finalized
This is the structure of my programs (3 SQL*Plus sessions):
main: Uses xid 123|0 (branch 0 of global transaction 123). This should be the coordinator that commits using two phase commit across the 3 branches
m1.xa_start tmnoflags
m2.DML
m3.Wait for thread A + B to manually be started and run xa_end
m4.xa_end tmsuccess
m5.xa_prepare
m6.xa_commit false
thread A: Uses xid 123|A (branch A of global transaction 123)
a1.xa_start tmnoflags
a2.DML -- thread A can see main and thread B's data
a3.xa_end tmsuccess
a4.xa_prepare -- required?
a5.Should we also call xa_commit false?
thread B: Uses xid 123|B (branch B of global transaction 123)
b1.xa_start tmnoflags
b2.DML -- thread B can see main and thread A's data
b3.xa_end tmsuccess
b4.xa_prepare -- required?
b5.Should we also call xa_commit false?
The failing steps are:
m5
m6
a4
a5
b4
b5
Before starting calling xa_end I see 3 rows in V$GLOBAL_TRANSACTION, eg (hex 7B = decimal 123):
FORMATID GLOBALID BRANCHID BRANCHES REFCOUNT PREPARECOUNT STATE FLAGS COUPLING
203348753 0000007B 00000000000000000000000000000000 3 3 0 ACTIVE 0 TIGHTLY COUPLED
203348753 0000007B 0000000000000000000000000000000A 3 3 0 ACTIVE 0 TIGHTLY COUPLED
203348753 0000007B 0000000000000000000000000000000B 3 3 0 ACTIVE 0 TIGHTLY COUPLED
Thanks a lot in advance.
Cheers
FinnOK, I've figured it out. This is poorly documented as it's not well explained how to handle the various return codes. Turns out that all but the last xa_prepare calls return dbms_xa.xa_rdonly (tightly coupled branches are combined -- "read only" optimization), the last one returns dbms_xa.xa_ok and this is when you should call xa_commit.
Now my next problem is that DBMS_XA doesn't work from within jobs (DBMS_JOB and DBMS_SCHEDULER), which makes it very difficult to use DBMS_XA. My purpose of using DBMS_XA is to coordinate work across multiple sessions in one transaction but if I can't easily create the multiple sessions, I'm stuck.
When called from a job, xa_start throws:
ORA-24789: start not allowed in recursive call
on Oracle 11.2. In Oracle 11.1 it works, but xa_end fails with
ORA-25352: no current transaction
so I guess in fact the xa_start call didn't really work either, even though it returned tm_ok.
I'm now trying to find a workaround on how to use DBMS_XA from within jobs, please comment if you have any suggestions. Or if you have any suggestions on other means of establishing the concurrent sessions (I wouldn't like to resort to external programs that need username/password to connect as password management would be a security issue).
Thanks in advance.
Cheers
Finn
Maybe you are looking for
-
How to hide cut/copy/paste/Replace- menu on the UIWebView when it is being displayed over the keyboard. Detail: I am having a HTML from, having text box, displayed using UIWebView. If user types in text box it shows the keyboard. Now If user tap and
-
Travel time in calendar events
I've created a Calendar event and entered a location. I see the map of the location in the event window. When I go to select a travel time, it says "34 minutes from Work." So, it's pulling my work address from Contacts. Nice, but I'm not trave
-
Payload Variables in Profile Manager (iOS)
Hi There! I successfully installed a Lion Server with Profile Manager and am able to manage iOS devices. Now I tried to setup E-Mail Profiles/Payloads. To test the variable functionality I added a Webclip to a php-script that simply displays me the c
-
General File Sharing Via iCloud
Does anyone know if Apple is planning on offering general document sharing functionality in the cloud? I love to have the ability to drag and drop .ods files [for example] to the cloud to share them across platforms. Does this already exist and I'm
-
App tabs dissapearing when clearing history on shutdown
Hello all, the problem is that when I shut down firefox, I have it clear all history. It seems when I have the 'clear browsing history' box checked all of my app tabs disappear. Any workarounds?