Although, after doing some reading, it seems like the class:
com.evermind.sql.DriverManagerXADataSource
does indeed provide you with shared distributed transaction context.
Have you tried looking up your DataSource from the xa-location as specified
in your data-sources.xml?
-Original Message-
From: Ampie Barnard
Sent: 06 July 2001 02:19
To: 'Orion-Interest'
Subject: RE: Transaction management in BMP through Session bean
Your JDBC drivers have to be JTA/JTS enabled. JTA enabled drivers would have
some implementation of the javax.transaction.Synchronization interface which
would somehow be registered with Orion's implementation
javax.transaction.TransactionManager. Exactly how this works is container
and driver specific. With Websphere, for instance, jdbc connections are only
JTA enabled if you use DB2's jta jdbc drivers. With WebLogic, you have to
use BEA's JDrivers and connection pools. Assume therefor by default that
your jdbc driver and Orion do not share the same transaction context. The
behaviour you have described kind of points to that direction.
By the way, does anyone know how I could get a reference (pointer) to
Orion's implementation of javax.transaction.TransactionManager? I need this
to link Toplink's JTA enabler to Orion.
Also, since Oracle and Orion are such good buddies nowadays, does anyone
know if and when there would be Oracle jdbc drivers that would be JTA
enabled in Orion?
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: 06 July 2001 11:50
To: Orion-Interest
Subject: Transaction management in BMP through Session bean
In a BMP, if we throw an EJBException all the changes would be rolled
back by the container, right? Or do we have to write code to do that?
I was reading through your reply in the list and I have a doubt
regarding something regarding transaction handling in BMP entity
beans. I am using the entity bean in a session bean and have two sql
statements and one entity update. If one of the sql statements fails
and the entity is updated , the changes are all rolled back, but in
the case of the entity failure to update, the sql statement changes
are not rolled back and I get an error saying
System/communication error: Transaction was rolled back: Error preparing
bean in
stance: com.evermind.transaction.MarshallingXAException; nested exception
is:
com.evermind.transaction.MarshallingXAException
The entity bean is throwing an EJBException back to the Session bean, but
the session bean does not catch
it and continues forward as if nothing happened.
The funny thing is that the queries are placed like this
sqlinsert 1...
entitybean update
sqlinsert 2.
So the flow becomes
sqlinsert 1 happens then sqlinsert 2 and only in the end does the entity
bean throw the exception
any idea why this happens?
Can anyone help me on this. The BMP entity has persistence
Bean
Thanks
Kind Regards
Aby
application/ms-tnef