Transaction rollback or commit

Hello to everybody...I'd need a solution for a probem that I 'm not able to resolve.I have a session bean on the server ( WeblogicServer 8.1 Sp3 ) and a Java Swing client.I need to break and rollback a long process on the server by client swing button pression.I have thought to create a user transaction (under a client thread process) on the client and I try to propagate it to the container ( Container Managed Transaction).Now I have to break the long time server operation at certain moment by make a rollback on the client trasaction,after the button pression.The problem is that the rollback DOES NOT ARRIVE to the server and the sever process continue to operate.How this is possible?I think that I make basic mistake,but which?Can Anyone help me please?
thanks for help and sorry for bad english.

whaqt I need to do is to break and rollback the transaction ( REQUIRED on the container ) by the client when I want....Whit this prototipe now I try to pass the transaction rollback operation from the client to the server,bt now the message on the server is the following:
java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 33 seconds
Xid=BEA1-00006D5145365E026810(6407574),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=1,seconds since begin=33,seconds left=30,activeThread=Thread[ExecuteThread: '23' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@f30862,re-Registered = false),SCInfo[mydomain+IRMA_Admin]=(state=active),properties=({weblogic.jdbc=t3://10.2.1.16:10004}),CoordinatorURL=IRMA_Admin+10.2.1.16:10004+mydomain+t3+)]'. No further JDBC access is allowed within this transaction.
at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:155)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:164)
at weblogic.jdbc.wrapper.Statement.checkStatement(Statement.java:234)
at weblogic.jdbc.wrapper.Statement.preInvocationHandler(Statement.java:83)
at weblogic.jdbc.wrapper.Statement_oracle_jdbc_driver_T4CStatement.clearBatch(Unknown Source)
at irma.utility.database.DataBaseUtility.executeBatchUpdate(DataBaseUtility.java:62)
at irma.technology.IrmaTechno.updateDBData(IrmaTechno.java:1077)
at irma.business.service.ImportService.importFileEricsson(ImportService.java:698)
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 irma.business.Dispatcher.callService(Dispatcher.java:66)
at irma.ejb.serviceSessionManager.ServiceSessionManagerBean.getService(ServiceSessionManagerBean.java:67)
at irma.ejb.serviceSessionManager.ServiceSessionManager_b1engw_EOImpl.getService

Similar Messages

  • DISTRIBUTED TRANSACTION의 2 PHASE COMMIT 개념 및 절차

    제품 : ORACLE SERVER
    작성날짜 : 2002-05-15
    DISTRIBUTED TRANSACTION의 2 PHASE COMMIT 개념 및 절차
    ====================================================
    Oracle이 분산 트랜잭션 수행을 위해 사용하는 2 phase commit의 자세한 개념
    및 절차를 살펴본다.
    1. 용어와 개념
    Oracle은 분산 트랜잭션을 수행하면서 여기에 포함된 모든 node에 대해서
    session tree를 구성한다. session tree는 분산 트랜잭션에 관여되는 session과
    각 session의 역할을 계층적인 tree형태로 표현한다고 볼 수 있으며,
    DBA_2PC_NEIGHBORS view를 통해 확인 가능하다.
    session tree에 포함되는 각 node들이 수행하는 역할은 2 phase commit 절차의
    기본적인 개념이 되므로, 분산 트랜잭션의 이해를 위해서 정확히 파악할 필요가
    있다. 아래에 각 역할 들의 종류와 의미를 설명하며 [그림 1]을 예로 든다.
    - client
    - database server
    - global coordinator
    - local coordinator
    - commit point site
    insert into seoul_tab...;
    delete from pusan_tab@pusan...;
    Seoul.world inchoen_procedure@incheon...;
    / \ incheon_procedure source
    Pusan.world Inchoen.world ------------------------
    \ delete from incheon_tab...;
    \ update jeju_tab@jeju...;
    Jeju.world
    [그림 1] session tree의 간단한 예제
    (1) client: 다른 node의 database 정보를 이용하면 client가 된다.
    참조되어지는 node는 이때 database server가 된다. seoul.world가
    pusan.world와 incheon.world의 client이고, incheon.world는 jeju.world의
    client가 된다.
    (2) server (database server): 분산 트랜잭션에 포함된 모든 node를 server라
    한다. seoul.world, pusan.world, incheon.world, jeju.world 모두 database
    server이다.
    (3) global coordinator:분산 트랜잭션을 처음 수행시킨 node를 의미한다.
    여기서는 seoul.world가 global coordinator이다.
    (4) local coordinator: 분산 트랜잭션에서 이 node에 관계된 부분의 결과를
    얻으려면 다른 node를 참조해야 하는 경우 이 node를 local coordinator라고
    한다. 이것이 위에서 설명한 global coordinator와는 차이가 있는데 global
    coordinator는 항상 local coordinator이지만, 반대로 local coordinator는
    global coordinator가 아닐 수 있다.
    Incheon.world의 경우 처음 문장을 수행시킨 global coordinator는 아니지만,
    Incheon.world의 Inchoen_procedure내에 jeju.world가 reference되므로
    local coordinator가 된다. seould.world는 global coordinator이면서
    local coordinator가 된다.
    (5) commit point site
    commit point site는 분산 트랜잭션에 관여된 node중 2 phase commit단계에서
    commit이나 rollback을 항상 제일 먼저 하게 된다. 이 node의 local
    transaction부분은 prepared상태를 거치지 않아 in-doubt 상태가 되는 일이
    없고, 그러므로 distributed lock에 의해 조회나 DML시 오류가 발생하는
    없게 된다. 이러한 이유로 제일 중요한 data를 포함하는 중심이 되는 node를
    commit point site로 지정하는 것이 바람직하다.
    commit point site는 각 node의 initialization parameter중
    COMMIT_POINT_STRENGTH 값을 비교하여 제일 큰 값을 가진 node가 지정된다.
    두 node만 관여된 분산 트랜잭션의 경우 commit_point_strength가 지정되어
    있지 않으면, default로 global coordinator가 아닌 node가 commit point
    site가 된다.
    2. 2 Phase Commit (2PC)
    분산 트랜잭션을 commit하는 것은 다음 두 단계를 거치게 된다. 그래서 Oracle의
    분산 트랜잭션은 2 phase commit mechanism을 사용한다고 한다.
    prepare 단계: global coordinator (SQL문장을 처음 수행한 server) 가 commit
    point site를 제외한 나머지 node에게 prepare하도록 요청한다.
    요청을 받은 node는 각 local db에서의 작업에 대해 commit이나
    rollback할 준비를 마치고 다시 global coordinator에게 prepare
    되었음을 알려 주는 단계이다.
    node가 prepare 단계를 지나고 commit을 완료하기 전까지는
    transaction이 in-doubt상태라고 부른다.
    commit단계: 모든 node가 정상적으로 prepare가 되면, 먼저 commit point site가
    commit을 완료하고 이후 다른 node들도 commit을 완료하게 된다.
    이렇게 분산 트랜잭션에서 commit을 수행하기 위해 두 단계를 거치면서 일부
    node만 commit이 되고 일부는 rollback이 되는 불일치 상태를 막을 수 있는데,
    그러기 위한 자세한 단계별 처리 절차를 아래 [표 1]에 17단계로 기술하였다.
    각 단계별로 global coordinator와 commit point site, 그리고 둘 모두에
    해당되지 않는 일반 database server입장으로 나누어 표시하였으며, 만약 어떤
    node가 global coordinator이면서 commit point site라면, 두 part의 일을 모두
    하게 되는 것이다.
    아래 표의 (4) ~ (10)번 단계는 prepare단계의 작업이며, (11) ~ (15)번 단계는 commit단계
    이다. 부가적으로 (16), (17)을 정리 단계로 부르기도 한다.
    단계| Global coordinator | 참여한 db server | Commit point site
    (commit point site도 아니고
    global coordinator도 아닌경우)
    (1) SQL문장 발생 |     |
    (2) SQL문장이 수행되면 session tree가 구성되고 이 정보는
    DBA_2PC_NEIGHBORS를 통해 조회 가능하다.
    변경이 필요한 data는 각 node별로 자기의 local data에 대해서 lock
    (TX,TM)을 걸면서 문장 수행이 진행된다.
    (3) Commit; 문장 발생 |          |
    (4) commit point site를 |          |
    commit_point_strength |          |
    initial parameter를 참조 |          |
    하여 결정하고, |          |
    참여한 모든 node의 SCN중 |          |
    제일 큰 값을 commit SCN으로|           |
    결정하고 이후에 각 node의 |          |
    commit시 이용한다. |          |
    (5) commit point site를 |          |
    제외한 모든 node들에게 |          |
    prepare하도록 요청한다 |          |
    (6) prepare 요청 message받는다 |
    (7) transaction이 이 node의 data를 변경하였는지를 |
    확인하고, 변경 사항이 있고 commit이 가능한 |
    상태이면 다음 단계를 수행하고, 그렇지 않으면 |
    (10)번 단계로 건너뛴다           |
    (8) transaction에 distributed lock을 걸어 fail이 |
    되어도 rollback이 되지 않고 변경 사항에 lock이|
    걸린 채 유지되도록 한다.           |
    distributed lock이 걸려 있는 상태에서는 변경 |
    data를 포함한 block에 포함된 어떤 data도 |
    read/write가 불가능하게 된다 (ora-1591발생) |
    [참조 1]                    |
    (9) transaction에 의해 변경된 내용과 (8)번 단계의 |
    information에 대한 redo log 내용을 각 node의 |
    redo log file에 기록한다. (해당 node의 변경 |
    사항만을 해당 node의 redo log file에 기록) |
    (10) global coordinator에게 다음 세가지 중 하나의 |
    상태를 prepare message대한 응답으로 전달한다.|
    PREPARED:변경된 data가 있고 commit이 가능한 |
    상태               |
    READ-ONLY: 자신의 node에는 data 변경사항이 |
    없고 조회만 관여한 경우 |
    ABORT: 오류 발생으로 인해 commit이 불가능한 |
    경우                     |
    (11) prepare 요청 message에 | |
    대한 응답 중 한 node라도| |
    abort가 있으면: | |
    모든 관여된 node를 | |
    rollback하도록 요청하고 | |
    distributed transaction | |
    을 끝낸다. | |
    prepare요청 message에 | |
    대한 응답이 read-only나 | |
    prepared만 있다면: | |
    commit point site에게 | |
    commit하라고 요청한다. | |
    (12) | |이 node에 관여된 local
    | |transaction 부분만을
    | |commit 한다.
    | |- data변경사항과 commit
    | |정보를 local redo log
    | |file에 기록한다.
    | |- commit SCN은 (4)번단계
                   |           |에서 얻어진, 관여된 node
                   |          |의 SCN중 제일 큰 값을
    | | 이용한다.
                   |     |- (2) 번 단계에서 잡혔던 TX,
    | | TM lock은 해제된다.
    (13) |global coordinator에게
    |commit이 완료되었음을
    |알리는 message를 보낸다.
    (14) commit point site를 제 | |
    외한 다른 node들에게 | |
    commit하라고 요청한다. | |
    (15) commit하면서 (2)번 단계에서 잡은 TX, TM lock|
    과, (8)번 단계에서 잡힌 distributed lock을 |
    release하고, 이러한 commit정보를 redo log |
    file에 기록한다.
    (16) | |DBA_2PC_PENDING,
    | |DBA_2PC_NEIGHBORS등
    | |dictionary 저장된 정보를
    | |지우고 global coordinator
    | |에게 정보를 지웠음을
    | |알려준다
    (17) DBA_2PC_PENDING, DBA_2PC_NEIGHBORS 등 |
    dictionary 저장된 정보를 지우고 정리한다. |
    [참조 2] |
    [표 1] 2 phase commit의 단계별 절차
    [참조 1] distributed lock
    (8)번 단계에서 기술한 distributed lock은 실제 v$lock을 확인하여서는
    나타나지 않는다. v$lock에 lock type이 DX로 나타나는 것은 distributed
    transaction lock으로 이것은 2 phase commit을 위한 것이 아니라
    XA에서 단일 transaction내에서 여러 branch에 대한 control을
    tightly-coupled 형태로 하는 경우에 사용되어 지는 것이므로, 여기서
    언급하는 distributed lock과 혼동되어서는 안된다.
    여기에서 설명한 distributed lock은 실제 type을 가지고 있는 lock이
    아니고 해당 transaction에 대한 local db내의 rollback segment
    header부분에서 transaction상태를 prepared를 나타내는 bit로
         설정함으로써 lock설정을 구현한다.
    그러므로 이 lock이 걸려 있는 동안은 다른 transaction이 해당 분산
    트랜잭션이 변경한 data와 같은 block의 어떠한 data라도 읽거나
    쓰려고 하면, 그 block에 commit되지 않은 transaction이 있다는 것을
    인식하고 before image를 읽기 위해 rollback segment를 찾게 되고,
    그 rollback segment에 prepared상태로 표시되어 있어 before image
    읽는 것을 막기 때문에 오류가 발생하게 된다. 이 오류가 ORA-1591이
    되는 것이다.
    transaction이 prepared상태로 distributed lock이 걸린 상태인지는
    DBA_2PC_PENDING의 status가 PREPARED인지를 확인하는 것만이
    dictionary를 통해 가능한 정보이다.
    [참조 2] DBA_2PC_PENDING의 정보
    DBA_2PC_PENDING view의 정보는 분산 트랜잭션이 비정상 종료 되었을
    때만 정보가 저장되는 것이 아니다. 앞의 [표 1]의 2 phase commit
    단계마다, 수행되는 작업에 대해서 해당 view에 계속해서 정보를
    변경해 가고 앞의 표의 (16), (17) 단계를 완료해야 지워지게 된다.
    분산 트랜잭션이 비정상 종료시 이 view에서 해당 transaction의
    상태가 COLLECTING이나 PREPARED, COMMITTED 상태로 정보가 보여지는
    것은 마지막 정리 단계 수행 전에 transaction이 종료되었기 때문이다.
         non-commit point site의 경우, (10)번 단계에서 distributed lock을
    걸기 전까지는 DBA_2PC_PENDING의 STATE column 값이 COLLECTING으로
    나타나게 되며, (15) 단계 수행전까지는 PREPARED로 나타나고, (17)번
         수행전까지는 COMMITTED로 나타난다.
    commit point site의 경우는, (11)번 수행단계까지는 이 view에 어떠한
    정보도 포함하지 않으며, (12)번 수행 후 (16)번 단계를 수행하기
    전까지는 COMMITTED로 STATE 값을 가지게 된다.

  • TRANSACTION을 ROLLBACK SEGMENT에 할당하는 방법(SET TRANSACTION USE)

    제품 : ORACLE SERVER
    작성날짜 : 2003-04-04
    TRANSACTION을 ROLLBACK SEGMENT에 할당하는 방법
    ==============================================
    (SET TRANSACTION USE ROLLBACK SEGMENT)
    Purpose
    Batch job 등을 사용할 때 특별히 크게 만든 rollback segment를 사용하도록
    할 수가 있다. transaction에 특정한 rbs를 지정하는 방법을 알아보자.
    Explanation
    Oracle은 다음과 같은 규칙에 의해 각 Transaction이 사용하는 Rollback
    segment를 결정한다.
    1. Active Transaction의 수가 가장 작은 Rollback Segment에 할당한다.
    2. 만약 1의 조건에 만족하는 Rollback segment가 하나 이상이면, 가장
    마지막에 할당된 rbs 다음의 rbs를 할당한다. 이것은 undo 기능을 더
    오래 지속시키도록 해 준다.
    그러나, Application이 큰 rollback segment가 필요하다면 위와 같이
    자동적인 rollback segment의 할당이 아닌 Manual하게 특정 rollback
    segment를 할당 가능하다.
    다음의 방법을 사용한다.
    1) 큰 rollback segment를 만든다. 큰 rollback segment 를 만들기
    위해서는 rbs tablespace에 영역이 충분히 커야 하므로 필요할 경우
    tablespace를 확장하는 작업을 한다.
    <tablespace 확장>
    $ sqlplus system/manager
    sql> alter tablespace rbs add datafile '?/rbs1SID.dbf' size 100m;
    <rollback segment 생성>
    sql> create rollback segment big_rbs storage(initial 10m next 10m)
    tablespace rbs;
    sql> alter rollback segment big_rbs online;
    2) Transaction 를 assign 한다.
    <sqlplus>
    SQL> set transaction use rollback segment big_rbs;
    <pro*c>
    exec sql commit work;
    exec sql set transaction use rollback segment big_rbs;
    <forms>
    dbms_transaction.use_rollback_segment('big_rbs');
    이와 같이 지정하면 이후에 commit 또는 rollback이 일어날 때까지
    한 transaction에만 해당된다.

  • BPEL Sensor for BAM report transaction rollback exception, ORABPEL-05002

    HI,
    I meet a question about BPEL sensor to BAM, it often report below error for Transaction rollback exception and timed out. After this error last half an hour, BPEL will thoughout connect database error and out of Memory.
    It is running on BPEL/BAM 10.1.3.5.
    <2010-01-19 17:33:42,595> <INFO> <default.collaxa.cube.sensor> Flushed 2 rows in BAM batch
    <2010-01-19 17:33:42,600> <INFO> <default.collaxa.cube.sensor> Flushed 6 rows in BAM batch
    <2010-01-19 17:33:42,600> <INFO> <default.collaxa.cube.sensor> Flushed 4 rows in BAM batch
    <2010-01-19 17:33:42,603> <ERROR> <default.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
    javax.ejb.EJBException: An exception occurred during transaction completion: ; nested exception is: javax.transaction.RollbackException: Timed out
    javax.transaction.RollbackException: Timed out
         at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:633)
         at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:273)
         at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
         at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
         at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:132)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    javax.ejb.EJBException: An exception occurred during transaction completion: ; nested exception is: javax.transaction.RollbackException: Timed out
         at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:365)
         at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:139)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.transaction.RollbackException: Timed out
         at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:633)
         at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:273)
         at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
         at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
         at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:132)
         ... 29 more
    <2010-01-19 17:33:42,604> <ERROR> <default.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: An exception occurred during transaction completion: ; nested exception is: javax.transaction.RollbackException: Timed out
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: An exception occurred during transaction completion: ; nested exception is: javax.transaction.RollbackException: Timed out
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:171)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    <2010-01-19 17:33:42,605> <ERROR> <default.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
    javax.ejb.EJBException: An exception occurred during transaction completion: ; nested exception is: javax.transaction.RollbackException: Timed out
    javax.transaction.RollbackException: Timed out
         at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:633)
         at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:273)
         at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
         at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
         at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:132)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    javax.ejb.EJBException: An exception occurred during transaction completion: ; nested exception is: javax.transaction.RollbackException: Timed out
         at com.evermind.server.ejb.EJBUtils.createEJBException(EJBUtils.java:365)
         at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:139)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.transaction.RollbackException: Timed out
         at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:633)
         at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:273)
         at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
         at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
         at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:132)
         ... 29 more
    After half an hour, BPEL will report below error log:
    ORABPEL-04067
    Cannot update invoke message.
    The process domain was unable to update the state of the invocation message "99e5b70b31758b56:3c0225db:126439fa400:48c0". The exception reported is: Io exception: Connection reset
    Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid.
    sql statement: UPDATE invoke_message SET state = ? WHERE message_guid = ?
    I am not sure these two error has any relationship.
    But it is an issue that BAM sensor ofter report transaction time out.

    sorry, I forgot the below things which I tried to tune the JMS.
    <property name="retryMaxCount">10</property>
    <property name="retryInterval">60</property>
    <property name="useJCAConnectionPool">true</property>
    <property name="maxSizeJCAConnectionPool">500</property>
    Thanks.

  • How to stop transaction rollback

    Hi,
    i am created a bpel process which will do the db inserting data but i am getting this below error while inserting the data. can any one please solve this:
    Error log:
    faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} parts: {{ summary=<summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception. insert failed. Descriptor name: [AddMoreBikes.Bikes]. Caused by java.sql.SQLException: Cannot call Connection.commit in distributed transaction. Transaction Manager will commit the resource manager when the distributed transaction is committed.. Please see the logs for the full DBAdapter logging output prior to this exception. This exception is considered retriable, likely due to a communication failure. To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary> ,detail=<detail>Cannot call Connection.commit in distributed transaction. Transaction Manager will commit the resource manager when the distributed transaction is committed.</detail> ,code=<code>0</code>}
    Edited by: Ajay8706 on Feb 19, 2013 10:44 PM

    Hi,
    To resolve this, go to Deployments on the weblogic console and open DBAdapter. Go to Connection - Outbound Connection Pool where the jndi is configured to talk to the jdbc data source.
    Expand the javax.resource.cci.ConnectionFactory and select the appropiate Connection.
    There you can see that the data source name is configured in the dataSourceName row while it should be configured in the xaDataSourceName row. This is because the datasource you must have defined as XA( confirm by going to transaction tab in jdbc configuration)
    Thanks,
    Durga
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).

  • Possible Bug?  NullPointerException on Transaction rollback

    Hi,
    Not sure if this is a known bug or not. I am using SQL Server 2000,
    Microsoft's JDBC driver, JDK 1.4.1_01 on a Win2k platform. With Kodo
    2.3.3 I am getting the following exception when I call a
    transaction.rollback(). My update is failing because I am trying to
    insert too many characters into a varchar(255) field. Ah, the wonders
    of double-byte character sets and fixed width HTML text input fields.
    Khamsouk
    15:35:46,734 INFO [kodo] UPDATE GCGroup SET
    name='??????????????????????????????????????????????????????????????????????
    ??????????????????????', visibility=2, child_count=0, JDOLOCKX=1,
    description='', rank=1, global_write=0, user_count=0, global_read=0 WHERE
    (id = 170 AND JDO
    LOCKX = 0)
    15:35:46,750 INFO [kodo] [ C:
    15:35:46,750 INFO [kodo] 7795432
    15:35:46,750 INFO [kodo] ; T:
    15:35:46,750 INFO [kodo] 16900472
    15:35:46,750 INFO [kodo] ; D:
    15:35:46,750 INFO [kodo] 10/25/02 3:35 PM
    15:35:46,750 INFO [kodo] ]
    15:35:46,750 INFO [kodo] roll back data store transaction
    15:35:46,750 INFO [STDOUT] @@@ THE TRANSACTION IS
    com.solarmetric.kodo.ee.EEPersistenceManager@c954e
    15:35:46,750 ERROR [STDERR] javax.jdo.JDOException:
    java.lang.NullPointerException
    NestedThrowables:
    java.lang.NullPointerException
    15:35:46,765 ERROR [STDERR] at
    com.solarmetric.kodo.ee.EEPersistenceManager.rollback(EEPersistenceManager.java:169)
    15:35:46,765 ERROR [STDERR] at
    com.gulfnet.usermanager.UserManager.updateJobTitle(UserManager.java:1223)
    15:35:46,765 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.updateObject(JobTitleAction.java:115)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.doAction(JobTitleAction.java:65)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.processForm(JobTitleAction.java:44)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.common.actions.GroupCastAction.perform(GroupCastAction.java:52)
    15:35:46,828 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
    15:35:46,828 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
    15:35:46,828 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
    15:35:46,828 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    15:35:46,828 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:142)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
    15:35:46,953 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)
    15:35:46,953 ERROR [STDERR] NestedThrowablesStackTrace:
    15:35:46,953 ERROR [STDERR] java.lang.NullPointerException
    15:35:46,953 ERROR [STDERR] at
    com.solarmetric.kodo.ee.EEPersistenceManager.rollback(EEPersistenceManager.java:161)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.usermanager.UserManager.updateJobTitle(UserManager.java:1223)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.updateObject(JobTitleAction.java:115)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.doAction(JobTitleAction.java:65)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.processForm(JobTitleAction.java:44)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.GroupCastAction.perform(GroupCastAction.java:52)
    15:35:46,953 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
    15:35:46,953 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
    15:35:46,953 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
    15:35:46,953 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    15:35:46,953 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:142)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
    15:35:47,093 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)

    When I encounter an RuntimeException I do a transaction rollback manually.
    my try/catch is like the following:
    try {
    } catch (JDOFatalException e) {
         throw new MyException();
    } catch (RuntimeException e) {
         trans.rollback();
         throw new MyException();
    I am using JBoss3.0.3 with kodo.rar, using JDO's transaction interface.
    Should i be doing a trans.rollback manually() when I get a
    JDOException thrown i.e. should I have a separate catch for
    JDOExceptions? A lot of examples I see look like the above code.
    Kam
    Abe White wrote:
    Can you give a little more information about the context of the rollback?
    Are you invoking trans.rollback() yourself, or is it happening
    automatically
    because of a SQL error? It looks like you're using managed transactions?
    Are you using them through the local JDO transaction interface?
    Through CMT?
    Thanks for the report, in any case...

  • Getting error 'root transaction wanted to commit, but transaction aborted'

    We have a module in our project, which reads data from XML file and merges the data into the database. This merging at one end happens to a SQL Server 2005/SQL Server 2000 datbase. At the other end it happens to a Oracle database. We have a portal application developed in ASP.NET from where, we merge the data.
    When the data to be merged is very huge, we get this message. 'The root transaction wanted to commit, but transaction aborted'. Right now we are getting this message, when we try to merge data on to a oracle database.
    But this problem is very intermittent. It happens only when there is huge amount of data to be inserted to one table.
    As i have mentioned in my post, we use Windows server 2003 operation system with service pack 2. This error does not come when we do the same operation with service pack 1.
    So is it OS dependent?

    Please find the details of the log file.
    DMS_CORE_DAL_DBERROR
    at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
    at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
    at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
    at CoreServices.DAL.DataManager.ExecuteNonQueryProc(DBConnection foConn, String fProcName, DOList foParamDOList)
    *** ORA-02291: integrity constraint (ADVTVS.FK_JCARD_JCARD_LAB) violated - parent key not found
    ORA-06512: at "ADVTVS.PKG_SYNC_MERGE_TRNS_SERVICE", line 318
    ORA-06512: at line 1 ---
    Server stack trace:
    at CoreServices.Pipeline.TransactionPipeline.Process(IPipelineable& foPipeLineDataObject, PipelineOperation fiPipelineOprn)
    at System.Runtime.Remoting.Messaging.Message.Dispatch(Object target, Boolean fExecuteInContext)
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
    Exception rethrown at [0]:
    at DataSync.MergeData.MergeDataManager.Merge(Int32 fiDealerId)
    at Client.DataSync.cmdMerge_Click(Object sender, EventArgs e)
    DATASYNC_MERGE
    at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo)
    at System.EnterpriseServices.Thunk.Callback.DoCallback(Object otp, IMessage msg, IntPtr ctx, Boolean fIsAutoDone, MemberInfo mb, Boolean bHasGit)
    at System.EnterpriseServices.ServicedComponentProxy.CrossCtxInvoke(IMessage reqMsg)
    at System.EnterpriseServices.ServicedComponentProxy.Invoke(IMessage request)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    at CoreServices.Pipeline.TransactionPipeline.Process(IPipelineable& foPipeLineDataObject, PipelineOperation fiPipelineOprn)
    at DataSync.MergeData.MergeDataManager.Merge(Int32 fiDealerId) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo)
    at System.EnterpriseServices.Thunk.Callback.DoCallback(Object otp, IMessage msg, IntPtr ctx, Boolean fIsAutoDone, MemberInfo mb, Boolean bHasGit)
    at System.EnterpriseServices.ServicedComponentProxy.CrossCtxInvoke(IMessage reqMsg)
    at System.EnterpriseServices.ServicedComponentProxy.Invoke(IMessage request)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    at CoreServices.Pipeline.TransactionPipeline.Process(IPipelineable& foPipeLineDataObject, PipelineOperation fiPipelineOprn)
    at DataSync.MergeData.MergeDataManager.Merge(Int32 fiDealerId)
    *** The root transaction wanted to commit, but transaction aborted ---
    The ORA codes are ORA-02291 and ORA-06512.
    We are not getting any of these errors, when we merge same data from Windows 2003 server SP1. But if we execute it from SP2, we are getting this error.
    Are there any hotfixes provided by MS to fix this problem.

  • Root transaction wanted to commit, but transaction aborted

    Our client is getting error when trying to do bulk insert into one of the tables. Oracle version is 10g. The error says Root transaction wanted to commit, but transaction aborted. Client is using Windows server 2003 service pack 2.
    This error is not appearing when the application is accessed from Windows server 2003 service pack 1. All other application settings are similar.
    We have a module in our project, which reads data from XML file and merges the data into the database. We have a portal application developed in ASP.NET from where, we merge the data into oracle database.
    When the data to be merged is very huge, we get this message. 'The root transaction wanted to commit, but transaction aborted'.
    But this problem is very intermittent. It happens only when there is huge amount of data to be inserted to one table.
    As i have mentioned in my post, we use Windows server 2003 operation system with service pack 2. This error does not come when we do the same operation with service pack 1.
    So is it OS dependent?
    Edited by: user8662578 on Jul 29, 2009 8:34 PM

    Our client is getting error when trying to do bulk insert into one of the tables. Oracle version is 10g. The error says Root transaction wanted to commit, but transaction aborted. Client is using Windows server 2003 service pack 2.
    This error is not appearing when the application is accessed from Windows server 2003 service pack 1. All other application settings are similar.
    We have a module in our project, which reads data from XML file and merges the data into the database. We have a portal application developed in ASP.NET from where, we merge the data into oracle database.
    When the data to be merged is very huge, we get this message. 'The root transaction wanted to commit, but transaction aborted'.
    But this problem is very intermittent. It happens only when there is huge amount of data to be inserted to one table.
    As i have mentioned in my post, we use Windows server 2003 operation system with service pack 2. This error does not come when we do the same operation with service pack 1.
    So is it OS dependent?
    Edited by: user8662578 on Jul 29, 2009 8:34 PM

  • How make a transaction rollback?

    Hello to everybody...
              hoew can I call a server transaction rollback ( Session Bean ,CMT ) by the client?

    Hi ,
    Call transaction SICF and Navigate to "webgui" service; then right-click and select option "Activate".transaction will work definitely.
    This should enable the WebGui functionality in your WAS.
    ITS WEBGUI in ECC6.0
    for more information , check below thread
    MY FEW QUESTIONS
    SSO with ITS & Webenabling WEBGui
    Koti Reddy

  • OSB Dynamic Routing and Transaction Rollback

    Hi,
    I have implemented dynamic routing to different jms business services.
    That's the flow:
    1. I have a proxy service which is invoked via a message delivered to a jms queue(XA connection factory), this queue is configured with
    Error Destination, expiration policy redirect, redelivery limit 5 and redelivery delay override 100
    2. I use a dynamic routing action
    <ctx:route isProxy="false">
    <ctx:service>
    $businessServiceXXX
    </ctx:service>
    </ctx:route>
    where $businessServiceXXX is a variable to hold my target jms business service, its value depends on some incoming inbound headers.
    3. if the endpoint is not correct(business service endpoint is dynamic) I catch the error in a Error handler, I raise an Error but :
    THE MESSAGE IS NOT REDIRECTED TO THE ERROR QUEUE.
    I know I could solve the issue with another approach like an external table to capture(fix) the endpoints, but it won't be so flexible in terms of deployment capability.
    Any Ideas ?
    Thanks,
    T.

    Hi Tony,
    Tested this in ALSB 2.5 . Transaction rollbacks fine when error in dynamic routing. I am attaching the test JMS proxy we have used for this.
    We had XA enabled CF for JMS proxy service and target JMS BS. The dynamic route was configured in route node with no route error handler or service error handler. The test case was to pause the target JMS queue for production. We could see messages rolling back to the source queue and getting redelivered.
    Attaching the Sbconfig for this proxy. Proxy Name: Dynamic Routing
    <?xml version="1.0" encoding="UTF-8"?>
    <xml-fragment name="DynamicRouting">
    <ser:coreEntry isEnabled="true" isProxy="true" name="DynamicRouting" isAutoPublish="false" xmlns:ser="http://www.bea.com/wli/sb/services">
    <ser:description/>
    <ser:binding type="abstract XML"/>
    </ser:coreEntry>
    <ser:endpointConfig xmlns:ser="http://www.bea.com/wli/sb/services">
    <tran:provider-id xmlns:tran="http://www.bea.com/wli/sb/transports">jms</tran:provider-id>
    <tran:inbound xmlns:tran="http://www.bea.com/wli/sb/transports">true</tran:inbound>
    <tran:URI xmlns:tran="http://www.bea.com/wli/sb/transports">
    <env:value xmlns:env="http://www.bea.com/wli/config/env">jms://localhost:7001/XACF/InputQueue</env:value>
    </tran:URI>
    <tran:inbound-properties xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:all-headers xmlns:tran="http://www.bea.com/wli/sb/transports">false</tran:all-headers>
    <tran:provider-specific xsi:type="jms:JmsEndPointConfiguration" xmlns:jms="http://www.bea.com/wli/sb/transports/jms" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <jms:is-queue>true</jms:is-queue>
    <jms:is-secure>false</jms:is-secure>
    <jms:inbound-properties>
    <jms:response-required>false</jms:response-required>
    </jms:inbound-properties>
    <jms:request-encoding>UTF-8</jms:request-encoding>
    </tran:provider-specific>
    </ser:endpointConfig>
    <ser:router xmlns:ser="http://www.bea.com/wli/sb/services">
    <con:pipeline name="PipelinePairNode1_request" type="request" xmlns:con="http://www.bea.com/wli/sb/pipeline/config">
    <con:stage name="Configuration">
    <con:comment/>
    <con:context/>
    <con:actions>
    <con1:assign varName="input" xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
    <con1:expr>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config"><![CDATA[<root>
    <type value="jms">
              <service>DynamicRouting/BusinessService/JMS</service>
         </type>
         <type value="http">
         <service>DynamicRouting/BusinessService/HTTP</service>
         <operation>Test</operation>
         </type>
    </root>]]></con:xqueryText>
    </con1:expr>
    </con1:assign>
    </con:actions>
    </con:stage>
    </con:pipeline>
    <con:pipeline name="PipelinePairNode1_response" type="response" xmlns:con="http://www.bea.com/wli/sb/pipeline/config"/>
    <con:flow xmlns:con="http://www.bea.com/wli/sb/pipeline/config">
    <con:pipeline-node name="PipelinePairNode1">
    <con:request>PipelinePairNode1_request</con:request>
    <con:response>PipelinePairNode1_response</con:response>
    </con:pipeline-node>
    <con:route-node name="DynamicRoute">
    <con:comment/>
    <con:context/>
    <con:actions>
    <con1:dynamic-route xmlns:con1="http://www.bea.com/wli/sb/stages/routing/config">
    <con1:service>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">&lt;ctx:route>
         &lt;ctx:service isProxy="false">{data($input/*:type[@value=$body/*:body/*:type/text()]/*:service)}&lt;/ctx:service>
              if($input/*:type[@value=$body/*:body/*:type/text()]/*:operation) then
                   &lt;ctx:operation>{data($input/*:type[@value=$body/*:body/*:type/text()]/*:operation)}&lt;/ctx:operation>
    else()
    &lt;/ctx:route></con:xqueryText>
    </con1:service>
    <con1:outboundTransform>
    <con2:routing-options xmlns:con2="http://www.bea.com/wli/sb/stages/transform/config">
    <con2:uriExpr>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">$body/*:body/*:url/text()</con:xqueryText>
    </con2:uriExpr>
    </con2:routing-options>
    </con1:outboundTransform>
    <con1:responseTransform/>
    </con1:dynamic-route>
    </con:actions>
    </con:route-node>
    </con:flow>
    </ser:router>
    </xml-fragment>
    Regards,
    Atheek
    Edited by: atheek1 on 27-Apr-2010 19:48

  • Missing cleanup() after second (local) transaction rollback

              I wrote a simple dummy ressource adapter with local and XA transaction support and
              discovered some problems when using this adapter within an stateless session bean
              that calls setRollbackOnly().
              If I configure the resource adapter for XATransaction support, everything runs fine:
              WebLogic (or its ConnectionManager) detects the transaction rollback calls my cleanup()
              method and delists the connection from the list of busy connections (so I can do
              my rollback test with this connection a often as I want).
              If I configure my resource adapter for LocalTransaction support, the connection also
              is delisted from the list of busy connections (my cleanup method also is called)
              but after a second rollback test the connection remains in the busy connection list
              (and the cleanup call is missing). So calling the rollback test a third time brings
              a ResourceAllocationException.
              I am wondering whether the "mysterious" java.lang.IllegalStateException: Cannot delist
              resource, transaction has been rolled back
              that comes within my server log has something to do with my problem.
              Attched is my server log that reflects the situation.
              Thanks for any hint,
              juergen
              [connectorlog.txt]
              

    Hi Neelam,
    I am sure what exactly your application needs for single-threaded process.
    If you have some thread context in a given thread that you need for correctly handle all message, then you may try to set max-free-pool-size to 1 on the MDB to force single threaded.
    You can find more information in MDB tuning doc at http://download.oracle.com/docs/cd/E17904_01/web.1111/e13814/mdbtuning.htm#PERFM271
    If all you need is to sequentially handle all messages and it does not matter if the processing is done in a particular thread, you could use a JMS feature called Unit-of-order (UOO) together with MDBs. JMS UOO gives you the capability of making sure all messages in one UOO group are processed sequentially and in the order that them are produced, even when there are multiple consumers or redelivery of messages due to fialures. Messages in different UOO groups can be processed in parallel.
    For more information about UOO can be found at http://download.oracle.com/docs/cd/E17904_01/web.1111/e13727/uoo.htm#JMSPG389
    The following link discusses how to process messages in order with MDBs. Re: Transaction-Rollback on foreign jms queue usin Singletonservice in weblogic
    Hope these links help you find the right solution for your application.
    Dongbo

  • Reg MDB transaction rollback

    i have an MDB deployed on weblogic 8.1 sp6 server. My confusion here is how the MDB handles transaction rollbacks. E.g suppose if the MDB is designed to do the below action.
    1) read an xml message from a jms queue
    2) insert some database records
    3) generate some xml message, post it to some other jms queue
    suppose if step 1 and 2 is completed, and its on step 3, at this point weblogic server shutdowns suddenly, once i restart the server, it reads the xml message again from the jms queue, but this time it errors out, because it finds the data already entered in step 2.
    My question is when the weblogic server shut down while the mdb was at step 3, why didnt it removed all the db entries it made in step 2. This behaviour apears to me as partial rollback. I have given the mdb descriptor below.
    <ejb-jar>
      <enterprise-beans>
        <message-driven>
          <ejb-name>CSS_Response</ejb-name>
          <ejb-class>com.bt.neo.core.utility.appcontroller.transport.mdb.JmsMessageReceiver</ejb-class>
          <transaction-type>Container</transaction-type>
          <acknowledge-mode>auto-acknowledge</acknowledge-mode>
          <message-driven-destination>
            <destination-type>javax.jms.Queue</destination-type>
          </message-driven-destination>
          <env-entry>
            <env-entry-name>ejb/BeanFactoryPath</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value>core-css-response-inbound.xml</env-entry-value>
          </env-entry>
          <env-entry>
            <env-entry-name>ProcessorBeanName</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value>transportAdaptor</env-entry-value>
          </env-entry>
          <resource-ref>
            <res-ref-name>jms/faultTo</res-ref-name>
            <res-type>javax.jms.Destination</res-type>
            <res-auth>Container</res-auth>
          </resource-ref>
        </message-driven>
      </enterprise-beans>
      <assembly-descriptor>
        <container-transaction>
          <method>
            <ejb-name>CSS_Response</ejb-name>
            <method-name>onMessage</method-name>
            <method-params>
              <method-param>javax.jms.Message</method-param>
            </method-params>
          </method>
          <trans-attribute>Required</trans-attribute>
        </container-transaction>
      </assembly-descriptor>
    </ejb-jar>Please clear my doubt.
    Edited by: Deepak Dev on 19-Dec-2011 11:01

    General information on message-driven beans can be found here: http://docs.oracle.com/cd/E12840_01/wls/docs103/ejb/message_beans.html
    To transaction configuration is discussed here: http://docs.oracle.com/cd/E12840_01/wls/docs103/ejb/message_beans.html#wp1162058
    Looks like you have to set the transaction-type to Container and the trans-attribute to required. Also see the note:
    - However, if you make this configuration error, the MDB will not run transactionally—if a failure occurs mid-transaction, updates that occurred prior to the failure will not be rolled back.

  • Pls help:  Transaction rollback

    Hi
    We are facing an problem in WLS10. Although I have configured the JTA TimeoutSeconds to 1800 sec, I always hit transaction rollback problem when 30 sec passed. Appreciate your help on this problem.
    DataSource Configuration:
    <jdbc-driver-params>
    <driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
    </jdbc-driver-params>
    <jdbc-connection-pool-params>
    <max-capacity>50</max-capacity>
    <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
    </jdbc-connection-pool-params>
    <jdbc-data-source-params>
    <jndi-name>jdbc/rms/ctleave</jndi-name>
    <jndi-name></jndi-name>
    <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
    </jdbc-data-source-params>
    JTA configuration:
    -r-- AbandonTimeoutSeconds 86400
    -r-- BeforeCompletionIterationLimit 10
    -r-- CheckpointIntervalSeconds 300
    -r-- ForgetHeuristics true
    -r-- MaxResourceRequestsOnServer 50
    -r-- MaxResourceUnavailableMillis 1800000
    -r-- MaxTransactions 10000
    -r-- MaxUniqueNameStatistics 1000
    -r-- MaxXACallMillis 120000
    -r-- Name LEAVE2FE2
    -r-- Notes null
    -r-- SecurityInteropMode default
    -r-- SerializeEnlistmentsGCIntervalMillis 30000
    -r-- TimeoutSeconds 1800
    -r-- Type JTA
    -r-- UnregisterResourceGracePeriod 30
    -r-x freezeCurrentValue Void : String(attributeName)
    -r-x isSet Boolean : String(propertyName)
    -r-x unSet Void : String(propertyName)
    Exception log:
    Exception Occured, Failure creating new instance of RowMapper, org.apache.beehive.controls.api.ControlException: RowToObjectMapper: SQLEx
    ception: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 30 seconds
    BEA1-00A6A99F8ED0E04484B3
    at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419)
    at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331)
    at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
    at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
    at weblogic.jdbc.wrapper.ResultSetMetaData.preInvocationHandler(ResultSetMetaData.java:37)
    at weblogic.jdbc.wrapper.ResultSetMetaData_oracle_jdbc_driver_OracleResultSetMetaData.getColumnCount(Unknown Source)
    at org.apache.beehive.controls.system.jdbc.RowToObjectMapper.<init>(RowToObjectMapper.java:63)
    at sun.reflect.GeneratedConstructorAccessor141.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getMapper(RowMapperFactory.java:160)
    at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getRowMapper(RowMapperFactory.java:85)
    at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.arrayFromResultSet(DefaultObjectResultSetMapper.java:93)
    at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.mapToResultType(DefaultObjectResultSetMapper.java:61)
    at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.execPreparedStatement(JdbcControlImpl.java:370)
    at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.invoke(JdbcControlImpl.java:228)
    ...

    Hi. Can you turn on JTA logging? The output will show each step in the
    transaction. This should be in the transaction newsgroup.
    Joe
    Shen XiaoChun wrote:
    Hi
    We are facing an problem in WLS10. Although I have configured the JTA TimeoutSeconds to 1800 sec, I always hit transaction rollback problem when 30 sec passed. Appreciate your help on this problem.
    DataSource Configuration:
    <jdbc-driver-params>
    <driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
    </jdbc-driver-params>
    <jdbc-connection-pool-params>
    <max-capacity>50</max-capacity>
    <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
    </jdbc-connection-pool-params>
    <jdbc-data-source-params>
    <jndi-name>jdbc/rms/ctleave</jndi-name>
    <jndi-name></jndi-name>
    <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
    </jdbc-data-source-params>
    JTA configuration:
    -r-- AbandonTimeoutSeconds 86400
    -r-- BeforeCompletionIterationLimit 10
    -r-- CheckpointIntervalSeconds 300
    -r-- ForgetHeuristics true
    -r-- MaxResourceRequestsOnServer 50
    -r-- MaxResourceUnavailableMillis 1800000
    -r-- MaxTransactions 10000
    -r-- MaxUniqueNameStatistics 1000
    -r-- MaxXACallMillis 120000
    -r-- Name LEAVE2FE2
    -r-- Notes null
    -r-- SecurityInteropMode default
    -r-- SerializeEnlistmentsGCIntervalMillis 30000
    -r-- TimeoutSeconds 1800
    -r-- Type JTA
    -r-- UnregisterResourceGracePeriod 30
    -r-x freezeCurrentValue Void : String(attributeName)
    -r-x isSet Boolean : String(propertyName)
    -r-x unSet Void : String(propertyName)
    Exception log:
    Exception Occured, Failure creating new instance of RowMapper, org.apache.beehive.controls.api.ControlException: RowToObjectMapper: SQLEx
    ception: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 30 seconds
    BEA1-00A6A99F8ED0E04484B3
    at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419)
    at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331)
    at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
    at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
    at weblogic.jdbc.wrapper.ResultSetMetaData.preInvocationHandler(ResultSetMetaData.java:37)
    at weblogic.jdbc.wrapper.ResultSetMetaData_oracle_jdbc_driver_OracleResultSetMetaData.getColumnCount(Unknown Source)
    at org.apache.beehive.controls.system.jdbc.RowToObjectMapper.<init>(RowToObjectMapper.java:63)
    at sun.reflect.GeneratedConstructorAccessor141.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getMapper(RowMapperFactory.java:160)
    at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getRowMapper(RowMapperFactory.java:85)
    at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.arrayFromResultSet(DefaultObjectResultSetMapper.java:93)
    at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.mapToResultType(DefaultObjectResultSetMapper.java:61)
    at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.execPreparedStatement(JdbcControlImpl.java:370)
    at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.invoke(JdbcControlImpl.java:228)

  • Weblogic Transaction Rollback Illegal State

    Hi,
    We have 2 different components using EJBs talking to each. We have 1 session bean
    from 1 component calling another session bean from the 2nd component. The 2nd component
    uses transactional datasources while the 1st doesnt. We are starting to see the exception
    mentioned below and have no idea why this is happening. Any help is appreciated.
    Thank you.
    Sincerely,
    Narayan.
    weblogic.transaction.RollbackException: Illegal State (Expected: preparing). Name=[EJB
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)],Xid=26:adc2d5c18d486979(6201489),Status=Active
    (PrePrepaed),numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds
    left=30,activeThread=Thread[ExecuteThread: '10' for queue: 'default',5,Thread Group
    for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=new,assigned=secondserver),SCInfo[domain+firstserver]=(state=pre-prepared),SCInfo[domain+secondserver]=(state=pre-prepared),properties=({weblogic.transaction.name=[EJB
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)], weblogic.jdbc=t3://Test:8101}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=firstserver+localhost:8301+domain+,
    Resources={})],CoordinatorURL=firstserver+localhost:8301+domain+) - with nested exception:
    [javax.transaction.SystemException: Illegal State (Expected: preparing).  Name=[EJB
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)],Xid=26:adc2d5c18d486979(6201489),Status=Active
    (PrePrepaed),numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds
    left=30,activeThread=Thread[ExecuteThread: '10' for queue: 'default',5,Thread Group
    for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=new,assigned=secondserver),SCInfo[domain+firstserver]=(state=pre-prepared),SCInfo[domain+secondserver]=(state=pre-prepared),properties=({weblogic.transaction.name=[EJB
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)], weblogic.jdbc=t3://localhost:8101}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=firstserver+localhost:8301+domain+,
    Resources={})],CoordinatorURL=firstserver+localhost:8301+domain+)] at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1475)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:263)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:190)
    at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)

    Hi,
    Thanks for the replies.
    Rajesh,
    The 2 comps. are different manager servers on the same domain. The WL passwords are
    the same.
    Emmanuel,
    The reason for using non-TX datasources is, because it is not possible to have 2
    tx DSs in the same transaction. It gives us an error when we attempt to do that.
    We use CMP or else we would like to start our TXs and end our Txs. Is there a way
    around it.
    Let me know if you need any more information. Any help is appreciated. Thank you.
    Sincerely,
    Narayan.
    Rajesh Mirchandani <[email protected]> wrote:
    Are the 2 components on different instances of the server on seperate/same
    box?
    If yes, make sure the system password for the WLS instances are the same.
    Emmanuel Proulx wrote:
    I must admit this exception is at best funny-looking. I don't understandit.
    But if I may ask, why aren't you using a TX datasource? Is it becauseyour
    database is not XA? If that's the case you can emulate XA with TX
    datasources.
    Another question is, why would anyone use a non-TX datasource? ;-)
    Emmanuel
    "Narayan" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    We have 2 different components using EJBs talking to each. We have 1session bean
    from 1 component calling another session bean from the 2nd component.
    The
    2nd component
    uses transactional datasources while the 1st doesnt. We are starting
    to
    see the exception
    mentioned below and have no idea why this is happening. Any help isappreciated.
    Thank you.
    Sincerely,
    Narayan.
    weblogic.transaction.RollbackException: Illegal State (Expected:preparing). Name=[EJB
    >
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)],Xid=
    26:adc2d5c18d486979(6201489),Status=Active
    (PrePrepaed),numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds sincebegin=0,seconds
    left=30,activeThread=Thread[ExecuteThread: '10' for queue:
    'default',5,Thread Group>> > for Queue:>> 'default',ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=new,assigned=secondserver),SCInfo[domain+firstserver]=(state=pre-prepared),SCInfo[dom
    ain+secondserver]=(state=pre-prepared),properties=({weblogic.transaction.nam
    e=[EJB
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)],weblogic.jdbc=t3://Test:8101}),OwnerTransactionManager=ServerTM[ServerCoordi
    natorDescriptor=(CoordinatorURL=firstserver+localhost:8301+domain+,
    Resources={})],CoordinatorURL=firstserver+localhost:8301+domain+) -
    with
    nested exception:
    [javax.transaction.SystemException: Illegal State (Expected: preparing).
    Name=[EJB>> >>> Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap),Xid=26:adc2d5c18d486979(6201489),Status=Active
    (PrePrepaed),numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds sincebegin=0,seconds
    left=30,activeThread=Thread[ExecuteThread: '10' for queue:
    'default',5,Thread Group>> > for Queue:>> 'default',ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=new,assigned=secondserver),SCInfo[domain+firstserver]=(state=pre-prepared),SCInfo[dom
    ain+secondserver]=(state=pre-prepared),properties=({weblogic.transaction.nam
    e=[EJB
    Test.validateUniq(java.lang.String,java.lang.String,java.util.HashMap)],weblogic.jdbc=t3://localhost:8101}),OwnerTransactionManager=ServerTM[ServerC
    oordinatorDescriptor=(CoordinatorURL=firstserver+localhost:8301+domain+,
    Resources={})],CoordinatorURL=firstserver+localhost:8301+domain+)]at
    weblogic.transaction.internal.TransactionImpl.throwRollbackException(Transac
    tionImpl.java:1475)
    atweblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
    nsactionImpl.java:263)
    atweblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
    Impl.java:190)
    atweblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:231)
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • Deadlock - can you make both transactions rollback?

    My understanding of Oracle (11.2.0.3) is that if the engine detects a deadlock, it picks one transaction to rollback and one to succeed.
    Is it possible to configure a system or session setting that would instruct the engine to roll back both transactions?
    Long story short...I'm being asked this question because developers' code isn't perfect

    Hi Raindog,
    > My understanding of Oracle (11.2.0.3) is that if the engine detects a deadlock, it picks one transaction to rollback and one to succeed.
    It is not the engine - it is the database session itself. The documentation states, that the session is picked randomly, but this is not true in fully manner. The session, that is waiting the longest time will do the statement level rollback and raise an ORA-00060. Why? The timeout for enqueues (in that context) is 3 seconds and so the sessions that are waiting for that enqueue will wake up every 3 seconds and check the lock states. However as all of the other guys already mentioned "a statement rollback is performed" and not a "full transaction rollback". So it is up to your application to react on the ORA-00060 and do something useful (which is not that easy).
    > Is it possible to configure a system or session setting that would instruct the engine to roll back both transactions?
    No nothing "by Oracle default", but ideally your application reacts on the ORA-00060, identifies the other session and kills both for example (which performs an implicit rollback).
    > I'm being asked this question because developers' code isn't perfect
    ... then help your developers to make it better by explaining the error handling and its following actions
    Regards
    Stefan

Maybe you are looking for

  • Will iPhoto '09 (8.1.2) allow me to resize image files to 60 kb?

    I'm sorry if this is a very simple task but I've searched and cannot find an answer.  I need to be able to upload some photos to the Gardenweb site and they say that the maximum size of image files allows is 60 kb.  I searched my iPhoto help and coul

  • Viewsonic pjd5134

    I just bought a ViewSonic PJD5134 projector and can't get the unit to get signal from MacBook Air thru a HDMI adaptor and HCMI cable.  Works fine on 65 inch Vizo TV as external display but nothing on PJD5134.  ViewSonic says no driver for Mac.  Frust

  • PO add new line

    My Requirement is while creating PO using ME21N it should add new child item automatically. While creting the new PO the PO number is not generated. The number is generated after saving the PO. I allredy populated child items using BOM funtion module

  • Enhancement request: pageDef

    Hi, could you please consider the following ER? It's a trifle but may be very useful in some cases. When editing pageDef, it would be nice to be able to automatically generate an attribute binding for a variable and vice versa using right click and a

  • Problem creating JCo

    I'm having problems configuring the SLD and creating the JCo. I'm using a RFC model from a R3 server that is not on the same network of my WEB AS. I want to configure the SLD using the IP address, but it only accepts the hostname. There's a way I can