Hello people. I'm new to JBoss (~month of experience), however i've migrated production installation of project to JBoss from SunApplication server. It runs much better, but we're now facing memory leak. We're running jboss as application server and some socket daemons as clients for the server. Now both (client and server) consumes memory. I've compared "jmap -histo pid" results for client after 12 hours of heavy load. It is obivious that amount org.jboss.mq.SpyTopic and org.jboss.mq.AcknowledgementRequest has grown Was (1column is bytes, 2nd - amount of instances, 3d - class name): anonymous wrote : 182016 7584 org.jboss.mq.SpyTopic | 181992 7583 org.jboss.mq.AcknowledgementReque | After 12 hours anonymous wrote : | 917760 38240 org.jboss.mq.SpyTopic | 917736 38239 org.jboss.mq.AcknowledgementRequest | The client-server uses JMS communication a lot. Client message handler:
| public void onMessage(javax.jms.Message message) { | try { | message.acknowledge(); | MapMessage mapMessage = (MapMessage) message; | //...........actions on message | } catch (JMSException jmsEx) { | logger.log(Level.INFO, "Error processing message", jmsEx); | } catch (ClassCastException cCEx) { | logger.fine(cCEx.getMessage()); | } | | } | Server side (in session and eninty beans) message producer | private void notifyClientListeners(Integer playerId, String serverId) { | try { | TopicSession session = null; | Topic topic = this.serverTopic; // acquired in ejbCreate from JNDI env. | TopicConnectionFactory tcf = this.jmsFactory; // acquired in ejbCreate from JNDI env. | TopicConnection conn = tcf.createTopicConnection(this.jmsUserName, this.jmsUserPassword); | | session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE); | conn.start(); | | TopicPublisher send = session.createPublisher(topic); | | MapMessage mapMessage = session.createMapMessage(); | mapMessage.setString(JMSConstants.JMS_MESSAGE_NAME, JMSConstants.JMS_PLAYER_CONNECT); | mapMessage.setInt(JMSConstants.JMS_PLAYER_ID, playerId.intValue()); | mapMessage.setString(JMSConstants.JMS_SERVER_ID, serverId); | | send.publish(mapMessage); | | send.close(); | session.close(); | conn.close(); | } catch (Exception ex) { | logger.log(Level.WARNING, "Unable to notify servers", ex); | } | } | JMS connectivity works using mysql. Here we have a error too. Sometimes following error occures: anonymous wrote : 06:25:45,394 WARN [LocalManagedConnectionFactory] Destroying connection that is not valid, due to the following exception: [EMAIL PROTECTED] | com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: | | ** BEGIN NESTED EXCEPTION ** | | java.net.SocketException | MESSAGE: Connection reset | | STACKTRACE: | | java.net.SocketException: Connection reset | at java.net.SocketInputStream.read(SocketInputStream.java:113) | at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) | This error occures in many cases, JMS, entiny beans and so on. But we don't have data loss. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3923805#3923805 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3923805 ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user