As you can see, this problem is made up of many parts so I'll try to build the question logically.
We're using Castor as the persistence layer for our apps. It requires a TransactionManager to be bound as 'comp:java/TransactionManager' in JNDI.
We use SwiftMQ for messaging and have integrated Swift to use the Websphere JNDI provider.
WebSphere doesn't provide a TransactionManager so we have to create a wrapper and bind it to JNDI manually. We do this the first time Castor is accessed.
When this happens directly through an
EJB it works fine. If the EJB fires off a message and Castor is called from the other side of SwiftMQ, it doesn't work and fails for different reasons depending on how we configure it (NamingExceptions, more often than not).
When connecting to JNDI, I'm using the full set of environment properties rather than relying on new InitialContext().
SwiftMQ can be configured to have a base context. I've tried '
java:comp' and '' (ie nothing) and haven't got either working.
As you might be able to tell, I have a working but not extensive knowledge of JNDI. Any suggestions on what the problem is or what tests I can run to delve deeper into the behaviour?
Dave