Hi,<br><br>We&#39;ve had a number of bugs/support issues over the last year when JMS--which usually runs fine for weeks or months--either temporarily or permanently has one of the following problems:<br>a) Error publishing message: socket closed<br>
b) Connection Factory not bound, JNDI tree loses its entry for the jms connetion factory<br>c) Corrupt Hsqldb prevents JMS from starting up.<br><br>The first two are &quot;temporary, &quot; i.e. restarting makes the problem &quot;go away&quot;. The third requires deleting the hsqldb and before restarting the app server.<br>
<br>To clarify: this error occurs in production, published software where&nbsp; all the JMS&nbsp;
code--with mdb&#39;s or hand-coded jms--normally runs fine. That is,&nbsp; 99.99% percent of the time all the jms-related
code works without a hitch. These errors occur intermittently with no obvious cause.<br>

<br>The question: <br>Why do these errors occur? How do you proactively prevent or monitor for such errors?&nbsp; Any notes from the trenches? Any survival guide?<br><br>I&#39;ve searched the jboss wiki but haven&#39;t found found such documentation or notes.<br>
<br>Version Notes:&nbsp; We run jboss 4.2.2GA but have seen similar problems on Jboss <a href="http://3.2.6.">3.2.6.</a><br><br><br>thanks in advance,<br><br><br>bill<br><br>Here are some log excerpts:<br><br>socket closed:<br>
[2008-04-27 14:05:29,046] [ERROR] com.participate.util.j2ee.JMSMessagePublisher (JMSMessagePublisher.java:104) - error publishing message (retry# 10)<br>org.jboss.mq.SpyJMSException: Cannot send a message to the JMS server; - nested throwable: (java.net.SocketException: socket closed)
<br>&nbsp;&nbsp;&nbsp; at org.jboss.mq.Connection.sendToServer(Connection.java:1028)
<br>&nbsp;&nbsp;&nbsp; at org.jboss.mq.SpySession.sendMessage(SpySession.java:1005)
<br>&nbsp;&nbsp;&nbsp; at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:265)
<br>&nbsp;&nbsp;&nbsp; at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:199)
<br>&nbsp;&nbsp;&nbsp; at org.jboss.mq.SpyTopicPublisher.publish(SpyTopicPublisher.java:58)
<br>&nbsp;&nbsp;&nbsp; at com.participate.util.j2ee.JMSMessagePublisher.publishMessage(JMSMessagePublisher.java:89)<br><br>connection factory not bound:<br><pre id="comment_text_0">        at<br>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)<br>
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)<br>        at java.lang.Thread.run(Unknown Source)<br>Caused by: javax.naming.NameNotFoundException: peJmsConnectionFactory not bound<br>        at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)<br>
        at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)<br>        at org.jnp.server.NamingServer.getObject(NamingServer.java:543)<br>        at org.jnp.server.NamingServer.lookup(NamingServer.java:296)<br>        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)<br>
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)<br>        at javax.naming.InitialContext.lookup(Unknown Source)<br>        at<br><br><br>corrupt hypersonic db:<br>MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:<br>ObjectName: jboss:service=Hypersonic,database=localDB<br>
 state: FAILED<br> I Depend On: <br> Depends On Me:  jboss.jca:service=ManagedConnectionFactory,name=DefaultDS<br>MBeanException: java.sql.SQLException: General error: java.lang.NullPointerException<br>Cause: java.sql.SQLException: General error: java.lang.NullPointerException<br>
<br>com.participate.util.j2ee.JmsUtil.getDefaultTopicConnectionFactory(JmsUtil.java:55)</pre>&nbsp;<br><br>