users@glassfish.java.net

Re: org.omg.CORBA.NO_IMPLEMENT: This is a locally ...

From: <forums_at_java.net>
Date: Wed, 8 Jun 2011 10:17:00 -0500 (CDT)

Marina,

Thanks for taking care of that issue so quickly. I've never had any issue
resolved anywhere more quickly.

I wonder if you (or maybe  someone else reading) can help track down a
problem I'm having. I feel it must be a configuration problem on my end, but
I'm not sure where...

I'm getting the exception above after an EJB timer has been invoked and a
distributed transaction is being committed. Eventually, this leads to
OTSResourceImpl._release() being called (which throws the
NO_IMPLEMENT exception mentioned above).

I'm stepping through with a debugger to see what's going on, and I see
_release is being called when isProxy is true by
RegisteredResource.distributedCommit() which is called by
TopCoordinator.commit().

In TopCoordinator.commit() I can see the list of resources that are
participating in the transaction, and I see there are a total of 5. Three are
OTSResourceImpl objects (with SQL Server XA Resources as the "xar") and the
other two are _ResourceStub objects (it's not clear to me what these are, but
I am calling two other Remote EJBs, so I'm guessing these correspond to those
remote resources).

Here is a stack trace from the _release() call:

at com.sun.jts.jtsxa.OTSResourceImpl._release(OTSResourceImpl.java:497) at
com.sun.jts.CosTransactions.RegisteredResources.distributeCommit(RegisteredResources.java:938)
at
com.sun.jts.CosTransactions.TopCoordinator.commit(TopCoordinator.java:2118)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:412)
at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623) at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:323)
at
com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate.commitDistributedTransaction(JavaEETransactionManagerJTSDelegate.java:174)
at
com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.commit(JavaEETransactionManagerSimplified.java:859)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5114)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4879)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
at
com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:4062)
at
com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1832)
at
com.sun.ejb.containers.EJBTimerService.access$100(EJBTimerService.java:108)
at
com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:2727)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at
java.util.concurrent.FutureTask.run(FutureTask.java:138) 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:619)
Any idea what could be the problem here?

Thanks!

--Chris

 


--
[Message sent by forum member 'christopherrued']
View Post: http://forums.java.net/node/810426