I had this test application setup using JBM 1.3 and it was working but with some problems. I decided to upgrade to the latest version of JBM and now I get errors after the server has started. I think there is something that I need to do but I don't really know where to start looking. Any ideas based on the stack traces below?

12:42:43,351 ERROR [MessagingXAResourceWrapper] ********************************Failed to connect to server javax.naming.NameNotFoundException: DefaultJMSProvider not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) at org.jnp.server.NamingServer.getObject(NamingServer.java:543) at org.jnp.server.NamingServer.lookup(NamingServer.java:296) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) at javax.naming.InitialContext.lookup(InitialContext.java:351) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getConnectionFactory(MessagingXAResourceWrapper.java:343) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.connect(MessagingXAResourceWrapper.java:300) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getDelegate(MessagingXAResourceWrapper.java:259) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.recover(MessagingXAResourceWrapper.java:107) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:746) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecovery(XARecoveryModule.java:685) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:179) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWork(PeriodicRecovery.java:237) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:163) 12:42:43,356 WARN [loggerI18N] [com.arjuna.ats.internal.jta.recovery.xarecovery1] Local XARecoveryModule.xaRecovery got XA exception javax.transaction.xa.XAException: Error trying to connect to provider DefaultJMSProvider, XAException.XAER_RMERR 12:42:43,356 ERROR [MessagingXAResourceWrapper] ********************************Failed to connect to server javax.naming.NameNotFoundException: DefaultJMSProvider not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) at org.jnp.server.NamingServer.getObject(NamingServer.java:543) at org.jnp.server.NamingServer.lookup(NamingServer.java:296) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) at javax.naming.InitialContext.lookup(InitialContext.java:351) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getConnectionFactory(MessagingXAResourceWrapper.java:343) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.connect(MessagingXAResourceWrapper.java:300) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getDelegate(MessagingXAResourceWrapper.java:259) at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.recover(MessagingXAResourceWrapper.java:107) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:771) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecovery(XARecoveryModule.java:685) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:179) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWork(PeriodicRecovery.java:237) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:163)

I didn't get these error messages before. The first occurrence is 10s after startup then every 130s after that.

When I run my test I get lots of these messages on the stdout:2007-07-26 15:14:35,820 WARN [org.jboss.messaging.core.impl.JDBCPersistenceManager] SQLException caught - assuming deadlock detected, try:1java.sql.SQLException: ORA-02291: integrity constraint (MANDERSO.SYS_C0011668) violated - parent key not found

I hacked the DB and removed the referential integrity constraint (JBM_MSG_REF.MESSAGE_ID -> JBM_MSG.MESSAGE_ID) just to see what would happen i.e. not considering it a legitimate fix, and I ceased getting the messages and the test ran. I started getting other stack traces instead.

I know that the database schema changed between 1.3 and 1.4. Is there some other configuration required to avoid the SQLException above? When I googled I only found one issue and that was re: duplicate keys, not parent key not found.

When I look in my server.log file I see several messages about the DefaultJMSProvider e.g.DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Bound adapter to java:/DefaultJMSProvider

This seems to conflict with the error message I am seeing above i.e.:javax.naming.NameNotFoundException: DefaultJMSProvider not bound

I am not sure what to make of this error. Either the DefaultJMSProvider is bound or it's not? This seems to be a JMS issue so the fact that I am using Oracle shouldn't be an issue (as far as I can tell). There must be something I am doing wrong (or not at all) which is preventing the DefaultJMSProvider to act as expected. Any thoughts?