2 Replies Latest reply on Sep 23, 2004 7:47 PM by genman

    JMS use DB ? SQLException ......

    liufeng820

      I use Jboss but I don't use DB ? why throw SQLException at here ?
      out of memory ?.

      Jboss : 4.0
      OS : Linux Fedora2
      IDE : Eclipse3.0
      JDK : 1.4.2

      I 'm a new user of Jboss
      thanks this good EJBServer

      Caused by: org.jboss.mq.SpyJMSException: Could not store message: 222898 msg=106 063 hard NOT_STORED PERSISTENT queue=TOPIC.CustomerRateTopic.ID:76.-2147483648 p riority=4 lateClone=false hashCode=8143810; - nested throwable: (java.sql.SQLExc eption: out of memory)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceMan ager.java:1222)
      at org.jboss.mq.server.MessageCache.saveToStorage(MessageCache.java:385)
      at org.jboss.mq.server.MessageReference.makeSoft(MessageReference.java:3 11)
      at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCa che.java:332)
      at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:142)
      at org.jboss.mq.server.MessageCache.add(MessageCache.java:112)
      at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:130)
      at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationMa nager.java:402)
      at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationMa nager.java:378)
      at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerI nterceptorSupport.java:136)
      at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecu rityInterceptor.java:162)
      at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor. java:270)
      at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java :136)
      at org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService. java:242)
      at java.lang.Thread.run(Thread.java:534)
      Caused by: java.sql.SQLException: out of memory
      at org.hsqldb.Trace.getError(Unknown Source)
      at org.hsqldb.jdbcResultSet.(Unknown Source)
      at org.hsqldb.jdbcConnection.executeStandalone(Unknown Source)
      at org.hsqldb.jdbcConnection.execute(Unknown Source)
      at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
      at org.hsqldb.jdbcStatement.executeUpdate(Unknown Source)
      at org.hsqldb.jdbcPreparedStatement.executeUpdate(Unknown Source)
      at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdat e(WrappedPreparedStatement.java:316)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.add(PersistenceManager.java: 780)
      at org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceMan ager.java:1208)
      ... 14 more

        • 1. Re: JMS use DB ? SQLException ......
          robisz

          By default JBoss stores JMS messages in embedded hsql database.
          If you want to use another DB just replace the deploy/jms/hsqldb-jdbc2-service.xml

          You find examples for other DB-s under JBOSS_HOME/docs/examples/jms

          You also need to configure a ConnectionFactory for the DB.
          Examples under JBOSS_HOME/docs/examples/jca directory

          robisz

          • 2. Re: JMS use DB ? SQLException ......
            genman


            To clarify, the HSQLDB uses memory and disk to store tables. But you need to have configured the tables to be stored on disk. JBoss 3.2.6 (RC release) has a good default configuration.