Aha, it is working. I can excuse incompetence if it looks like you are making the effort :-)
Although you broke my other rule. ALWAYS POST THE FULL STACKTRACE.
OCI works better than thin (thin has a 4k limit on inserting blobs.
I suspect your problem relates to the original error (why couldn't it create/find the table?).
Try dropping the JMS_ tables, enable TRACE logging as described in "READ THIS FIRST"
and post the output from log/server.log for where the PersistenceManager is "starting"
i.e. doing its recovery, creating the tables and checking the state of the db.
Thanks for the quick response. I did what you suggested, and turned on debugging. This lead me to see that the configuration for the persistence manager wasn't being used. It was still trying to create the messageblob as an object. So, I went back to the hsqldb-jdbc2-service.xml file that I had been modifying, and deleted it. And replaced it with the oracle one from the example. This led to the following exception:
javax.jms.JMSException: Error creating the dlq connection: XAConnectionFactory not bound
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
But I think the real problem is in the depends element of the oracle-jdbc2-service.xml file. It says this:
But I don't have this Connection Manager defined anywhere. There is a similar one defined for hypersonic in the Login-config.xml file. Should I just add one for oracle? I really want it to use a local-tx-datasource that I have already defined. How do I configure it to use my new datasource?
Yes, you need to deploy the DataSource (docs/examples/jca).
I have made this clear on the WIKI
Yeah, I read that section in the wiki. I think it was:
I do have the data source deployed, and it loads it correctly. But I have several Oracle datasources deployed, and I want to tell JMS to use a particular one. How do I configure that?
Ok, I figured it out. In the
tag, I needed to change the OracleDS to the JNDI bind name of my new Data Source:
Once I did this, it appears to create the JMS table just fine, as well as write JMS messages to it.