2 Replies Latest reply on Oct 26, 2004 2:16 PM by rvbatchu

    how to test Oracle JDBC persistence

    rvbatchu

      Hi,
      We have a JMS messaging application that uses topics. We want to test for JDBC persistence. We did follow the steps given to configure for Oracle, but we are not sure whether the persistence is working or not? I don't see any exceptions thrown. How do i really know that the messages are persisted to the database?
      We did login to the databse and did do select messageid from JMS_MESSAGES; and found no rows returned.

      Please reply,

      Thanks!

        • 1. Re: how to test Oracle JDBC persistence
          rvbatchu

          Sorry for not mentioning that we are using oracle-jdbc2-service.xml as againgt Oracle 9i database. First we tried with oracle-jdbc3-service.xml which was throwing the following exception so we switched to see how it will work with oracle-jdbc2-service.xml.

          The exception thrown when using oracle-jdbc3-service.xml is as follows:

          ERROR [PersistenceManager] Starting failed jboss.mq:service=PersistenceManager
          java.lang.NullPointerException
          at org.jboss.mq.pm.jdbc3.PersistenceManager.removeMarkedReferences(PersistenceManager.java:1559)

          Thanks!

          • 2. Re: how to test Oracle JDBC persistence
            rvbatchu

            Got it! I had to increase the timetolive value and also did not start my subscriber. I could see that it is working.

            I am just testing to see how the jdbc persistence is working. I stopped my MDB from the console and did see that the message are not reached to the MDB but they are in my JMS_MESSAGES table. Now, when i tried to restart my MDB i get the following exception -

            WARN JMSContainerInvoker Create Recovery Thread org.jboss.ejb.plugins.jms.JMSContainerInvoker - JMS provider failure detected:
            javax.jms.IllegalStateException: The durable subscription is already in use. DurableSubscription[clientId=DurableSubscriberExample name=RedialMessageEJB selector=null]

            So, now i tried the create operation on the MDB, i could see this in my logs -
            DEBUG http-0.0.0.0-8080-Processor24 org.jboss.system.ServiceController - Creating service jboss.j2ee:binding=message-driven-bean,jndiName=local/RedialMessageEJB,plugin=invoker,service=EJB
            DEBUG http-0.0.0.0-8080-Processor24 org.jboss.system.ServiceController - Ignoring create request for service: jboss.j2ee:binding=message-driven-bean,jndiName=local/RedialMessageEJB,plugin=invoker,service=EJB
            INFO Thread-17 STDOUT - Returning Instance

            Now, what should i do so that my MDB receives messages again. Restart jboss is the only workaround? Or am I doing something wrong?

            Thanks!