Ejb interceptor and CMT transaction

hi all,
i have one stateless session bean using CMT.
And it has been intercept by ejb interceptor.
actually, i try to catch all the exception from session bean method using interceptor.
eg.
try {
target2 = invocation.proceed();
return target2;
} catch (Exception e) {
But i can't catch some kind of SQLException. because it looks like transaction doesn't commit after invocation.proceed();
So, i can only catch those exception from caller.
Is there any way to solve it?
is there any way to catch all the exception from interceptor ?
With Regards,
WP

Thanks for reply.
we do not support to use requires_new because we may have another ejb layer(caller) and our ejb may need to join transaction of caller.
So, i would like to choose EntityManager.flush().
Then, I have DAO layer to insert record to db. Something like generic DAO and it is supported for all kinds of entity.
So, when we invoke two times DAO layer from our stateless session bean method, how it will behave?
I mean in the following ejb method, both DAO call can be in same transaction?
eg. DAO
public void create(T t) {
entityManager.persist(t);
entityManager.flush();
EJB Method
@TransactionAttribute(value = TransactionAttributeType.REQUIRED)
public void performInsert(){
dao.create(EmployeeEntity);
dao.create(AddressEntity);
}

Similar Messages

  • EJB3 Interceptors and JTA transaction management

    Hi,
    Are Interceptors part of the JTA transaction?
    can we perform there rollback for example?
    What if the EJB transaction setting is NONE?
    Thanks in advance,
    Tal.

    user6098247 wrote:
    Hi,
    Are Interceptors part of the JTA transaction?Yes - the spec mandates that. Interceptor methods execute in the same security and transaction context as the associated bean method.
    can we perform there rollback for example?
    For CMT? It is possible to inject the ejbContext object into the Interceptor and use it in the same manner you would in a bean to mark the tx for rollback.
    What if the EJB transaction setting is NONE?
    Again the behavior is the same as in a bean.
    ram.

  • WebLogic 10.3.0, web-service enabled session beans, and CMT transactions

    Does WebLogic 10.3 support CMT for JAX-WS Web-Service enabled EJB 3.0 session beans?
    When a client invokes the following Web service:
    @WebService
    @Stateless
    @TransactionManagement( TransactionManagementType.CONTAINER )
    public class TestService       
        @WebMethod   
        @TransactionAttribute(TransactionAttributeType.REQUIRED)
        public String echo( @WebParam( name = "param" ) final String param)
            Context context = new InitialContext();
            TransactionSynchronizationRegisttry registry =
              (TransactionSynchronizationRegistry)
                context.lookup( "java:comp/TransactionSynchronizationRegistry" );
            registry.putResource("foo", "bar");
            return param;
    }WebLogic throws this exception:
    SEVERE: Transaction does not exist
    java.lang.IllegalStateException: Transaction does not exist
         at weblogic.transaction.internal.TransactionManagerImpl.putResource(TransactionManagerImpl.java:2033)
         at weblogic.transaction.internal.TransactionManagerImpl.putResource(TransactionManagerImpl.java:2029)Is this a bug in WL 10.3.0?
    Thanks in advance.
    Edited by: user572625 on Aug 18, 2011 12:29 AM

    This is fixed now. Someone had defined a Servlet for the web service in web.xml that was preventing the EJB container to kick in.
    Edited by: user572625 on Aug 25, 2011 11:54 PM

  • Urgent: EJB Transaction mechanism and Database Transaction mechanism

    Anybody please clarify me how EJB transaction mechanism use the underlying database transaction mechanism? Here my concern is that in the context EJB transaction, how much reponsibilities are performed by EJB container and how much responsibilities are performed by underlying database server. I will deem it a great favor if you kindly explain the whole story with example(s).

    Actually the ejb container is managing the persistence.
    It will be like this.
    if u r using entity beans or statefull beans
    while creating entity bean class you have to specify in the
    deployment descriptor, which table in the database this bean is representing .
    On the runtime , when you are creating an instance of a entity bean ,that instance will be corresponds to a row in the mapped table.
    what all changes you have made to that instance's attributes ie;
    columns in that row that all will be avilable in the session
    When you commit this particular session .this changes will be written to disk.
    that's how the change is managed ...
    assume if one user is modifying the particular row and another user is deleting it ..which ever transaction commits first will be get effected.
    if modification is committing first and then delete the row will be deleted last.but if first delete and then modify while commiting modifycation..
    you should get an error saying that particular row is missing from storage
    this how ejb container is manging the persistence
    in all cases even in case of synchronus acess
    i think u r cleard with this much

  • Error handling via CatchAll and JTA transaction error.

    Hi
    soa 10.1.3.5.0
    I have created a test BPEL process where i am updating already completed Human task. I know it's wrong and i am doing it purposely to test error handling mechanism.
    In the same BPEL I added a Catch all handler hoping that this will catch the error and will let me complete the process.
    However BPEL is failing in the Catch All scope with lovely error: JTA transaction is not present or the transaction is not in active state.
    Does anybody know how and why humantask update activity suddenly changes jta transaction state? Any thoughts of how i can catch the error in the situation i described and process it gracefully?
    Thanks for your help!
    piece from domain.log starting from the place where task service failing to update already completed human task.
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of .
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3600)
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3557)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcomeAndEvaluateRoutingSlip(TaskService.java:1139)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:1006)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:985)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.updateTaskOutcome(TaskServiceBean.java:409)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.reflect.Method.invoke(Method.java:597)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at TaskServiceBean_LocalProxy_68d4144.updateTaskOutcome(Unknown Source)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.updateTaskOutcome(TaskServiceLocalClient.java:678)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.updateTaskOutcome(TaskServiceWSIF.java:580)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.reflect.Method.invoke(Method.java:597)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.wsif.providers.java.WSIFOperation_Java.executeRequestResponseOperation(WSIFOperation_Java.java:1019)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:480)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:538)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:286)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:832)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:413)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:200)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:4326)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1839)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:77)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:240)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:345)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:6460)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2267)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:185)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:156)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.reflect.Method.invoke(Method.java:597)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at ActivityManagerBean_LocalProxy_4bin6i8.expireActivity(Unknown Source)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:150)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.Thread.run(Thread.java:662)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Caused by: ORABPEL-30036
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of The task has been completed..
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3592)
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>     ... 71 more
    <2013-10-10 17:01:00,562> <ERROR> <services.collaxa.cube.engine> The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.
    <2013-10-10 17:01:00,571> <WARN> <services.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "activity manager": Failed due to unhandled bpel fault.
    <2013-10-10 17:01:00,584> <ERROR> <services.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
    ORABPEL-02182
    JTA transaction is not present or the transaction is not in active state.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Please consult your administrator regarding this error.
        at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:6176)
        at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:6482)
        at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2267)
        at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:185)
        at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:156)
        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:597)
        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.JAASInterceptor$1.run(JAASInterceptor.java:31)
        at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
        at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
        at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
        at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
        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 ActivityManagerBean_LocalProxy_4bin6i8.expireActivity(Unknown Source)
        at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:150)
        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
    <2013-10-10 17:01:00,585> <ERROR> <services.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> Not fatal connection error ... not retrying: class com.collaxa.cube.engine.UnhandledFaultException: Failed due to unhandled bpel fault.
    <2013-10-10 17:01:00,593> <ERROR> <services.collaxa.cube.engine.dispatch> <BaseDispatchTask::run> 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.instance.ExpirationMessage"; the exception is: JTA transaction is not present or the transaction is not in active state.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Please consult your administrator regarding this error.
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: JTA transaction is not present or the transaction is not in active state.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Please consult your administrator regarding this error.
        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:226)
        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

    If you look at the error, it suggests that the action you are performing is invalid.That is you cannot update human task which has been already completed. Thats why you are getting that "JTA transaction not active error". Since your human task has already been completed, it is not able to update it again.
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Caused by: ORABPEL-30036
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of The task has been completed..
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>
    May be you can try some other usecase ? Also could you let me know whether you are getting this error in logs only or in your composite instance as well. I mean whether the instance gets successfully terminated or completed ??
    Regards,
    Karan

  • Error EJB:010116 and what is the best fix?

    I got an EJB:010116 error and need some advice on how to fix it (quickly, I am
    running out of time).
    My basic understanding of the problem is:
    1. I defined a many2many relationship with a join table, say ProviderEJB to ProviderKeyEJB,
    the cmr field for ProviderEJB is providerKeys and a correcponding abstract method
    with default transaction-attribute (not specified):
    abstract public Set getProviderKeys();
    2. generated code with ejbgen 215
    3. deployed to weblogic 8.1 SP1 JDK141_03
    4. at run time, my facade session ejb find a local ejb instance of ProviderEJB,
    call its method getProviderKeys() to get a set of local instance of ProviderKeyEJB.
    all works OK up to this point.
    5. then the facade session ejb try to iterate through this set of object and at
    this point I got an exception from weblogic:
    java.lang.IllegalStateException: [EJB:010116]Attempted to access the collection
    valued cmr field, 'providerKeys' for bean 'ProviderEJB', outside of the scope
    of a transaction. All access to the collection must be performed during the transaction
    in which the collection was initially retrieved.
    6. Very clear message. I can understand the meaning of it. However, the getProviderKeys()
    method was declared abstract and was generated and implemented by ejbgen. So how
    can I access this collection INSIDE of the transaction?
    In general, does that mean I will have to turn off the transactions on my entity
    beans and let the facade session ejbs to manage the transactions? if so, why do
    I need the CMP entity beans in the first place?
    So assume I have to do this way, does that mean I have to add the ejbgen tag "transaction-attribute
    = Supported" for those methods that I do not want to have a transaction?
    On another separate issue, just read weblogic 8.1 doc on ejbs and it recomends
    that do not use facade session beans and DTO (value objects) from the web tie,
    simply access local entity beans directly. Any experience on this, in terms of
    design issues. Obviously I understand it will go faster without a facade, but
    what about clean architect of your software design?
    Many thanks and best regards.
    Charles

    Hi,
    for this particular case, you should implement a transfer routine at IObj level (general TAB in RSD1/0MATERIAL)
    the code is as easy as
    TRANSLATE RESULT TO UPPER CASE.
    RETURNCODE = 0.
    this will be executed whenever you load 0MATERIAL.
    hope this helps....
    Olivier.

  • Foreign JMS and Enlisting Transactions?

    I'm working on implementing an XA interface layer to an implementation of a foreign JMS provider and am having a problem with enlisting XA transactions in WebLogic.
              I implemented a simple JNDI that stores and retrieves serialized versions of classes in the local filesystem.
              I create an XATopicConnectionFactory named ambxatcf and a Topic named ChatterTopic and store them in there.
              The XATopicConnection implements XAConnection.
              I put a client jar in bea/weblogic91/samples/domains/wl_server/lib/ which contains the JNDI code and all of my XA classes which call the JMS.
              That gets picked up by the server on startup.
              In the Web Logic Admin Console:
              I create a Foreign Server under JMS Modules, ambrosiaServer.
              I set the JNDI Initial Context Factory set to my JNDI InitialContext class and the JNDI Properties is the path to my JNDI filestore so that it can find the serialized objects.
              I create a Foreign Destination in this server which has a Local JNDI Name: Chatter and Remote JNDI Name: ChatterTopic
              And then also in this server, I create a Foreign Connection Factory, Local JNDI Name: ambxatcf and Remote JNDI Name: XATopicConnectionFactory.
              Then in Deployments, I Install the jar containing my bean and Start it.
              Then I run the client and the bean prints out the XATopicConnectionFactory and it's the one that came out my JNDI.
              I have messages in my XATopicConnectionFactory, XATopicConnection and XATopicSession code so I know they're getting called.
              What's not getting called is XATopicSession.getXAResource() or my XAResourceImpl.start() or XAResourceImpl.commit().
              This happens whether I have the bean set up for bean managed or container managed transactions.
              I'm testing against WebLogic 9.1.
              Thanks,
              Don Hermes

    Hi Tom,
              Thank you for your response.
              I saw the article in the 8.1 documentation but I also found the following in the 9.1 docs.
              So, I assumed it would work.
              Was that assumption wrong?
              Thanks,
              Don
              =====================
              http://e-docs.bea.com/wls/docs91/jms/j2ee.html
              Automatically Enlisting Transactions
              This feature works for either WebLogic JMS implementations or for third-party JMS providers that support two-phase commit transactions (XA protocol). If a wrapped JMS connection sends or receives a message inside a transaction context, the JMS session being used to send or receive the message is automatically enlisted in the transaction through the XA capabilities of the JMS provider. This is the case whether the transaction was started implicitly because the JMS code was invoked inside an EJB with container-managed transactions enabled, or whether the transaction was started manually using the UserTransaction interface in a servlet or an EJB that supports bean-managed transactions.

  • Demarcate and propagate transactions from web components

    Hi,
    Can I start a transaction from within a JSP/Servlet and propagate it to EJBs?
    For example, say there are EJB1.method1 and EJB2.method2, both marked "required". Code a JSP/Servlet like:
    1 UserTransaction tx = ...;
    2 tx.begin();
    3 EJB1.method1();
    4 EJB2.method2();
    5 tx.commit();
    Does it embrace the two EJB methods in one transaction? What if the web components and EJBs are deployed on different servers physically?
    Thanks!
    Sunyu

    I think you probably want to look at a Web services transactions system that integrates with the JTA. That way you can span your transactions across both a loosely coupled and closely coupled environment. There are some examples at www.arjuna.com
    There are several web services transactions specifications out there (OASIS Business Transactions Protocol and IBMs Web Services Transactions, for example). The latter is probably the way to go as it's been designed to interoperate with existing TP systems (it doesn't do that too well at the moment due to "issues" in the spec. but those will be fixed). In addition, JSR 156 is aiming to give J2EE a standard set of interfaces to Web services transactions and interoperability with other J2EE transaction services (JTA and JTS) is high on the agenda.
    Mark.

  • WebLogic 11g EAR EJB Classpath and class loaders

    All,
    I have been having issues migrating Spring based EJB applications from OC4J to WebLogic 11g (10.3.1). I have been in communication with Oracle who has suggested a work around however I am keen to see if anyone else can suggest a solution.
    The application is dependant on stateless session EJB beans that communicate with a Spring managed service tier to perform the business logic and database access. PitchFork is used to inject the Spring managers into the EJB’s using the spring-ejb-jar.xml configuration file. Note originally I was using the SpringBeanAutowiringInterceptor however I could not get this to work. See WebLogic 11g and Spring beens injected into EJB for details.
    When the application is deployed packaging all the dependant jars within the APP-INF\lib folder I get a verity of errors from the following InvalidClassException, NoSuchMethodError, AbstractMethodError and IllegalArgumentException. I am using Spring 2.5.3 to match the supported WebLogic version. Note within the EAR application.xml the library-directory is set to APP-INF/lib. The issue appears to be Spring, PitchFork, commons-logging and aspectj libraries are being loaded form WebLogic and do not have visibility on jars within the application or have been modified when bundled for WebLogic. An example of this is the PitchFork jar within WebLogic has been changed excluding the spi package resulting in java.lang.ClassNotFoundException: org.springframework.jee.spi.PitchforkUtilsImpl errors.
    Moving the jars to the domain library path does not resolve any of the issues. I have been unable to successfully deploy the application picking up the application jars using the prefer-application-packages configuration.
    Oracle has advised me to deploy the libraries into the WebLogic system classpath by modifying the startWebLogic command to load the libraries into the classpath. I am concerned that modifying the system classpath will result in an unstable WebLogic server as I will be replacing modified jar files packages with WebLogic (such as PitchFork). This will also limit the applications that can be deployed within the server as each application must use the same libraries and versions (as the application ibraries are leing ignored).
    Has anyone else hit this issue and corrected it? Can anyone think of an alternative solution?
    Regards
    Neil

    Hi,
    I am in the process of updating the tracking bug# 331569 with copies of the eclipse EAR/WAR projects and the EAR for these scenarios. Here are some details on how I got past the 2nd CCE on the org.eclipse.persistence.jpa.PersistenceProvider class (not the javax one)
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=331569
    Essentially an SE persistence unit running both JPA 2.0 api and the 2.0 XSD schema work fine. I will next retest the EE case with variations of the 3 types of injection on the SSB or Servlet.
    Update: There are 3 (possibly 4) issues here (all of these may become obsolete when the next WLS version ships)Initially I got the same 2.0 schema error and the ClassCastException on org.eclipse.persistence.jpa.PersistenceProvider
    It turns out that my import of the 2 eclipse projects from my bug # 296271 for WebLogic 10.3.2.0 lost their facets(specifically the dynamic web facet) because I associated them with a different WebLogic 10.3.3.0. - this caused the CCE I was experiencing like Sri.
    Anyways, after creating an EAR/Web project combination from scratch in eclipse associated with the 10.3.3.0 instance - I predeployed/deployed/ran fine - even with the 2.0 schema - in SE bootstrap mode (no EE yet).
    Reproduction Procedure:
    redoing project from scratch as I noticed that the war was not at the root of the ear - it was a jar in the app-inf/lib dir - my imported eclipse project was not referenced correctly as a web module facet- create empty EAR and WAR project with references
    - download and open my EAR and WAR project code from bug # 296271
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=296271
    - do essentially all the steps in the page below (I paraphrase for re-verification)
    http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/weblogic#DI_1.1:_Alternative_3:_Application_Level_Shared_Library_-InUse
    - copy applicationService, entity and FrontController servlet code into new projects
    - create persistence.xml and MANIFEST.MF manifest in src\META-INF
    - update manifest
    Class-Path: APP-INF/lib/eclipselink.jar
    APP-INF/lib/javax.persistence_2.0.0.v200911041116.jar
    - copy both javax.persistence 2.0 and eclipselink 2.x jars to APP-INF/lib
    - change ordering of WebLogic library modules classpath reference (javax.persistence 1.0) to ear reference (2.0 version)
    - update web.xml with servlet tags
    - update weblogic.xml with new context root
    - make the persistence unit name the same in persistence.xml and ApplicationManagedService
    - update weblogic-application.xml with prefer-application-packages overrides
    <wls:prefer-application-packages>
    <wls:package-name>javax.persistence.*</wls:package-name>
    <wls:package-name>org.eclipse.persistence.*</wls:package-name>
    </wls:prefer-application-packages>
    - enable server redirect logging
    <!-- new for 10.3.3.0 http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging#Server_Logging -->
    <property name="eclipselink.logging.logger" value="DefaultLogger"/>
    - start WebLogic 10.3.3.0
    - deploy (run on) server from eclipse or export ear to auto deploy directory
    1) JPA 2.0 XSD usage on 10.3.3.0
    - I reproduced this issue with a bad EAR
    - was able to use the 2.0 schema within the WAR-only application managed EAR
    persistence.xml<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <!-- persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"-->
    <persistence-unit name="example2" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>localJTA</jta-data-source>
    <class>org.eclipse.persistence.example.business.Cell</class>
    <shared-cache-mode>NONE</shared-cache-mode>
    <properties>
    <property name="eclipselink.target-server" value="WebLogic_10"/>
    <property name="eclipselink.logging.level" value="FINEST"/>
    <property name="eclipselink.target-database" value="Derby"/>
    <!-- new for 10.3.3.0 http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging#Server_Logging -->
    <property name="eclipselink.logging.logger" value="DefaultLogger"/>
    <!-- property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
    <property name="javax.persistence.jdbc.url" value="jdbc:derby://127.0.0.1:1527/dataparallel;create=true"/>
    <property name="javax.persistence.jdbc.user" value="APP"/>
    <property name="javax.persistence.jdbc.password" value="APP"/-->
    <!-- turn off DDL generation after the model is stable -->
    <!-- property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
    <property name="eclipselink.ddl-generation.output-mode" value="both"/-->
    </properties>
    </persistence-unit>
    </persistence>
    2) CCE on JPA provider implementation class
    Error instantiating the Persistence Provider class org.eclipse.persistence.jpa.PersistenceProvider of the PersistenceUnit example2: java.lang.ClassCastException: org.eclipse.persistence.jpa.PersistenceProvider
    - I reproduced and fixed this one (was Eclipse project facet issue) - EAR was wrong
    - was able to run JPA 2.0 code fine on an SE PU (predeploy/deploy together)
    - EE injection should not work but I will post an example EAR anyway
    log[EL Example]: enterprise: JPA 2.0 Metamodel: MetamodelImpl@56287508 [ 3 Types: , 1 ManagedTypes: , 1 EntityTypes: , 0 MappedSuperclassTypes: , 0 EmbeddableTypes: ]
    3) CCE on JPA spec interface class
    - I could not reproduce this one
    Re: WebLogic 11g EAR EJB Classpath and class loaders
    Error processing persistence unit PT of module pt: Error instantiating the Persistence Provider class org.eclipse.persistence.jpa.PersistenceProvider of the PersistenceUnit PT: java.lang.ClassCastException: org.eclipse.persistence.jpa.PersistenceProvider cannot be cast to javax.persistence.spi.PersistenceProvider
    4) CCE on fallback Kodo JPA provider (if an invalid say 2.1 JPA XSD schema is referenced)
    java.lang.ClassCastException: kodo.persistence.PersistenceProviderImpl
    at javax.persistence.Persistence.findAllProviders(Persistence.java:186)
    java.lang.NoSuchMethodError: javax/persistence/EntityManager.getMetamodel()Ljavax/persistence/metamodel/Metamodel;
    - reproduced by using the 1.0 javax.persistence jar (but named as the 2.0 one in APP-INF/lib)
    - fixed by using either the 1.0 or 2.0 JPA XSD schema and using the correct 2.0 spec jar
    thank you
    /michael

  • Migrating from 903 to 904: what changed in JNDI calls to EJB's and topics

    Hello all,
    Ok,
    First of all this all works fine in 903, the problem is occuring when I try to deploy our appliction on 904.
    My problem is that the web tier can't find references to ejb's and my MDB fails at deployment because the reference to the topic fails.
    Here are the error messages:
    1.
    Error loading package at file:/C:/Oracle/904Prod/j2ee/home/applications/sdr/ejb/SDRSysAlertMDB/, Error deploying file:/C:/Oracle/904Prod/j2ee/home/applications/sdr/ejb/SDRSysAlertMDB/ homes: No location set for Topic resource MessageDrivenBean SDRSysAlertMDB
    2.
    Error instantiating web-app JNDI-context: No location specified and no suitable instance of the type 'ControllerEJB' found for the ejb-ref ejb/ControllerEJB
    And ideas of where to look would be appreciated.
    Thanks
    Matt

    Steve, thanks for your quick response. I have 2 problems here.
    What we are covering is the MDB problem below. I'll start with that one first and then work on the web tier referencing the EJB failing problem later.
    Short answer is yes I have those attributes. Here are my (edited)config files.
    EJB-JAR.XML
    <ejb-jar>
         <enterprise-beans>
              <message-driven>
              <display-name>SysAlertMDB</display-name>
              <ejb-name>SysAlertMDB</ejb-name>
              <ejb-class>**********</ejb-class>
              <transaction-type>Container</transaction-type>
              <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
              <message-driven-destination>
              <destination-type>javax.jms.Topic</destination-type>
              </message-driven-destination>
              <resource-ref>
              <res-ref-name>jms/SysAlertTopicConnectionFactory</res-ref-name>
              <res-type>javax.jms.TopicConnectionFactory</res-type>
              <res-auth>Application</res-auth>
              <res-sharing-scope>Shareable</res-sharing-scope>
              </resource-ref>
              <resource-env-ref>
                   <resource-env-ref-name>jms/SysAlertTopic</resource-env-ref-name>
                   <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type>
              </resource-env-ref>          
              </message-driven>          
         </enterprise-beans>
    </ejb-jar>
    ORION-EJB.JAR
    <orion-ejb-jar>
         <enterprise-beans>
              <message-driven-deployment max-instances="1"
                             name="SysAlertMDBBean"
                             min-instances="0"
                             destination-location="jms/SysAlertTopic"
              connection-factory-location="jms/SysAlertTopicConnectionFactory"/>          
         </enterprise-beans>
    </orion-ejb-jar>
    JMS.XML
    <topic-connection-factory name="SysAlertTopicConnectionFactory" location="jms/SysAlertTopicConnectionFactory" host="*******" port = "*******" username = "******" password = "********"/>
         <topic name="SysAlertTopic" location="jms/SysAlertTopic"/>
    The error:
    Auto-deploying - compiling and loading...
    Error deploying file:/***SysAlertMDBBean*****/ homes: No location set for Topic resource MessageDrivenBean SysAlertMDB Error in application sdr: Error loading package at file:/***SysAlertMDBBean*****/ , Error deploying file:/***SysAlertMDBBean*****/ / homes: No location set for Topic resource MessageDrivenBean SysAlertMDB
    04/03/22 12:48:47 done.
    04/03/22 12:48:47 Error instantiating application 'sdr' at file:/********/: Error initializing ejb-module; Exception Error in application sdr: Error loading package at file:/***SysAlertMDBBean*****/ /, Error deploying file:/***SysAlertMDBBean*****/ / homes: No location set for Topic resource MessageDrivenBean SysAlertMDB

  • What is difference between enjoy transactions and Normal transactions

    What is difference between enjoy transactions and Normal transactions
    Ex:- ME22 & ME22N
    What is difference between these two.

    hi ,
    the transaction code with 'N' are created with help of object concept.
    In your case ME22 is obsolete one and ME22N is the tcode created with object concept.
    pls Reward helpful points
    Thanks
    Siva

  • Status used in open and completed transactions in Fact Sheet

    Hi! I would like to confirm the logics used in the fact sheet to display open and completed transactions. I read on the help that for open (for example) transactions, system is using status 'open' and 'in process'. This seems to me like system status. However, when I ran the fact sheet, the control is more at the user status level. So, I need clarification on this. Also, where can I find the status and transaction logics used for the extraction of these transactions (e.g. what transaction types are used)? I could not find the codings in the method GET_REPORT under class CL_CRM_CCKPT_PROCESS_CLOSED for example. Perhaps I have looked in the wrong place?
    Appreciate any help on the above.
    Cheers!
    SF

    No response. Based on what is being debugged, all transactions are taken into account.

  • Material Transaction and Move Transaction Managers are Going Inactive

    hi
    it was running previously but currently it becomes inactive.can any one tell in which table to look for the error related to this problem?
    Kind Regards
    Sayantan

    Hi;
    What is your OS and EBS?
    It was working before? If yes what have you been changed on your system(patch etc)
    Please check below note:
    Material Transaction And Move Transaction Managers Are Going Inactive [ID 93507.1]
    Material Transaction and Move Transaction Managers are Going Inactive [ID 98757.1]
    Regard
    Helios

  • Session method and call transaction methos which one is the sap recomonded

    hi
    PLease give me the answer to these questions.
    session method and call transaction methos which one is the sap recomonded why .
    2) if we want to maintain BDC program in all the systems.wt to d0

    Hi Revethi,
    Here is the difference between the Session and Call Transaction method.
         Session
    Session method supports both small amount of data aswell as large amount of data
    2) data processing is asynchronus and data updation is synchronus.
    3) it process multiple apllication while perfomaning validations.
    4) in session method data will be updated in data base only after processing session only.
    5) system provide by default logfile for handling error records.
    6) it supports both foreground aswell as background process
    in bdc we use FM ... bdc_open_group " for creating Session
    bdc_insert " adding transaction and bdcdata table for updating database
    bdc_close_group " for closing Session
          Call Transaction
    Call transaction exclusively for small amout of data
    2) it supports only one apllication while perfoming validations
    3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records.
    we can create logfile by using structure....BDCMSGCOLL
    4) it doesn't support background processing.
    5) data processing is synchronous and Data updation is Synchronous( default), in
    this method also supports daya updation in asynchronus process also.
    Syntax:
    Call transaction <transaction-name> using BDCDATA
    mode <A/N/E> update <L/A/S>
    messages into BDCMSGCOLL.

  • Spatial Index and XA transaction

    Hi all,
    I have problem with spatial index in XA transaction.
    java.sql.SQLException: ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
    ORA-29400: data cartridge error
    ORA-14450: attempt to access a transactional temp table already in use
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 623
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 227
    My configuration Java 5, Tomcat 5.5, UserTransaction manager Bitronix.
    The problem disappears after dropping spatial index.
    sql statement:
    INSERT INTO ICING_SPATIAL.MAP_ISSUES ( FEATURE_ID, GEOMETRY, AUTHOR_ID, ISSUE_ID, ISSUE_STATUS, LANGUAGE, SOURCE, TEXT) VALUES ( ? ,SDO_MIGRATE.TO_CURRENT( ? , ( SELECT DIMINFO FROM ALL_SDO_GEOM_METADATA WHERE OWNER = ? AND TABLE_NAME = ? AND COLUMN_NAME = ? ) ), ? , ? , ? , ? , ? , ? )
    Full stacktrace is:
    java.sql.SQLException: ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
    ORA-29400: data cartridge error
    ORA-14450: attempt to access a transactional temp table already in use
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 623
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 227
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:212)
    at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:951)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3368)
    at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:4245)
    All user transactions are commited or rollbacked because the DBA_2PC_PENDING is empty: SQL> select * from SYS.DBA_2PC_PENDING;
    no rows selected
    SQL>
    This problem occures regulary after any 2PC transaction has been rolledback. The next request causes this exception. Sometimes it appears after commit too, but I am able to reproduce it within ten or twenty requests.
    Has anybody had simillar problem?
    Thanks for any suggestions how to check what is going wrong.
    Regards,
    Zdenek Vrablik

    The problem is in Oracle Spatial.
    Oracle database don't support Temporary tables and XA transactions together. Oracle Spatial uses temporary tables.
    Possible solution (I am using)
    One database connection(nonXA) to read data and one connection(XA) to insedt/update/delete data including spatial data.

Maybe you are looking for

  • How do I disable auto-launch of third party applications (i.e. TeamViewer)  at startup?

    I've loaded a few third party applications like TeamViewer which installed themselves as startup applications which I cannot disable in the system preferences login items.  The obvious answer is don't load these apps but that being said, how do I dis

  • To send company logo through mail

    I am able to create a html template in mime repository and able to send the template in a mail using cl_bcs. the problem is the comapny logo is not coming in the mail with the template . instead some text 'cid:image000..' is displayed in the pacehold

  • Third party DAQ units compatibility?

    ?Hello,              I am curious to know that can we use any third party DAQ units rather than NI products. For example, NI USB 6008 or some other device from NI. AT the same time, If I choose any third party device for DAQ then can I use DAQ assist

  • Clip weirdness after Media Manager backup

    Several of my clips have freaked out after the media manager backup. I'll have to go back to an autosave and see what exactly was on them, but definitely there was a modifed speed property and I think, a keyframed brightness filter. Also had an issue

  • JDEV 11G TP3: failed to create java virtual machine

    I got an error message when running a little new adf fusion application: [Starting DefaultServer using the following ports: HTTP=8988, RMI=23891, JMS=9227.] C:\oracle\product\jdeveloper11g\jdk\bin\javaw.exe -client -classpath C:\oracle\product\jdevel