TransactionRolledBackException
Hello can somebody help me, I dont know why I get this transaction rolled back exception. It occurs when I attempt to update a field. I have searched on google for such an error, I noticed its a common problem, but I cant find a soultion.
org.jboss.tm.JBossTransactionRolledbackException: null; nested exception is:
[java] org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=lid32.rhythm.com//2693, BranchQual=] status=STATUS_NO_TRANSACTION; - nested throwable: (javax.ejb.EJBException: env not bound); - nested throwable: (org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=lid32.rhythm.com//2693, BranchQual=] status=STATUS_NO_TRANSACTION; - nested throwable: (javax.ejb.EJBException: env not bound))
Related Lin
You have a "env not bound" in the end.
Take a look at your EJB's ref's.
Similar Messages
-
Javax.transaction.TransactionRolledbackException
Hi
I am getting a weblogic.ejb.extensions.LockTimedOutException when a call an entity bean for the second time. The first time I call the account entity bean from a session bean it returns all the accounts without any problems. However the next time I call the same bean from the same session I get a time out error. It seems to get as far as the last record and the locks. It also seems to use the same context for the last record as it did on the first read. See bold ctx. I have tried changing the isolation level of the beans and increasing the time out limit. I've attached the output below. Has anyone any suggestion.
Thanks
Claire
1st Read from Session Bean
After creating Data Packets601212 ::69000512
before find by account
after find by accountEJBObject: '-915484003', home: 'eon.common.Account', ctx: '-916794723', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@64476f25'
accountDp{Account Balance=13010.7, Uncleared Funds=600.0, DATA PACKET NAME=ACCOUNT, OWNER=eontec Ltd, REQUEST_ID=00000, Currency=IEP, Debit Or Credit Balance=Credit, Account Number=69000512, Account T
ype=Chequing, Account Name=Current Account - No. 1, Sort Code=601212}
After creating Data Packets601212 ::77264300
before find by account
after find by accountEJBObject: '1776210589', home: 'eon.common.Account', ctx: '1775948445', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@661c2d9f'
accountDp{Account Balance=2100.0, Uncleared Funds=0.0, DATA PACKET NAME=ACCOUNT, OWNER=eontec Ltd, REQUEST_ID=00000, Currency=GBP, Debit Or Credit Balance=Credit, Account Number=77264300, Account Type
=Deposit, Account Name=Term Deposit - Sterling, Sort Code=601212}
2nd Reand from Session Bean
After creating Data Packets601212 ::69000512
before find by account
after find by accountEJBObject: '704303773', home: 'eon.common.Account', ctx: '700895901', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@64476f25'
accountDp{Account Balance=13010.7, Uncleared Funds=600.0, DATA PACKET NAME=ACCOUNT, OWNER=eontec Ltd, REQUEST_ID=00000, Currency=IEP, Debit Or Credit Balance=Credit, Account Number=69000512, Account T
ype=Chequing, Account Name=Current Account - No. 1, Sort Code=601212}
After creating Data Packets601212 ::77264300
before find by account
after find by accountEJBObject: '1776210589', home: 'eon.common.Account', ctx: '1775948445', pk: 'com.bankframe.common.ejb.account.interfaces.AccountPK@661c2d9f'
Thu Nov 23 09:45:57 GMT 2000:<I> <TX> Transaction (TxC (650302109, xid = 974971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
FinderException weblogic.ejb.extensions.LockTimedOutException: Lock for primaryKey:com.bankframe.common.ejb.account.interfaces.AccountPK@661c2d9f timed out after 300000 ms.
finished creating dp
CustomerOverviewBean::processDataPacket()::Sending Result to the Client Excep
{DATA PACKET NAME=CUSTOMER OVERVIEW EXCEPTION, OWNER=eontec Ltd, REQUEST_ID=00000, Reason=javax.transaction.TransactionRolledbackException: Transaction: '974971491652_10' has been rolled back}
Thu Nov 23 09:46:00 GMT 2000:<I> <EJB JAR deployment ./classes/castaway-jars/customeroverview.jar> Exception during commit of transaction: '974971491652_10'
javax.transaction.RollbackException: Transaction TxC (650302109, xid = 974971491652_10, timeout = 0, txState = Rolledback, root = null has been rolled back.Reason: Transaction (TxC (650302109, xid = 9
74971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
at weblogic.jts.internal.CoordinatorImpl.throwRollbackException(CoordinatorImpl.java:727)
at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:352)
at weblogic.jts.internal.TxContext.commit(TxContext.java:246)
at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java, Compiled Code)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl.processDataPacket(CustomerOverviewBeanEOImpl.java:107)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl_ServiceStub.processDataPacket(CustomerOverviewBeanEOImpl_ServiceStub.java, Compiled Code)
at com.bankframe.ei.servlet.BankframeServlet.getResponseDataPackets(BankframeServlet.java:173)
at com.bankframe.ei.servlet.BankframeServlet.doGet(BankframeServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java, Compiled Code)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
Thu Nov 23 09:46:00 GMT 2000:<I> <ServletContext-General> BankframeServlet: Thu Nov 23 09:46:00 GMT 2000::BankframeServlet::Error in method getResponseDataPackets, the data packet was: {Customer Numbe
r=996324364, DATA PACKET NAME=LIST CUSTOMER ACCOUNTS, OWNER=EON Technologies Ltd, Last Logged Date=20/02/2000, REQUEST_ID=80031}
Thu Nov 23 09:46:00 GMT 2000:<I> <ServletContext-General> BankframeServlet: Thu Nov 23 09:46:00 GMT 2000::BankframeServlet::Unexpected exception in com.bankframe.bs.customer.ejb.customeroverview.serve
r.CustomerOverviewBean.processDataPacket():
javax.transaction.RollbackException: Transaction TxC (650302109, xid = 974971491652_10, timeout = 0, txState = Rolledback, root = null has been rolled back.Reason: Transaction (TxC (650302109, xid = 9
74971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
at weblogic.jts.internal.CoordinatorImpl.throwRollbackException(CoordinatorImpl.java:727)
at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:352)
at weblogic.jts.internal.TxContext.commit(TxContext.java:246)
at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java, Compiled Code)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl.processDataPacket(CustomerOverviewBeanEOImpl.java:107)
at com.bankframe.bs.customer.ejb.customeroverview.server.CustomerOverviewBeanEOImpl_ServiceStub.processDataPacket(CustomerOverviewBeanEOImpl_ServiceStub.java, Compiled Code)
at com.bankframe.ei.servlet.BankframeServlet.getResponseDataPackets(BankframeServlet.java:173)
at com.bankframe.ei.servlet.BankframeServlet.doGet(BankframeServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java, Compiled Code)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java, Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java, Compiled Code)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
; nested exception is:
javax.transaction.RollbackException: Transaction TxC (650302109, xid = 974971491652_10, timeout = 0, txState = Rolledback, root = null has been rolled back.Reason: Transaction (TxC (650302109,
xid = 974971491652_10, timeout = 300, txState = Marked Rollback, root = null) rolled back after 300 sec.
What versions of the WebLogic you are using at windows and unix machines ? What are transaction attributes of the EJB methods you are invoking ?
-
Hi!!!
I have a problem while I'm trying to create CMP Entity Beans. I got these CMP Entity Beans using Netbeans IDE 5.0, getting the beans from an SQL Server 2000 database.
I got this error:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 9998 Maybe; nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK: vmcid: 0x2000 minor code: 1806 completed: Maybe
com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:207)
com.sun.corba.ee.impl.javax.rmi.CORBA.Util.wrapException(Util.java:651)
javax.rmi.CORBA.Util.wrapException(Util.java:279)
com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:177)
com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(Unknown Source)
session._SesionRemote_DynamicStub.getClienteInfo(_SesionRemote_DynamicStub.java)
web.ClientDetails.processRequest(ClientDetails.java:43)
web.ClientDetails.doGet(ClientDetails.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
note The full stack trace of the root cause is available in the Sun-Java-System/Application-Server logs.
And my code is:
package session;
import javax.ejb.*;
* This is the bean class for the SesionBean enterprise bean.
* Created 26-sep-2006 17:58:35
* @author DSalvat
public class SesionBean implements SessionBean, SesionRemoteBusiness {
private SessionContext context;
private data.ClientepruebaLocalHome cliente;
// <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click the + sign on the left to edit the code.">
// TODO Add code to acquire and use other enterprise resources (DataSource, JMS, enterprise bean, Web services)
// TODO Add business methods or web service operations
* @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)
public void setSessionContext(SessionContext aContext) {
context = aContext;
* @see javax.ejb.SessionBean#ejbActivate()
public void ejbActivate() {
* @see javax.ejb.SessionBean#ejbPassivate()
public void ejbPassivate() {
* @see javax.ejb.SessionBean#ejbRemove()
public void ejbRemove() {
// </editor-fold>
* See section 7.10.3 of the EJB 2.0 specification
* See section 7.11.3 of the EJB 2.1 specification
public void ejbCreate() {
// TODO implement ejbCreate if necessary, acquire resources
// This method has access to the JNDI context so resource aquisition
// spanning all methods can be performed here such as home interfaces
// and data sources.
cliente = lookupClientepruebaBean();
// Add business logic below. (Right-click in editor and choose
// "EJB Methods > Add Business Method" or "Web Service > Add Operation")
private data.ClientepruebaLocalHome lookupClientepruebaBean() {
try {
javax.naming.Context c = new javax.naming.InitialContext();
data.ClientepruebaLocalHome rv = (data.ClientepruebaLocalHome) c.lookup("java:comp/env/ejb/ClientepruebaBean");
return rv;
catch(javax.naming.NamingException ne) {
java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
throw new RuntimeException(ne);
public String getClienteInfo(String NIF) throws javax.ejb.FinderException
data.ClientepruebaLocal cli = cliente.findByPrimaryKey(NIF);
return cli.getNombre();
I've seen a lot of posts, but I can't find my error.
Can you help me?
Thanks a lot.Hello Kranti ...
We have the same problem, but we haven't found a real solution. I think you need to install some fix pack.
What we do is restart the Data Base Instance and the WAS.
Seems that the table is bloked for any reason. Our case is because there are too much transactions with the table.
Also we reorganize the table indexes to improve the performance... it helps a lot... -
Error:javax.transaction.TransactionRolledbackException
Hi,
Following error was encountered when user was trying to login into the portal
‘javax.transaction.TransactionRolledbackException: EJB Exception: com.bea.p13n.property.ConfigurableEntitySystemException: Error occurred while getting a database connection.
at com.bea.p13n.property.internal.EntityPropertyManagerImpl.getConnection()Ljava.sql.Connection;(EntityPropertyManagerImpl.java:1701)’
And ‘Out of Memory and PrintStackTrace ‘was displayed in server console
To resolve this, we stopped and then restarted the server (Production setup) .
Please revert back with the reason for this error.
ThanksWhat's the code in the ejbCreate method.
-
TransactionRolledbackException obscuring custom exception
I could use some input on the following issue:
I have an Order SSB that uses a Catalog SSB. When the Catalog SSB encounters an (expected) error condition, it throws a CatalogException that extends RemoteException. The message that's stuffed in the CatalogException needs to be passed back to the client. What happens, however, is that the CatalogException gets nested in a TransactionRolledbackException before the Order SSB can process it, so the message is buried in the nested exception.
A couple questions: 1) Is this always the case, i.e., an exception thrown in an SSB is going to get wrapped in a TransactionRolledbackException?
2) Can I get to the message in the nested exception without complicated parsing?
Any input would be appreciated.You should never use RemoteException - that's more-or-less "reserved" for the server vendor to signal to the application that the remote protocol is not working correctly. Same for EJBException (but that's more of a "my application server is crashing into smoking ruins" exception). If you want to use an exception, create your own subclass from Exception or RuntimeException. Or use one of the "stock" ones, such as IllegalArgument exception. Don't use NullPointerException - that's not a helpful one for an application to throw by itself.
If you're using Container-managed transactions, a subclass of Exception will not automatically roll-back the CMT, whereas a subclass of RuntimeException will. Neither will directly affect a client-initiated transaction.
Oh, and by the way - Exception is a subclass of Throwable, which already implements Serialiable. -
How to suppress TransactionRolledbackException?
Can anyone explain me why iPlanet Application Server(version 6.0 SP3) suppress exceptions which are thrown in EJB and replace it by TransactionRolledbackException (if transactions are managed by container and should be rolled back, of course)? I understand that this is right exception in case of broken transaction but I want to receive at client side more understandable, generated by my EJB exception.
Thanks in advance,
Vadim LotarevCan anyone explain me why iPlanet Application Server(version 6.0 SP3) suppress exceptions which are thrown in EJB and replace it by TransactionRolledbackException (if transactions are managed by container and should be rolled back, of course)? I understand that this is right exception in case of broken transaction but I want to receive at client side more understandable, generated by my EJB exception.
Thanks in advance,
Vadim Lotarev -
Why TransactionRolledbackException
Hi,
a TransactionRolledbackException occurs, and i dont know why. I use
UserTransaction, WLS 5.1 SP10. There was no Database-error. The last
code-line of my program is a InitalContext.close-command od another
bean created in the context of the bean-transaction.
javax.transaction.TransactionRolledbackException: Transaction:
'1033569532578_17' has been rolled back
at weblogic.ejb.internal.EJBHomeImpl.checkTxValid(EJBHomeImpl.java:925)
at weblogic.ejb.internal.EJBHomeImpl.setupTransaction(EJBHomeImpl.java:814)
at weblogic.ejb.internal.BaseEJBObject.setupTransaction(BaseEJBObject.java:281)
at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:471)
at ejb.BOMailsBeanEOImpl.close(BOMailsBeanEOImpl.java:236)
at ejb.BOMailsBeanEOImpl_ServiceStub.close(BOMailsBeanEOImpl_ServiceStub.java:445)
at elan.ejb.BOABMBean.sendMails(BOABMBean.java:1101
Can anyone help?
Regards,
AndyWhat's the code in the ejbCreate method.
-
Urgent Urgent javax.transaction.TransactionRolledbackException
Hey all,
How are you dudes, I stuck up with the problem again, the ejb's create is not working properly even with the files you sent to me, and it throws the javax.transaction.TransactionRolledBackException everytime, I have attached a copy of the log files and the files what you have sent to me on the other day, ie. the ear,war, jar files and the .java files incl the servlet file as a company.Iplanet.zip file. please download the file.
The exact error descriptions is as follows
javax.transaction.TransactionRolledbackException
at com.kivasoft.eb.EBExceptionUtility.idToSystem(Unknown Source)
at com.kivasoft.ebfp.FPUtility.replyToException(Unknown Source)
at com.se.sales.customer.ejb_kcp_stub_CompanyHome.create(ejb_kcp_stub_CompanyHo
me.java:323)
at
com.se.sales.customer.ejb_stub_CompanyHome.create(ejb_stub_CompanyHome.java:
88)
at
com.se.sales.customer.CompanyServlet.doGet(CompanyServlet.java:35)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown
Source)
at com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown
Source)
at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at java.lang.Thread.run(Thread.java:479)
I am using the oracle 8i as the database and I have attached the schema files also along with this mail. please have a look at them and let me know what went wrong. Please please help me in this regard man, I owe you a lot. Please send me the working files to me ASAP as tomorrow morning I have to tell to my client as how much time it will take to convert all the beans from bea weblogic to Iplanet. I wish if there was any automated tool from Iplanet which can automatically convert the bea beans to Iplanet.
please male use of the oracle schema files I gave along with the zip file and let me know what went wrong...why the bean is unable to excute the ejbCreate(....) method properly
Thanks in advance
Regards
ShravanI had the same error about 45 minutes ago. I got past it though. I believe it was a nested SQL exception. Double check all of your SQL statements for errors. Look for missing and/or extraneous spaces and/or punctuation. Also, go in and catch some more exceptions at a lower level.
-
Error javax.transaction.TransactionRolledbackException: EJB Exception
Good afternoon, appeared to me the following error, anyone know what it is?
oracle.iam.connectors.common.dao.OIMUtil : OIMUtil() : EJB Exception: : javax.transaction.TransactionRolledbackException: EJB ExceptionHi,
Thanks for the info..But I can't seem to figure out what wrong in my SP.
This is my stored proc. and line no.20 pointing to ORA-06152 is the insert statement..
Can someone help me out please!!
CREATE OR REPLACE PROCEDURE "DBS1"."INS_EXPENSE"
( expense_type in VARCHAR2
, party_payed_to in VARCHAR2
, expense_amount in NUMBER
, bill_date in DATE
, booked_date in DATE
, payed_from_acc in VARCHAR2
, payed_to_acc in VARCHAR2
, payment_mode in VARCHAR2
, status in VARCHAR2
, comment in VARCHAR2
, entry_userid in VARCHAR2
, last_chg_userid in VARCHAR2
, expense_no out NUMBER
IS
BEGIN
select max(EXPENSE_NO) into expense_no from DBS1.EXPENSE;
expense_no := expense_no + 1;
insert into DBS1.EXPENSE (EXPENSE_NO,EXPENSE_TYPE,PARTY_PAYED_TO
,EXPENSE_AMOUNT,BILL_DATE,BOOKED_DATE,PAYED_FROM_ACC,PAYED_TO_ACC
,PAYMENT_MODE,STATUS,COMMENT,ENTRY_TIMESTAMP,ENTRY_USERID
,LAST_CHANGE_TIMESTAMP,LAST_CHANGE_USERID) VALUES
(expense_no,expense_type,party_payed_to,expense_amount,TO_DATE(bill_date,'yyyy-mm-dd')
,TO_DATE(booked_date,'yyyy-mm-dd'),payed_from_acc,payed_to_acc,payment_mode,status
,comment,SYSDATE,entry_userid,SYSDATE,last_chg_userid);
END INS_EXPENSE;
TIA -
WebSphere and TransactionRolledbackException Details
Hello everyone,
we are currently using TopLink and WAS 5.1 to develop a "rich client" application with a Swing client. All database operations are performed on the server side within session beans using TopLink 9.0.4 and the WAS JTS transaction controller coming with TopLink.
And now comes the problem: When the transaction is committed, database operations performed by TopLink can fail because of SQLExceptions. How do I get these SQLExceptions back to the client? I have read several posts in this forum and WebSphere related newsgroups but didn't find a solution. I guess we are not the only ones using this kind of architecture and probably someone has solved this problem or found a work-around. Possibly by adjusting the transaction controller.
This problem is somewhat urgent, because depending on the cause of the exceptions, the client has to do different things to handle the exception (e.g. unique key constraints or duplicate key exceptions). This can only be realized when we get the cause of the transaction to roll back.
Any help is welcome!
ThomasOkay, I think I need to clarify the problem here. All our business logic is implemented using stateless EJB session beans, which are called from the client. All database operations are performed within these session beans and the transactions are managed by the container (WebSphere). Since we are not responsible for transaction management, all transaction handling is done by the container, including the commit of the transaction and also the TopLink UnitOfWork. So the code looks a little bit like this.
public String doSomething() {
// get the session using the session manager
UnitOfWork uow = session.getActiveUnitOfWork();
// Create a new object, no INSERT happens here,
// so nothing goes wrong
uow.registerNewObject(...);
// Everything went fine, so we return OK
return "OK"
After we return from this method, the transaction is committed by the container and the SQL statements are executed. There we get e.g. a unique key constraint violation from the database. There is no way for the method to handle this exception. The only thing the client notices is, that the transaction commit failed and the transaction was rolled back. Nothing more, no detailed exception message explaining the cause. This is the normal behaviour with no exception handler installed and also with an exception handler installed and rethrowing the exception. We have tried both. We also thought about saving the exception message at some place for the client to retrieve it later on, but that is almost impossible. We are using stateless session beans, so there is no session to store the message in. Also we don't have the session context available in the exception handler. Even if we tried to return some kind of ResultCode object to the client, we can't change the object in the exception handler and we don't get the object to the client, since an exception occurs during the method execution (from the client's point of view).
I hope this helps to clarify the problem a little bit.
Thomas -
TransactionRolledbackException caused by deactivated app module
Hi, I need some help here please:
My JClient application got this exception after beep kept idle for over 10 min, suring which time I believe the stateful BC4J EJB service had been removed.
I'd like to handle this exceptioni in a graceful manner and let the end user continue without noticing any disruption.
Could anyone share solution on this please?
Thanks!
brArun,
Please check if the JMS resource/ Queue named com.oracle.medrec.jms.PatientNotificationQueue is configured in the server throwing the error.
The exception occurs when the JNDI Tree element doesn't have a Binding Name associated to the resource
Thanks,
Vijaya -
Lock request timeout ...
Dear Rob ,
To consult you again and thanks in advise.
The following code is my session bean's method ,
public void updateDclrDiagnose(String hospitalNo,String dclrYYMM,int postSeq,String
diagKindSign,String[] diagNoAll,String caseNo,String operatorNo) throws CommonException{
DclrDiagnoseHome dclrDiagNoseHome = getDclrDiagnoseHome();
Collection c = dclrDiagNoseHome.findByDiagKindSign (hospitalNo,dclrYYMM,postSeq,diagKindSign);
Iterator it = c.iterator();
while(it.hasNext()){
DclrDiagnose dclrDiagnose = (DclrDiagnose) it.next();
log("delete diagnose - diagNo=" + dclrDiagnose.getDcg_diag_no());
dclrDiagnose.remove();
for(int i = 0; i < diagNoAll.length; i++){
log("create diagnose - diagNo=" + diagNoAll);
dclrDiagNoseHome.create(hospitalNo,dclrYYMM,postSeq,diagKindSign,i+1,diagNoAll[i],caseNo,operatorNo);
log("method complete!!");
When my client JSP call this method several times later , then it will throw an exception
, as following
javax.transaction.TransactionRolledbackException: The lock request from EJB:com.
syscom.prjnckm.hospitalization.declaration.entity.DclrDiagnose with primary key:
com.syscom.prjnckm.hospitalization.declaration.entity.DclrDiagnosePK@74dfef60 ti
med-out after waiting 0 ms. The transaction or thread requesting the lock was:Na
me=[EJB com.syscom.prjnckm.hospitalization.declaration.session.DclrMaintainBean.
updateDclrDiagnose(java.lang.String,java.lang.String,int,java.lang.String,[Ljava
.lang.String;,java.lang.String,java.lang.String)],Xid=155:94dc41cc01ac93a7(35974
8176),Status=Active,numRepliesOwedMe=1,numRepliesOwedOthers=1,seconds since begi
n=30,seconds left=0,activeThread=Thread[ExecuteThread: '9' for queue: 'default',
5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connec
tion]=(state=ended,assigned=none),SCInfo[nckmdomain+nckmsvr]=(state=active),prop
erties=({weblogic.transaction.name=[EJB com.syscom.prjnckm.hospitalization.decla
ration.session.DclrMaintainBean.updateDclrDiagnose(java.lang.String,java.lang.St
ring,int,java.lang.String,[Ljava.lang.String;,java.lang.String,java.lang.String)
], weblogic.jdbc=t3://10.10.10.1:80}),OwnerTransactionManager=ServerTM[ServerCoo
rdinatorDescriptor=(CoordinatorURL=nckmsvr+10.10.10.1:80+nckmdomain+, Resources=
{})],CoordinatorURL=nckmsvr+10.10.10.1:80+nckmdomain+).: weblogic.ejb20.locks.Lo
ckTimedOutException: The lock request from EJB:com.syscom.prjnckm.hospitalizatio
n.declaration.entity.DclrDiagnose with primary key:com.syscom.prjnckm.hospitaliz
ation.declaration.entity.DclrDiagnosePK@74dfef60 timed-out after waiting 0 ms. T
he transaction or thread requesting the lock was:Name=[EJB com.syscom.prjnckm.ho
spitalization.declaration.session.DclrMaintainBean.updateDclrDiagnose(java.lang.
String,java.lang.String,int,java.lang.String,[Ljava.lang.String;,java.lang.Strin
g,java.lang.String)],Xid=155:94dc41cc01ac93a7(359748176),Status=Active,numReplie
sOwedMe=1,numRepliesOwedOthers=1,seconds since begin=30,seconds left=0,activeThr
ead=Thread[ExecuteThread: '9' for queue: 'default',5,Thread Group for Queue: 'de
fault'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=ended,assigned=n
one),SCInfo[nckmdomain+nckmsvr]=(state=active),properties=({weblogic.transaction
.name=[EJB com.syscom.prjnckm.hospitalization.declaration.session.DclrMaintainBe
an.updateDclrDiagnose(java.lang.String,java.lang.String,int,java.lang.String,[Lj
ava.lang.String;,java.lang.String,java.lang.String)], weblogic.jdbc=t3://10.10.1
0.1:80}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(Coordinat
orURL=nckmsvr+10.10.10.1:80+nckmdomain+, Resources={})],CoordinatorURL=nckmsvr+1
0.10.10.1:80+nckmdomain+).
at weblogic.ejb20.locks.ExclusiveLockManager$LockBucket.lock(ExclusiveLo
ckManager.java:527)
at weblogic.ejb20.locks.ExclusiveLockManager.lock(ExclusiveLockManager.j
ava:258)
at weblogic.ejb20.manager.ExclusiveEntityManager.acquireLock(ExclusiveEn
tityManager.java:164)
at weblogic.ejb20.manager.ExclusiveEntityManager.getReadyBean(ExclusiveE
ntityManager.java:219)
at weblogic.ejb20.manager.ExclusiveEntityManager.preInvoke(ExclusiveEnti
tyManager.java:198)
What it does mean ?
Could you give me some idea. Thanks you very much.
imagine
ps.
AP server is WLS 6.1 sp1
all method's tx aattribute is set to Required
log msg is as following,
the first time call:
create diagnose - diagNo=00804
create diagnose - diagNo=00809
method complete!!
the second time call:
delete diagnose - diagNo=00804
delete diagnose - diagNo=00809
create diagnose - diagNo=00804
method complete!!
the third time call:
delete diagnose - diagNo=00804
create diagnose - diagNo=00804
create diagnose - diagNo=00809
method complete!!
the firth time call:
delete diagnose - diagNo=00804
...then Exception occurThank you Erland. This is what I got from sys.sysprocesses:
spid 7
kpid 6544
blocked 0
waittype 0x009D
waittime 489897
lastwaittype KSOURCE_WAKEUP
waitresource
dbid 1
uid 1
cpu 0
physical_io 0
memusage 0
login_time 12-05-2014 21:09
last_batch 12-05-2014 21:09
ecid 0
open_tran 4
status background
sid 0x0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
hostname
program_name
hostprocess
cmd SIGNAL HANDLER
nt_domain
nt_username
net_address
net_library
loginame sa
context_info 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
sql_handle 0x0000000000000000000000000000000000000000
stmt_start 0
stmt_end 0
request_id 0
I think I should apply latest service pack and see if the issue exists. -
Using a BLOB data type in a CMP Entity Bean: Error when send large files
I've successfully impleenting BLOB in my EJB. But the main prob is, it can only work on small file which is around 3K. Any larger files than that will caused error (refer below). I got info from a friend which is using normal JDBC call to insert a file into BLOB column that you can't use java.sql.Blob data type which will have this limitation. He suggested that by using oracle.sql.BLOB, this prob won't exist.
The problem is I'm unable to use oracle.sql.BLOB in my CMP EJB because in the jbosscmp-jdbc.xml, I'm able to specify the normal BLOB only which is java.sql.Blob (Refer below).
<cmp-field>
<field-name>attachment</field-name>
<column-name>attch</column-name>
<jdbc-type>BLOB</jdbc-type>
<sql-type>BLOB</sql-type>
</cmp-field>So, how do I solve this problem? I need to store files which the size is much bigger than that. I'm using JBoss 4 as my app server and Oracle 9i as my DB. I can see that there's many ppl facing this prob, but no solution to it. Pls advise. Thanks.
20:03:34,218 INFO [Server] JBoss (MX MicroKernel) [4.0.1RC1 (build: CVSTag=JBoss_4_0_1_RC1 date=200411041143)] Started in 1m:49s:828ms
20:05:01,640 ERROR [EBCreditApplAttch] Could not create entity
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:982)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:373)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1477)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:888)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2051)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1961)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:452)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:316)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.executeInsert(JDBCAbstractCreateCommand.java:328)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:286)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:137)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572)
at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:222)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:266)
at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:612)
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 org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1113)
at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:192)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:212)
at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:113)
at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:109)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:126)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:100)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:508)
at org.jboss.ejb.Container.invoke(Container.java:878)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:342)
at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:118)
at $Proxy94.create(Unknown Source)
at com.infopro.dt.app.ca.ejb.SBCreditApplAttch.setCreditApplAttch(SBCreditApplAttch.java:148)
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 org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:51)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
20:05:01,656 ERROR [JDBCUtil] SQL error
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:982)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
at oracle.jdbc.ttc7.Oclose.receive(Oclose.java:105)
at oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:565)
at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:824)
at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:346)
at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:280)
at org.jboss.resource.adapter.jdbc.WrappedStatement.internalClose(WrappedStatement.java:782)
at org.jboss.resource.adapter.jdbc.WrappedStatement.close(WrappedStatement.java:52)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCUtil.safeClose(JDBCUtil.java:92)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:310)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:137)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572)
at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:222)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:266)
at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:612)
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 org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1113)
at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:192)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:212)
at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:113)
at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:109)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:126)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:100)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:508)
at org.jboss.ejb.Container.invoke(Container.java:878)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:342)
at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:118)
at $Proxy94.create(Unknown Source)
at com.infopro.dt.app.ca.ejb.SBCreditApplAttch.setCreditApplAttch(SBCreditApplAttch.java:148)
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 org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:51)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
20:05:01,672 WARN [JBossManagedConnectionPool] Exception destroying ManagedConnection org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@87b71b[state=DESTROYED mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@225f0 handles=0 lastUse=1110456252484 permit=false trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@108bef4 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@1309516]
org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:541)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:255)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:539)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:329)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:552)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:407)
at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:699)
at org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2141)
at org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1674)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:312)
at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: Io exception: Software caused connection abort: socket write error
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:342)
at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1438)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:251)
... 38 more
20:05:01,687 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=, localId=17] errorCode=XA_UNKNOWN(0)
org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error))
at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:702)
at org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2141)
at org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1674)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:312)
at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:541)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.commit(LocalManagedConnection.java:100)
at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:695)
... 33 more
Caused by: java.sql.SQLException: Io exception: Software caused connection abort: socket write error
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:342)
at oracle.jdbc.driver.OracleConnection.commit(OracleConnection.java:1344)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.commit(LocalManagedConnection.java:96)
... 34 more
20:05:01,718 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=, localId=17] errorCode=XA_UNKNOWN(0)
org.jboss.resource.connectionmanager.JBossLocalXAException: wrong xid in rollback: expected: null, got: XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=1, localId=17]
at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.rollback(TxConnectionManager.java:774)
at org.jboss.tm.TransactionImpl$Resource.rollback(TransactionImpl.java:2165)
at org.jboss.tm.TransactionImpl.rollbackResources(TransactionImpl.java:1727)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:340)
at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
20:05:01,734 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract void com.infopro.dt.app.ca.ejb.SBCreditApplAttchRemote.setCreditApplAttch(com.infopro.dt.app.ca.ejb.DTOCreditApplAttch) throws javax.ejb.CreateException,java.lang.Exception,java.rmi.RemoteException, causedBy:
org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=, localId=17] status=STATUS_NO_TRANSACTION; - nested throwable: (org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error)))
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:344)
at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:856)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exceptionTry to use the OCI native driver instead of THIN.
-
Current server is the coordinator and transaction is not found
Hi,
We're using Weblogic 8.1 SP3. We have a single weblogic domain and 2 clusters in it. EAR1 is deployed in cluster 1 and EAR2 is deployed in cluster 2. EAR2 is compiled and created using j2ee.jar and not weblogic.jar.
We have a MessageDrivenBean which is CMT / Required in EAR1 calls a BMT Stateless Session Bean in EAR2.
A new transaction is begun in the BMT SB method and commit or rollback is called based on exception. A RuntimeException is thrown back to the MDB in case the transaction is rolled back in Bean Managed SB.
Sometimes from the Bean Managed SB the following exception is thrown:
javax.transaction.TransactionRolledbackException: Current server is the coordinator and transaction is not found. It was probably rolled back and forgotten already.
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at com.oakgrovesystems.reactor.frontDesk.EJBFrontDeskBean_1gq9kv_EOImpl_813_WLStub.handleRequest(Unknown Source)
at com.oakgrovesystems.reactor.requests.ReactorRequest.send(ReactorRequest.java:212)
at com.oakgrovesystems.reactor.client.EJBReactorProxy.sendRequest(EJBReactorProxy.java:44)
at com.oakgrovesystems.reactor.client.AbstractReactorProxy.handleRequest(AbstractReactorProxy.java:52)
at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at tavant.bpm.client.proxy.DynamicFailoverReactorProxy.invoke(DynamicFailoverReactorProxy.java:84)
at $Proxy11.handleRequest(Unknown Source)
at tavant.bpm.client.ProcessHome.handleRequest(ProcessHome.java:298)
at tavant.bpm.client.ProcessHome.startProcess(ProcessHome.java:87)
at tavant.bpm.client.processor.CreateWorkflowInstance.startProcess(CreateWorkflowInstance.java:70)
at tavant.bpm.client.processor.CreateWorkflowInstance.invoke(CreateWorkflowInstance.java:51)
at tavant.bpm.ejb.AsynchronousProcessorMessageBean.onMessage(AsynchronousProcessorMessageBean.java:58)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:370)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:262)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2678)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
This is not consistently reproducible though it happens when server is heavily loaded. When this exception occurs, the transaction in the BMT Session Bean is actually getting committed! The message gets redelivered from the MDB.
What could be the problem?
Regards
SandhyaI'm seeing a similiar problem on our servers recently and thought I would add my problem as well. We are using Weblogic 8.1; don't know which SP is in production. We have an EAR file with an SB EJB that puts messages in a queue. The EAR is deployed in a cluster along with the queues. The errors below occurred in 3 of the 4 WLS instances in our cluster. This happened during a peak period and lasted for several seconds in Production.
###<Jul 1, 2005 11:18:12 AM EDT> <Warning> <RMI> <exsdxtxeax1x.prod.xxxx.xxx> <ems-04> <ExecuteThread: '12' for queue: 'web
logic.kernel.Default'> <<WLS Kernel>> <> <BEA-080006> <Failed to associate the transaction context with the response while marshall
ing an exception to the client:
javax.transaction.TransactionRolledbackException: Current server is the coordinator and transaction is not found. It was probably
rolled back and forgotten already..
javax.transaction.TransactionRolledbackException: Current server is the coordinator and transaction is not found. It was probably
rolled back and forgotten already.
at weblogic.transaction.internal.TransactionManagerImpl.sendResponse(Ljava.lang.Object;)Ljava.lang.Object;(TransactionManag
erImpl.java:1438)
at weblogic.rmi.internal.BasicServerRef.associateTxContext(Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundRespo
nse;)V(BasicServerRef.java:490)
at weblogic.rmi.internal.BasicServerRef.postInvoke(Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;Lweblogic.rmi.sp
i.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Throwable;)V(Optimized Method)
at weblogic.rmi.internal.BasicServerRef.handleRequest(Lweblogic.rmi.spi.InboundRequest;)V(Optimized Method)
at weblogic.rmi.internal.BasicExecuteRequest.execute(Lweblogic.kernel.ExecuteThread;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Optimized Method)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
> -
I dont understand how OpenMessageQueue could participate in global transaction, when it is quite possible that a commit will fail:
http://docs.sun.com/app/docs/doc/819-4469/6n6kb5cs3?a=view#gczqs
It says:
"In the second case, when the failover occurs during a call to Session.commit, there may be three outcomes:
1) The transaction is committed successfully and the call to Session.commit does not return an exception. In this case, the application client does not have to do anything.
2) The runtime throws a TransactionRolledbackException and does not commit the transaction. The transaction is automatically rolled back by the Message Queue runtime. In this case, the client application must retry the transaction as described for the case in which an open transaction is failed-over.
3) A JMXException is thrown. This signals the fact that the transaction state is unknown: It might have either succeeded or failed. A client application should handle this case by assuming failure, pausing for three seconds, calling Session.rollback, and then retrying the operations. However, since the commit might have succeeded, when retrying the transacted operations, a producer should set application-specific properties on the messages it re-sends to signal that these might be duplicate messages. Likewise, consumers that retry receive operations should not assume that a message that is redelivered is necessarily a duplicate. In other words, to ensure once and only once delivery, both producers and consumers need to do a little extra work to handle this edge case. The code samples presented next illustrate good coding practices for handling this situation."
If I make the JMS sessions part of a global transaction, how can the OpenMessageQueue / JMS resource guarantee to be part of the ACID property when there is a possible that commit throws an exception ( assuming therefore that the transaction did not complete ), but it actually committed as per above ( 3rd outcome ) ??I dont understand how OpenMessageQueue could participate in global transaction, when it is quite possible that a commit will fail:
http://docs.sun.com/app/docs/doc/819-4469/6n6kb5cs3?a=view#gczqs
It says:
"In the second case, when the failover occurs during a call to Session.commit, there may be three outcomes:
1) The transaction is committed successfully and the call to Session.commit does not return an exception. In this case, the application client does not have to do anything.
2) The runtime throws a TransactionRolledbackException and does not commit the transaction. The transaction is automatically rolled back by the Message Queue runtime. In this case, the client application must retry the transaction as described for the case in which an open transaction is failed-over.
3) A JMXException is thrown. This signals the fact that the transaction state is unknown: It might have either succeeded or failed. A client application should handle this case by assuming failure, pausing for three seconds, calling Session.rollback, and then retrying the operations. However, since the commit might have succeeded, when retrying the transacted operations, a producer should set application-specific properties on the messages it re-sends to signal that these might be duplicate messages. Likewise, consumers that retry receive operations should not assume that a message that is redelivered is necessarily a duplicate. In other words, to ensure once and only once delivery, both producers and consumers need to do a little extra work to handle this edge case. The code samples presented next illustrate good coding practices for handling this situation."
If I make the JMS sessions part of a global transaction, how can the OpenMessageQueue / JMS resource guarantee to be part of the ACID property when there is a possible that commit throws an exception ( assuming therefore that the transaction did not complete ), but it actually committed as per above ( 3rd outcome ) ??
Maybe you are looking for
-
Static using HDMI to DVI adapter on 2011 mini
Hi, I bought my first Mac last week, the i5 2.3ghz mini. I originally set it up on my TV (using HDMI), downloaded/installed the updates, and messed around a bit before deciding that a 42 inch display isn't as convenient as I thought it would be. Usi
-
Hello, My Application(a Desktop application) through the following exception Can any one please help me finding what are the possible reasons and solution for the below error? https://forums.oracle.com/message/6443182#6443182 https://forums.oracle.co
-
Networked Macs can no longer see iTunes 7.6 shares
Since installing iTunes 7.6 (29) I cannot access my library from any of the Macs in the house. I keep getting a firewall blocking error message. The only way I can gain access is to switch off the Leopard OS 10.5.1 firewall altogether! Nasty. I delet
-
ERROR - "iTunes cannot run because some of its required files are missing."
Every time I open iTunes I'm getting the following error: "iTunes cannot run because some of its required files are missing. Please reinstall iTunes." This started after I installed iTunes 8.0.2.20 on my PC (running Windows XP SP3) to get the latest
-
Dear Sir, I am working in ECC 5.0 & WAD 3.5 x environment. Just i want to know while executing my WAD report i designed Generic navigation block also. Just i want to know the while executing my WAD report i am giving the input values in 'Force disp