UserTransaction.begin behaves differently from 3.2.3 to 4.0.
harajuku_01 Sep 13, 2004 4:49 PMHi Forum,
Originally, I write a small external stand-alone client to use the UserTransaction from JBoss to send JMS message. I eliminate other extra JMS code and show my problem in the following. It works when talking to JBoss 3.2.3. However, if I run the same piece of code to talk to JBoss 4.0.0RC1, I receive "UT factory lookup failed: java.lang.IllegalStateException".
I have checked the release notes and didn't find anything relevant.
Sorry if I post this in a wrong forum. Can someone shred some light on this?
I really appreciate your help.
Thanks,
Hara
UserTransaction ut = null;
Context ctx = null;
Hashtable ht = new Hashtable();
try {
ht.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
ht.put(Context.PROVIDER_URL,"jnp://localhost:1099");
ctx = new InitialContext(ht);
ut = (UserTransaction)ctx.lookup("UserTransaction");
System.out.println("\t ut returned: "+ut.getClass().getName()+"\n");
ut.begin();
ut.commit();
}
catch (Exception e) {
e.printStackTrace();
}
======== JBoss 3.2.3 log ========
2004-09-13 12:45:24,507 TRACE [org.jboss.tm.TransactionManagerService] Constructing
2004-09-13 12:45:24,507 TRACE [org.jboss.tm.TxManager] tx timeout is now: 0s
2004-09-13 12:45:24,507 TRACE [org.jboss.tm.TransactionImpl] Created new instance for
tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=SHINJUKU//19, BranchQual=]
2004-09-13 12:45:24,507 TRACE [org.jboss.tm.TxManager] began tx: TransactionImpl:XidImpl [FormatId=257,
GlobalId=SHINJUKU//19, BranchQual=]
2004-09-13 12:45:24,507 TRACE [org.jboss.tm.TransactionManagerService] Constructing
2004-09-13 12:45:24,507 TRACE [org.jboss.tm.TxManager] suspended tx: TransactionImpl:XidImpl [FormatId=257,
GlobalId=SHINJUKU//19, BranchQual=]
2004-09-13 12:45:24,537 TRACE [org.jboss.tm.TxManager] resumed tx: TransactionImpl:XidImpl [FormatId=257,
GlobalId=SHINJUKU//19, BranchQual=]
2004-09-13 12:45:24,537 TRACE [org.jboss.tm.TransactionImpl] Committing, tx=TransactionImpl:XidImpl
[FormatId=257, GlobalId=SHINJUKU//19, BranchQual=], status=STATUS_ACTIVE
2004-09-13 12:45:24,537 TRACE [org.jboss.tm.TransactionImpl] Before completion done, tx=TransactionImpl:XidImpl
[FormatId=257, GlobalId=SHINJUKU//19, BranchQual=], status=STATUS_ACTIVE
2004-09-13 12:45:24,537 TRACE [org.jboss.tm.TransactionImpl] Zero phase commit: No resources.
2004-09-13 12:45:24,537 TRACE [org.jboss.tm.TransactionImpl] Committed OK, tx=TransactionImpl:XidImpl
[FormatId=257, GlobalId=SHINJUKU//19, BranchQual=]
2004-09-13 12:45:24,537 TRACE [org.jboss.tm.TxManager] commited tx: TransactionImpl:XidImpl [FormatId=257,
GlobalId=SHINJUKU//19, BranchQual=]
======== JBoss 4.0.0RC1 log ========
2004-09-13 13:11:00,442 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin ReadTask.run2004-09-13 13:11:00,442
DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin WriteTask.run2004-09-13 13:11:00,442 DEBUG
[org.jboss.mq.il.uil2.SocketManager] Created ObjectOutputStream2004-09-13 13:11:00,442 DEBUG
[org.jboss.mq.il.uil2.SocketManager] Created ObjectInputStream2004-09-13 13:11:00,502 DEBUG
[org.jboss.mq.il.uil2.ServerSocketManagerHandler] Setting up the UILClientIL Connection2004-09-13 13:11:00,502
DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] The UILClientIL Connection is set up2004-09-13
13:11:01,523 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] Exiting on IOEjava.net.SocketException:
Connection reset at java.net.SocketInputStream.read(Unknown Source) at
java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source)
at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67) at
java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source) at
java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Unknown Source) at
java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source) at
java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source) at
java.io.ObjectInputStream$BlockDataInputStream.readByte(Unknown Source) at
java.io.ObjectInputStream.readByte(Unknown Source) at
org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:279) at java.lang.Thread.run(Unknown
Source)2004-09-13 13:11:01,533 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run2004-09-13
13:11:01,533 DEBUG [org.jboss.mq.il.uil2.SocketManager] End WriteTask.run
======== client throws exception when talking to JBoss 4.0.0RC1 ========
ut returned: org.jboss.tm.usertx.client.ClientUserTransaction
javax.transaction.SystemException: java.lang.RuntimeException: UT factory lookup
failed: java.lang.IllegalStateException: Failed to find method for hash:5066195
438591816788 available mappings: {-7735902332893138073=public abstract java.lang
.Object org.jboss.tm.usertx.interfaces.UserTransactionSession.begin(int) throws
java.rmi.RemoteException,javax.transaction.NotSupportedException,javax.transacti
on.SystemException, 4084914802091091921=public abstract void org.jboss.tm.usertx
.interfaces.UserTransactionSession.commit(java.lang.Object) throws java.rmi.Remo
teException,javax.transaction.RollbackException,javax.transaction.HeuristicMixed
Exception,javax.transaction.HeuristicRollbackException,java.lang.SecurityExcepti
on,java.lang.IllegalStateException,javax.transaction.SystemException, 6315673022
836612424=public abstract void org.jboss.tm.usertx.interfaces.UserTransactionSes
sion.setRollbackOnly(java.lang.Object) throws java.rmi.RemoteException,java.lang
.IllegalStateException,javax.transaction.SystemException, 1297379752452928667=pu
blic abstract void org.jboss.tm.usertx.interfaces.UserTransactionSession.rollbac
k(java.lang.Object) throws java.rmi.RemoteException,java.lang.SecurityException,
java.lang.IllegalStateException,javax.transaction.SystemException, -892088777694
5416620=public abstract org.jboss.tm.usertx.interfaces.UserTransactionSession or
g.jboss.tm.usertx.interfaces.UserTransactionSessionFactory.newInstance() throws
java.rmi.RemoteException, -8159502623153744977=public abstract int org.jboss.tm.
usertx.interfaces.UserTransactionSession.getStatus(java.lang.Object) throws java
.rmi.RemoteException,javax.transaction.SystemException, 5874023380897232108=publ
ic abstract void org.jboss.tm.usertx.interfaces.UserTransactionSession.destroy()
throws java.rmi.RemoteException}
at org.jboss.tm.usertx.client.ClientUserTransaction.begin(ClientUserTran
saction.java:107)
at JbTxClientXA2.init(JbTxClientXA2.java:41)
at JbTxClientXA2.main(JbTxClientXA2.java:53)