2 Replies Latest reply on Dec 13, 2011 8:47 AM by everjava

    Error with DBMessageStoreImpl and postgres

    everjava

      This exception is printed on console every time... What could be ?

      I'm using postgres 9.1.1 ,jboss esb 4.9, jboss 5.1

       

      2011-12-02 15:11:15,320 ERROR [org.jboss.soa.esb.actions.MessageRedeliverer] (ESBScheduler:jbossesb.esb_Worker-0) Could not obtain messages.

      org.jboss.soa.esb.services.persistence.MessageStoreException: org.postgresql.util.PSQLException: This connection has been closed.

          at org.jboss.internal.soa.esb.persistence.format.db.DBMessageStoreImpl.getAllMessages(DBMessageStoreImpl.java:354)

          at org.jboss.soa.esb.actions.MessageRedeliverer.process(MessageRedeliverer.java:72)

          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:649)

          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:603)

          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:433)

          at org.jboss.soa.esb.listeners.ScheduleListener.onSchedule(ScheduleListener.java:117)

          at org.jboss.soa.esb.listeners.lifecycle.AbstractScheduledManagedLifecycle$1.onSchedule(AbstractScheduledManagedLifecycle.java:68)

          at org.jboss.soa.esb.schedule.SchedulerJob$ESBScheduledJob.execute(SchedulerJob.java:289)

          at org.quartz.core.JobRunShell.run(JobRunShell.java:203)

          at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

      Caused by: org.postgresql.util.PSQLException: This connection has been closed.

          at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)

          at org.postgresql.jdbc2.AbstractJdbc2Connection.setAutoCommit(AbstractJdbc2Connection.java:661)

          at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkTransaction(BaseWrapperManagedConnection.java:545)

          at org.jboss.resource.adapter.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:826)

          at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:240)

          at org.jboss.internal.soa.esb.persistence.format.db.DBMessageStoreImpl.getAllMessages(DBMessageStoreImpl.java:316)

          ... 9 more

      2011-12-02 15:16:15,317 ERROR [org.jboss.soa.esb.actions.MessageRedeliverer] (ESBScheduler:jbossesb.esb_Worker-0) Could not obtain messages.

      org.jboss.soa.esb.services.persistence.MessageStoreException: org.postgresql.util.PSQLException: This connection has been closed.

          at org.jboss.internal.soa.esb.persistence.format.db.DBMessageStoreImpl.getAllMessages(DBMessageStoreImpl.java:354)

          at org.jboss.soa.esb.actions.MessageRedeliverer.process(MessageRedeliverer.java:72)

          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:649)

          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:603)

          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:433)

          at org.jboss.soa.esb.listeners.ScheduleListener.onSchedule(ScheduleListener.java:117)

          at org.jboss.soa.esb.listeners.lifecycle.AbstractScheduledManagedLifecycle$1.onSchedule(AbstractScheduledManagedLifecycle.java:68)

          at org.jboss.soa.esb.schedule.SchedulerJob$ESBScheduledJob.execute(SchedulerJob.java:289)

          at org.quartz.core.JobRunShell.run(JobRunShell.java:203)

          at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

      Caused by: org.postgresql.util.PSQLException: This connection has been closed.

          at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)

          at org.postgresql.jdbc2.AbstractJdbc2Connection.setAutoCommit(AbstractJdbc2Connection.java:661)

          at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkTransaction(BaseWrapperManagedConnection.java:545)

          at org.jboss.resource.adapter.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:826)

          at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:240)

          at org.jboss.internal.soa.esb.persistence.format.db.DBMessageStoreImpl.getAllMessages(DBMessageStoreImpl.java:316)

          ... 9 more

        • 1. Re: Error with DBMessageStoreImpl and postgres
          tcunning

          everson, you said it happens every time - is there something triggering this?   Do you see it when you invoke a service?   What happens when you see this?

           

          It looks like it gets a connection from the connection pool but the connection is closed.   

           

          It might be worth it to connect a debugger and check out some things - like whether if the connection that is grabbed from the connection pool is closed when DBMessageStoreImpl obtains it.

          • 2. Re: Error with DBMessageStoreImpl and postgres
            everjava

            Tom,

             

            I figured out that the table message(of JBossESBDS datasource)  was deleted. After restart jboss, the table was created again and the exceptions stopped.

             

            thanks