Well, I have a working config.... sort of!
So, I am hoping this thread gets noticed as well.
My problem is that my XA transactions only work on one particular server in the organization, which happens to be installed on my desktop. (although others connect to my machine just fine, so it doesn't appear to be a local vs remote issue)
As soon as I try to change the datasource XML file, and try to access any other DB, I get the following message:
15:25:15,015 INFO [TxConnectionManager] Could not enlist in transaction on entering meta-aware object!
I've tried the thick and the thin drivers, as well as oracle 8.1.6, and 8.1.7, and 8.0.5
Does anybody have any idea of any Oracle configurations that might need to be done? Or any other advice?
I started to make some headway on this, so I wanted to give an update to see if anyone else might be able to run with it.
Apparently, there is something you need to install with the Oracle Installation, probably some package dealing with Java stuff.
I found a sql script in oracle\ora81\javavm\install called initxa.sql I ran it as dba and got a little further, now I am getting different error messages from Oracle. I am going to try to figure out the rest today.
So, if anyone reading this is a DBA, can you please post ideas on how to get Oracle to install Java XA support?
You need to install the oracle xa packages, since xa transactions in on oracle side need some java objects etc. to get xa working.
The problem with oracle + jboss resides in the oracle jdbc drivers, which check if a connection object was used with a local transaction. If this is the case, the local transaction is not commited or rolled back, instead of this an xa exception is thrown.
A workaround may be either to write some peace of code in jboss that checks on a connection if a local transaction is active, and if so, commit/rollback it, or maybe use an older jdbc driver.
I actually didn't find a version that works, but I'm still looking.
Here's something you can try - it's not a solution but it does point to a problem.
Whenever you start the server use the jmx-console to clear the connection pool for the XA datasource. You should find that you can use the Oracle datasource now.