This resource participates in a JTA transaction
Hi ,everybody,please help me solve the following question:
com.sap.engine.services.dbpool.exceptions.BaseSQLException: Cannot commit JDBC transaction from this connection of "mysqlds" DataSource. This resource participates in a JTA transaction.
Thank you!
Hi,Isaias Cristian Barroso.Thank you for your answer,These are my codes in the EJB in the follow.Please help me,Thank you!
public class DBConnection {
private static final String DATABASE_JNDI_PROVIDER = "com.sap.engine.services.jndi.InitialContextFactoryImpl";
public static Connection getConnection() throws Exception {
try {
Connection conn = null;
java.util.Properties properties = null;
properties = new java.util.Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
DATABASE_JNDI_PROVIDER);
InitialContext jndiCntx = new InitialContext(properties);
DataSource ds = (DataSource) jndiCntx.lookup("jdbc/mysqlAS");
conn = ds.getConnection();
return conn;
} catch (Exception e) {
e.printStackTrace();
Session Bean implementation class PersonManager
@WebService(endpointInterface="com.thitech.personmanager.PersonManagerRemote", portName="PersonManagerPort", serviceName="PersonManagerService",
targetNamespace="http://thitech.com/personmanager/")
@Stateless
public class PersonManager implements PersonManagerRemote, PersonManagerLocal {
Default constructor.
public PersonManager() {
// TODO Auto-generated constructor stub
@Override
public String insertPerson(int personId, String name, String ***, int age,
String email, String address) {
PersonInfo pi = new PersonInfo();
ArrayList list = new ArrayList();
PreparedStatement pstm = null;
Connection conn =null;
String returnType=null;
try {
conn = DBConnection.getConnection();
conn.setAutoCommit(false);
String sql = "insert into personinfo values(?,?,?,?,?,?)";
pstm=conn.prepareStatement(sql);
pstm.setInt(1, personId);
pstm.setString(2, name);
pstm.setString(3, ***);
pstm.setInt(4, age);
pstm.setString(5, email);
pstm.setString(6, address);
pstm.executeUpdate();
conn.commit();
returnType="success";
} catch (Exception e) {
e.printStackTrace();
} finally {
if (pstm != null) {
try {
pstm.close();
} catch (SQLException e) {
e.printStackTrace();
DBConnection.closeConnection(conn);
return returnType;
Best regards
Similar Messages
-
How many connection really participate in a JTA transaction?
Hi,
In weblogic 5.1 the same connection is retrieved whenever refering to the TXDataSource.
Is it the same in weblogic 6.1 and on? or is it possible that 2 different connections
will participate in the same transaction? if so, how will the commit work - will
it require a two phase commit process?
Thanks in advance,
Avigail.Hi Avigail,
"Avigail Oron" <[email protected]> wrote in message
news:3e2e7f0b$[email protected]..
In weblogic 5.1 the same connection is retrieved whenever refering to theTXDataSource.
Is it the same in weblogic 6.1 and on? or is it possible that 2 differentconnections
will participate in the same transaction? if so, how will the commitwork - will
it require a two phase commit process?This situation is possible if a TX is distributed, i.e. there
is more than one database participaing in the TX.
Regards,
Slava Imeshev -
How 2 avoid a Non-XA resource from listing in Global Transaction?
<pre>
Hey,
I am using container managed transaction in a stateless session bean. We are using two datasources, one xa and non-xa. I am using these two datasources in a single transaction and i am getting an exception that both can't participate in the same transaction.
Is there a way that I don't want to enlist my non-xa resource with transaction manager?
I have come across the following approach.
I have seen Simulate Two Phase for Non XA, but you are saying to be careful with this option as for Example, Non-XA and XA says OK during prepare phase(phase I) and then XA resources decides to roll back in phase II, Non-XA can't revert as it is already commited,
But I have also come across LAST PARTICIPANT NON-XA along with mutliple XAs option in websphere, like this if I update my Non-XAs in the end, will WEBLOGIC takes care of all XAs and Non-XAs as single atomic operation or it does partially ???
Appreciate your help.
Thanks,
Rao Kotha.
</pre>You can make the non-XA driver based data-source 'not to honor the global
transaction'. Which version of weblogic are you using?
By default, when you create a data source, it is a TxDataSource (it honors
global tx). In the console, there is a check box to disable the default
behavior which will make the data source not to participate in transactions.
--Sathish
<Janardhana Rao Kotha> wrote in message news:[email protected]..
<pre>
Hey,
I am using container managed transaction in a stateless session bean. We
are using two datasources, one xa and non-xa. I am using these two
datasources in a single transaction and i am getting an exception that
both can't participate in the same transaction.
Is there a way that I don't want to enlist my non-xa resource with
transaction manager?
I have come across the following approach.
I have seen Simulate Two Phase for Non XA, but you are saying to be
careful with this option as for Example, Non-XA and XA says OK during
prepare phase(phase I) and then XA resources decides to roll back in phase
II, Non-XA can't revert as it is already commited,
But I have also come across LAST PARTICIPANT NON-XA along with mutliple
XAs option in websphere, like this if I update my Non-XAs in the end, will
WEBLOGIC takes care of all XAs and Non-XAs as single atomic operation or
it does partially ???
Appreciate your help.
Thanks,
Rao Kotha.
</pre> -
Coherence and EclipseLink - JTA Transaction Manager - slow response times
A colleague and I are updating a transactional web service to use Coherence as an underlying L2 cache. The application has the following characteristics:
Java 1.7
Using Spring Framework 4.0.5
EclipseLink 12.1.2
TopLink grid 12.1.2
Coherence 12.1.2
javax.persistence 12.1.2
The application is split, with a GAR in a WebLogic environment and the actual web service application deployed into IBM WebSphere 8.5.
When we execute a GET from the server for a decently sized piece of data, the response time is roughly 20-25 seconds. From looking into DynaTrace, it appears that we're hitting a brick wall at the "calculateChanges" method within EclipseLink. Looking further, we appear to be having issues with the transaction manager but we're not sure what. If we have a local resource transaction manager, the response time is roughly 500 milliseconds for the exact same request. When the JTA transaction manager is involved, it's 20-25 seconds.
Is there a recommendation on how to configure the transaction manager when incorporating Coherence into a web service application of this type?Hi Volker/Markus,
Thanks a lot for the response.
Yeah Volker, you are absolutely right. the 10-12 seconds happens when we have not used the transaction for several minutes...Looks like the transactions are moved away from the SAP buffer or something, in a very short time.
and yes, the ABAP WP's are running in Pool 2 (*BASE) and the the JAVA server, I have set up in another memory pool of 7 GB's.
I would say the performance of the JAVA part is much better than the ABAP part.
Should I just remove the ABAP part of the SOLMAN from memory pool 2 and assign the JAVA/ABAP a separate huge memory pool of say like 12-13 GB's.
Will that likely to improve my performance??
No, I have not deactivated RSDB_TDB in TCOLL from daily twice to weekly once on all systems on this box. It is running daily twice right now.
Should I change it to weekly once on all the systems on this box? How is that going to help me?? The only thinng I can think of is that it will save me some CPU utilization, as considerable CPU resources are needed for this program to run.
But my CPU utilization is anyway only like 30 % average. Its a i570 hardware and right now running 5 CPU's.
So you still think I should deactivate this job from daily twice to weekly once on all systems on this box??
Markus, Did you open up any messages with SAP on this issue.?
I remember working on the 3.2 version of soultion manager on change management and the response times very much better than this as compared to 4.0.
Let me know guys and once again..thanks a lot for your help and valuable input.
Abhi -
Weblogic 7 SP5 SQL Exceptions follow a JTA transaction timeout
I have a problem in Weblogic 7 SP5 that was not happening in SP2. I'm using the
Weblogic jDriver (weblogic.jdbc.mssqlserver4.Driver)
I have a transaction that times out due to JTA transaction timeout, and then gets
marked for rollback. For several minutes after the timeout, I get many SQL Exceptions
with bogus messages like "invalid column name" when the column name is, in fact,
correct.
Then the weblogic log file shows "Exception during rollback of transaction" (javax.transaction.SystemException:
Heuristic hazard). Next, the connection is tested on reserve, this test fails,
and the connection is refreshed. As soon as the connection is refreshed, I stop
getting SQL exceptions and everything starts working correctly again.
It seems like the transaction timeout is making the connection go bad, and somehow
other requests are using this bad connection before the transaction finishes rolling
back. What could the problem be? Some excerpts from my app log and weblogic log
are below.
com.workpoint.server.ejb.WorkPointEJBException: The transaction is no longer active
- status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException:
Transaction timed out after 901 seconds
Name=[EJB com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],Xid=17109:68c10765ba68aaaa(12114044),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=901,seconds left=60,activeThread=Thread[WorkQueueThread[q=1, qName=ProcReleaseTaskWorkers,
id=6],5,WorkQueueGroup[id=1, name=ProcReleaseTaskWorkers]],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=ended,assigned=none,xar=weblogic.jdbc.jts.Connection@18cd616,re-Registered
= false),SCInfo[DomainManager+edwards-s1]=(state=active),properties=({weblogic.transaction.name=[EJB
com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],
weblogic.jdbc=t3://10.10.3.17:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+,
Resources={})],CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+)]'.
No further JDBC access is allowed within this transaction.SQL Command = INSERT
INTO WP_PROCI_NODE_HIST (NODE_HIST_ID, NODE_HIST_DB, PROCI_ID, PROCI_DB, PROCI_NODE_ID,
PROCI_NODE_DB, NODE_ITERATION, NODE_STATE_ID, ROW_VERSION, LU_ID, LU_DATE) VALUES
weblogic.jdbc.mssqlserver4.TdsException: Invalid column name 'user_fname'.
[from weblogic log]
####<Jun 17, 2004 8:14:16 AM MDT> <Error> <EJB> <EDWARDS> <edwards-s1> <WorkQueueThread[q=1,
qName=ProcReleaseTaskWorkers, id=7]> <kernel identity> <> <010025> <Exception
during rollback of transaction Name=[EJB com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],Xid=17439:68c10765ba68aaaa(31878774),Status=Rolled
back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=3,seconds left=57,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=rolledback,assigned=edwards-s1,xar=weblogic.jdbc.jts.Connection@15e1b7e,re-Registered
= false),SCInfo[DomainManager+edwards-s1]=(state=rolledback),properties=({weblogic.transaction.name=[EJB
com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],
weblogic.jdbc=t3://10.10.3.17:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+,
Resources={})],CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+): javax.transaction.SystemException:
Heuristic hazard: (weblogic.jdbc.jts.Connection, HeuristicHazard, (javax.transaction.xa.XAException:
I/O exception while talking to the server, java.io.EOFException))
####<Jun 17, 2004 8:14:17 AM MDT> <Warning> <JDBC> <EDWARDS> <edwards-s1> <ExecuteThread:
'8' for queue: 'default'> <kernel identity> <> <001094> <A connection from pool
"sp_connection_pool" was tested during reserve with the SQL "select 1" and failed:
weblogic.jdbc.mssqlserver4.TdsException: I/O exception while talking to the server,
java.io.EOFException
...[stack trace omitted]...
This connection will now be refreshed.>Brad Swanson wrote:
According to BEA's documentation, the jDriver is deprecated (no longer supported)
in WLS 7 SP5. Not sure when they stopped supporting it, but sometime after SP2,
apparently. Our solution, unfortunately, was to stay with SP2. Using the newer,
supported JDBC driver would presumably fix the problem, but we didn't have time
to do a full regression test with a different driver.Hi, no. The jDriver is deprecated, not unsupported. For WLS releases that contain
the jDriver it will be supported for as long as we support the WLS release!
Deprecation just means that we may choose to not supply that driver in any future
release, and will not support it in that or any subsequent release.
Practically, much depends on which jDriver you're using. In decreasing order
of practical support we have: The weblogic.jdbc.oci.Driver to Oracle: We do actively
continue to fix bugs in it. The weblogic.jdbc.mssqlserver4.Driver: Very unlikely that
we will fix any new problem with it. The weblogic.jdbc.ifmx.Driver: Even less
likely that we will do anything with it...
I hope that makes it better for you.
Joe -
How to involve the external XA resource in the WL global transaction
I wanted to know, if anybody has any knowledge of using external XAResource with
Weblogic transaction, at the client end. For example:
I create a Oracle Datasource and create a XAResource using unique xid. And would
like register with Weblogic Transaction service, to use in the global transaction
from client end.
Is it possible? if yes how. What are APIs.The server-side connection obtained from the DataSource will enlist in
and be part of the global transaction. Client operations on the
connection will be performed on the server from which it was obtained.
WLS will register the Oracle XAConnection and enlist it in the global
transaction transparently.
Alex
Malli wrote:
Alex,
Thanks on your response.
The JNDI lookup for DataSource and get a connection from that datasource works
ok. But I want to make the external XAResource to participate in the WLS transaction.
Malli
Alex <[email protected]> wrote:
Registering a resource on a client VM is not supported by WLS. It is
possible for a client to look up a remote DataSource from a server and
have connection operations participate in global transactions. However,
there are some limitations with this approach, such as result sets not
being available on the client.
Alex
Malli wrote:
I wanted to know, if anybody has any knowledge of using external XAResource
with
Weblogic transaction, at the client end. For example:
I create a Oracle Datasource and create a XAResource using unique xid.
And would
like register with Weblogic Transaction service, to use in the global
transaction
from client end.
Is it possible? if yes how. What are APIs. -
SFSB and BMT JTA Transaction Scope confusion
Hi,
I'm a bit confused with the scope of a UserTransaction.
* Classic SFSB with BMT
@Stateful
@TransactionManagement(TransactionManagementType.BEAN)
public class SFSBean implements SFS {
private @Resource UserTransaction tx;
private @PersistenceUnit(unitName="my-db") EntityManagerFactory emf;
private EntityManager em;
public void start() {
try {
tx.begin();
} catch (NotSupportedException e) {
throw new RuntimeException(e);
} catch (SystemException e) {
throw new RuntimeException(e);
em = emf.createEntityManager();
public void doJob1() {
public void doJob2() {
@Remove
public void commit() {
try {
tx.commit();
} catch (SecurityException e) {
throw new RuntimeException(e);
} catch (IllegalStateException e) {
throw new RuntimeException(e);
} catch (RollbackException e) {
throw new RuntimeException(e);
} catch (HeuristicMixedException e) {
throw new RuntimeException(e);
} catch (HeuristicRollbackException e) {
throw new RuntimeException(e);
} catch (SystemException e) {
throw new RuntimeException(e);
@Remove
public void rollback() {
try {
tx.rollback();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (SystemException e) {
e.printStackTrace();
}When I request this SB the container inject a JTA transaction inside my variable tx and this transaction will be bound to the life of my SB.
But : if a handler for this SB is associated to a SessionScoped or ConversationScoped bean (CDI contexts) or simply to a HttpSession attribute, then calls to SB methods may occurs in different thread (successives requests).
Is this pattern supported? As JTA rely on ThreadLocal but a transaction can also be injected inside a SFSB: I'm a bit confused...
HttpRequest1[Thread-1] : ejbHandler.start(); // conversation start
HttpRequest2[Thread-2] : ejbHandler.doJob1(); // long running transaction
HttpRequest3[Thread-1] : ejbHandler.doJob2(); // long running transaction
HttpRequest4[Thread-3] : ejbHandler.commit(); // conversation end
I tried a small use case and it seems to work (maybe all my requests was part of the same thread, lucky me) with JBoss but if an error occurs the transaction manager seems completely confused.
If this pattern is legal (I know it is a very bad pattern...), I'll try to fix my code, if it isn't I'll have to drop JTA from this part of the code...
Thank you.Yes, this is part of the required transactional behavior for a stateful session bean. A stateful session bean is the only session bean type whose bean instances can retain their association with a transaction after the business method returns. It's then the container's job to set up the correct transaction context for each successive invocation of the stateful session bean instance, until the transaction is committed or rolled back. If a system exception is thrown from the stateful session bean method the instance will be destroyed.
-
9.2 Web Services Participating in JTA Transactions?
If I set up a web service using JWS in Weblogic 9.2, and make this available to clients, is it possible to set up the web service so that it participates in a pre-existing JTA transaction (Transaction Required type setup)?
In other words, if the client is a Transaction Required EJB and it uses the new web service, do the two share the same transaction, such that if the client rolls back, anything that occurred in the web service is also rolled back?
If this is possible, I would appreciate any references to examples that do this.
Thanks,
ken clarkHello,
From your description it looks like the SAP ME web services are configured correctly on NW side.
The problem is most likely in SAPMEINT/MII configuration. Because the authentication properties for SAP ME web services are not configured in the transaction directly.
These properties are configured in MII Administration Menu -> Security Services -> Credential Editor. The name is SAPMEINT_ME_AUTH
Thanks
Ivan -
SAP J2EE Engine JTA Transaction Xml for table TABLE could not be ana
I'm having a weird case. I created 3 entity bean. In my R/3 will call this JCO.Function to do the insert to database. But out of 3 entity bean, only 1 entity bean got error where it unable to insert to database and have this error in the log.
The case is quite weird where i created the same entity but only 1 entity is not working as expected. Wondering what cause this problem.
Thanks.
org.xml.sax.SAXException: Fatal Error: URI=:main: Line=1: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Name expected: 0x20(:main:, row:1, col:218)#
at com.sap.dictionary.database.dbs.XmlExtractor$XMLErrorHandler.fatalError(XmlExtractor.java:279)#
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144)#
at com.sap.dictionary.database.dbs.XmlExtractor.map(XmlExtractor.java:130)#
at com.sap.dictionary.database.catalog.DbGeneralStructure.<init>(DbGeneralStructure.java:86)#
at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:90)#
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)#
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)#
at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)#
at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)#
at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)#
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)#
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)#
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)#
at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)#
at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)#
at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)#
at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)#
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)#
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)#
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)#
at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)#
at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)#
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)#
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)#
at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)#
at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)#
at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)#
at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)#
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)#
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)#
at java.lang.reflect.Method.invoke(Method.java:324)#
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)#
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)#
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)#
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)#
at java.security.AccessController.doPrivileged(Native Method)#
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)#
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)#
##0#0#Error##Java###{0}.commit(), Cannot commit due to unexpected exception in beforeCompletion():
[EXCEPTION]
{1}#2#SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b]#java.lang.IllegalStateException: Xml for table <TABLE> could not be analysed
at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
#1.5 #001A6467CDF400590000004E000018D8000459BB785F496C#1224561620123#com.sap.engine.services.ts#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ts#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Server#Java#ts_0004##Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).#1#SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b]#
#1.5 #001A6467CDF400590000004F000018D8000459BB785F4BC5#1224561620123#com.sap.engine.services.ts#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ts#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Audit#Java###Exception {0}#1#com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
... 16 more
#1.5 #001A6467CDF4005900000050000018D8000459BB785F4E8F#1224561620123#com.sap.engine.services.ejb.entity.Container#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ejb.entity.Container#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Java###null
[EXCEPTION]
{0}#1#com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(net.tnb.model.ReasonCodeBean).
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:573)
at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
... 15 more
Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
... 16 more
#1.5 #001A6467CDF4005900000051000018D8000459BB785F5FA9#1224561620123#System.err#sap.com/ESolutionsEGatewayEAR#System.err#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###RemoteException insertOk=false#
#1.5 #001A6467CDF4005900000052000018D8000459BB785F6094#1224561620123#System.err#sap.com/ESolutionsEGatewayEAR#System.err#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###Tue Oct 21 12:00:20 SGT 2008 java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(net.tnb.model.ReasonCodeBean).
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:573)
at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
... 15 more
Caused by: java.lang.IllegalStateException: Xml for table <TABLE> could not be analysed
at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
... 16 more
; nested exception is:
javax.transaction.RollbackException: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
... 16 moreHi Stefan and Everyone,
I have solved my problem. Just want to let everyone know if u have to install the SP's for WEB AS 6.30/6.40.
You start from the installation from CD 6.30/6.40. Everything will be working at this point. You can login to Visual Admin, Config tool and SDM.
Before you apply any SP's, do the following:
a) Create an emergency user with the Administrator rights: Ref OSS Note:669848
Try to follow this route for SP's:
From CD 6.30/6.40 -> SP04 -> SP07
Apply SP04 first before applying SP07 (Recommended Approach).
Refer the installation guide: SAP Web AS Support Package Guide 630SP2 to 640SP4.
Use JDK1.4.2_05 to install SP04. You must reference the following OSS Notes and apply to your system accordingly, this is the key to an error free installation:
a) OSS Note: 697535
b) OSS Note: 709140
c) OSS Note: 716604
d) OSS Note: 706378
You have to be really careful with SP04 installation, because it changes the version from 6.30 -> 6.40.
Once you are able to install SP04 without any problems, you can directly apply SP07 or the highest 6.40 SP.
Kind Regards,
Buddha. -
Getting "JTA transaction is not present" error while updating db table.
Hi All,
In one of my BPEL process, In a loop, I am updating value of database column Flag from 0 to 1. It was working fine in dev environment, but failed in Prod with below errors, Can Any one suggest on this.
There is a system exception while performing the BPEL instance, the reason is "JTA transaction is not present or the transaction is not in active state. The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.. Please consult your administrator regarding this error. ". Please check the error log file for more infromation. Please try to use bpel fault handlers to catch the faults in your bpel process. If this is a system exception, please report this to your system administrator. Administrator could perform manual recovery of the instance from last non-idempotent activity or dehydration point.
OPMN logs:
<2010-05-05 01:56:49,395> <ERROR> <gemptp.collaxa.cube.engine> The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.
The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
Thanks in advance.I can envisage this happening only in a case where the update is taking a longer time than the value of JTA transaction timeout.
Is this happening for all BPEL instances or some of them get thru succesfully ?
Are you EVER updating that particular row of your table ( before/after) ?
-Shishir -
Doubts on nonxa oracle datasources in Weblogic JTA transaction
I am doing some studying on XA transaction handling in weblogic 10.3.6. I read a lot materials on web saying that can't enlist more than 1 non xa datasources inside one single XA transaction, so I am doing a simple test: trying to update one record in one oracle database, and inserting one record in another.
The test code is below:
@Stateless(mappedName = "nativeQueryTest")
@TransactionManagement(TransactionManagementType.CONTAINER)
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class DaoEjb implements .... {
@PersistenceContext(unitName="nonxa.unit")
private EntityManager nonXAPC;
@PersistenceContext(unitName="another.nonxa.unit")
private EntityManager anotherNonXAPC;
@Override
public void doUpdateWithNonXaDss() {
Employee l_entity = nonXAPC.find(Employee.class, "tom");
l_entity.setAge(new Random().nextInt());
Department l_dep = new Department();
l_dep.setName("dept" + new Random().nextInt());
l_dep.setEmployeeNum(new Random().nextInt());
anotherNonXAPC.persist(l_dep);
The persistence unit definitions are:
<persistence-unit name="nonxa.unit" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>nonxa.ds</jta-data-source>
<class>entity.Employee</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="eclipselink.target-database" value="Oracle" />
<property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC" />
<property name="eclipselink.target-server" value="WebLogic_10" />
<property name="eclipselink.logging.parameters" value="true" />
<property name="eclipselink.logging.logger" value="ServerLogger" />
</properties>
</persistence-unit>
<persistence-unit name="another.nonxa.unit" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>another.nonxa.ds</jta-data-source>
<class>entity.Department</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="eclipselink.target-database" value="Oracle" />
<property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC" />
<property name="eclipselink.target-server" value="WebLogic_10" />
<property name="eclipselink.logging.parameters" value="true" />
<property name="eclipselink.logging.logger" value="ServerLogger" />
</properties>
</persistence-unit>
For the two data sources, they are pointed to two different oracle databases on two different physical servers. I use "oracle.jdbc.OracleDriver" as the drivers, and also make sure that "Support Global Transaction" options un-selected.
I used a simple client to invoke the EJB, and saw the method completes without any error: the first record is updated and second record is inserted! Therefore I am really confused:
1) is the JTA transaction XA or not in my small EJB?
2) if it's XA, why can I use two non-XA datasources inside this XA transaction?Why do you think this should fail? Looks to me like you have two isolated transactions going on that have no relation to each other.
-
How to have the JTA transaction in ServiceEndpoint interface java method
Hi,
I have query how to have the JTA transaction in SEI(Service endpoint interface) generated by WSDL.
I have a MDMListener (using MDM API) which looks for a recordchange in MDM repository which needs to be send to PI7.1 via soap request.
1) I had imported the WSDL from ESR(PI) and generated outside-in proxy.
2) Created ejb3.0 stateless session bean using NWDS
3) Created web service client application by generating the WSDL again (by Generate client)
4)Added a method callPI()with Service and i set the context with endpointaddress property as the soap location of the sender agreement configured in PI7.1.
The damean thread listener(EventDispatcher) looks for MDM record change and it calls the method callPI() from ejbsession bean by lookup to transfer the record to PI7.1 system via webservices(web method). I hit the below error.
Exception com.sap.engine.services.ts.exceptions.BaseIllegalStateException: Status of ( SAP J2EE Engine JTA Transaction : 06223ffffffa20048fffffffe ) should be active, but it is STATUS_COMMITTED = 3.
at com.sap.engine.services.ts.jta.impl.TransactionImpl.registerSynchronizationWithoutStatusChecks(TransactionImpl.java:672)
at com.sap.engine.services.ts.jta.impl.TransactionImpl.registerSynchronization(TransactionImpl.java:641)
at com.sap.engine.services.ts.transaction.TxLevelSynchronizations.addSynchronization(TxLevelSynchronizations.java:118)
at com.sap.engine.services.ts.transaction.TxManagerImpl.registerSynchronization(TxManagerImpl.java:829)
at com.sap.transaction.TxManager.registerSynchronization(TxManager.java:303)
at com.sap.engine.messaging.runtime.j2ee.sapengine.SAPTransactionManager.registerSynchronization(SAPTransactionManager.java:126)
at com.sap.engine.messaging.impl.util.tx.TxController.<init>(TxController.java:83)
//Method in the ejb stateless session bean
@WebServiceRef (name="DistributeMasterDataService") DistributeMasterDataService service;
@RelMessagingNW05DTOperation(enableWSRM=true)
public void callPi(DistributeMasterDataRequestType req) {
port.distributeMasterDataOutA(req);// the distributeMasterDataOutA is the method available in SEI..Here is the issue on JTA
For the first time the message(req object)transmits to the PI successfully,but for the second call i hit this JTA Transaction :status should be active, but it is STATUS_COMMITTED = 3.
I tried chanding the transactionmanagement from container to bean.
@TransactionManagement(value=TransactionManagementType.BEAN)
@TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW)
I wanted to know how can i have the JTA transaction status in SEI(service enpoint interface)java method distributeMasterDataOutA.Since it is an interface i dont know what annotation can be used.
If its possible i can try this UserTransaction,
http://help.sap.com/saphelp_nw04/helpdata/de/f6/7a8df922db4ab79342b46c48dac7d0/content.htm
ut.begin() & ut.commit(),so that everytime this method is called it will treat as a new transaction..
Let me know if you need more details??,Any idea provided would be great.
Thanks
SabarinathanHello everybody,
The issue resolved,we need to have the bean management transaction type and not the container.
and the transactionattribute value as Requires New
rgds
Sabarinathan
Edited by: Sabarinathan Selvaraj on May 12, 2009 2:17 PM -
JTA transaction is aborting due to an user rollback fault
Hi,
While testing the ReceiptEBS on EM, we are getting given error, few minutes before EBS was working fine.
Error -
The selected operation CreateReceiptList could not be invoked.
An exception occured while invoking the webservice operation. Please see logs for more details.
oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Global retry rollback fault thrown.
The current JTA transaction is aborting due to an user rollback fault being thrown. The upstream component should retry in a new
JTA transaction upon catching this fault.
This exception was caused by a global retry fault being thrown from downstream component. The user had directed the BPEL engine to roll
back the current JTA transaction and retry within new JTA transactions for the specified number of times and retry interval.
There is no action recommended.
oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Global retry rollback fault thrown.
The current JTA transaction is aborting due to an user rollback fault being thrown. The upstream component should retry in a
new JTA transaction upon catching this fault.
This exception was caused by a global retry fault being thrown from downstream component. The user had directed the BPEL engine
to roll back the current JTA transaction and retry within new JTA transactions for the specified number of times and retry interval.
There is no action recommended.Hi,
This seems to be a timeout error during JTA transaction. Some of my suggestions are
1. Put a timeout value in the partner link properties.
2. Set the timeout parameter for JTA under Domain configuration in console.
Regards,
Rahul -
Hi,
I am currently porting an application from Websphere 3.5 to Weblogic 6.1.
I have an Oracle 8.1.7 database.
I have a problem when rollbacking JTA transaction.
I have a session bean manipulating Entity beans (CMP & BMP) within a single
method.
This method creates beans and then update them.
The issue is that during the update, the application generates an exception
(system or applicative). The method rollbacks the transaction, but if I look
in the database, the insert requests are not rollbacked !
I have tried two different approach:
1) container manage transaction: I catch the exception and then call
setRollbackOnly()
2) bean manage transaction: I retrieve the user transaction, and apply the
rollback on exception.
What's wrong with that ? This actually works fine on Websphere.
Regards
Jacques DesmazieresMake sure that you are using a TxDataSource and not a plain DataSource.
(This is configured in the console.)
-- Rob
Jacques Desmazieres wrote:
Hi,
I am currently porting an application from Websphere 3.5 to Weblogic 6.1.
I have an Oracle 8.1.7 database.
I have a problem when rollbacking JTA transaction.
I have a session bean manipulating Entity beans (CMP & BMP) within a single
method.
This method creates beans and then update them.
The issue is that during the update, the application generates an exception
(system or applicative). The method rollbacks the transaction, but if I look
in the database, the insert requests are not rollbacked !
I have tried two different approach:
1) container manage transaction: I catch the exception and then call
setRollbackOnly()
2) bean manage transaction: I retrieve the user transaction, and apply the
rollback on exception.
What's wrong with that ? This actually works fine on Websphere.
Regards
Jacques Desmazieres -
EJB3 : suspend JTA transaction does not release the connection in the XA DS
Hi all,
I did a test and after suspending a JTA transaction I note that in the xa datasource the activeconnection = 1.
So is it normal because I was thinking that when I suspend the transaction the teh connection is released and then after a transaction resume I could continue the transaction with another connection of the xa datasource ?
Thank you for all..
Christophe.It's a long time ago, but did you ever solve this problem?
I'm having the same issue with OSB writing to a WLS8.1 JMS queue.
I have a development OSB server which works fine.
Pete
Maybe you are looking for
-
CS4 wont open - error specified module could not be found
I have run CS4 on my windows Vista pc for years without a problem. Yesterday I downloaded DNG converter 7.2 as I have purchased a Fuji Xpro and needed to be able to process the Raw files - my version of ACR is not compatible. Today I tried to look
-
on fox news site JUST recently the picts and some text , like under faces and news and under categories like WATCH now, NOTHING appears....just satrted happening..have checked the settings to no avail...HELP
-
Performance issue with COEP table in ECC 6
Hi,, Any idea how to resonlve performance issue on COEP table in ECC6.0 We are not using COEP table right now. this table occupies 100gb of 900 gb in PRD system. Can i directly archive/delete the table? Regards Siva
-
Data migration to new macbook via external usb?
So I have a macbook pro right now and am looking at getting a macbook. I want to use the data migration assistant during the macbook setup to keep all my files, applications and things from the mbp. The question is can I use a external usb drive to d
-
Has anyone able to configure a build.xml that works with jface? Which jars do I need to include? Along with the swt.jar I've included org.eclipse.core.runtime_3.3.100.v20070530.jar org.eclipse.ui.workbench_3.3.2.M20080207-0800.jar org.eclipse.jface_3