9 Replies Latest reply on Feb 14, 2013 7:39 AM by adrien ruffie

    Use global pools with in vm connector/acceptor ?

    adrien ruffie Newbie

      Hello all,

       

      I have a HornetQ server which start during startup of my webapp (is an embedded HornetQ)

      I use the following configuration:

       

       

      <configuration xmlns="urn:hornetq"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">
      
         <paging-directory>C:\Java\Workspaces\Indigo\res\hornetq\paging</paging-directory>
         
         <bindings-directory>C:\Java\Workspaces\Indigo\res\hornetq\bindings</bindings-directory>
         
         <journal-directory>C:\Java\Workspaces\Indigo\res\hornetq\journal</journal-directory>
         
         <large-messages-directory>C:\Java\Workspaces\Indigo\res\hornetq\large-messages</large-messages-directory>
         
         <journal-min-files>10</journal-min-files>
         
            <connectors>
            <connector name="webapp-connector">
              <factory-class>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</factory-class>
               <param key="server-id" value="${hornetq.server-id:0}"/>
            </connector>
         </connectors>
      
      
         <acceptors>
            <acceptor name="webapp-acceptor">
               <factory-class>
                     org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory
                 </factory-class>
                 <param key="server-id" value="0"/>
            </acceptor>
         </acceptors>
      
      
         <security-enabled>false</security-enabled>
         
         <persistence-enabled>false</persistence-enabled>
         
         <shared-store>false</shared-store>
      </configuration>
      
      

       

       

      My problem is, when I stop my webapp in tomcat server, following line is loggued:

       

      6 févr. 2013 19:10:40 org.hornetq.core.logging.impl.JULLogDelegate info

      INFO: HornetQ Server version 2.2.14.Final (HQ_2_2_14_FINAL, 122) [f7adea47-6ba2-11e2-b4e0-8df5c7f2c714] stopped

       

      Consequently HornetQ is correctly stopped with my webapp, but below following trace appears:

       

      6 févr. 2013 19:10:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

      GRAVE: The web application [/mywebapp] appears to have started a thread named [Thread-1 (HornetQ-client-global-threads-15529480)] but has failed to stop it. This is very likely to create a memory leak.

      6 févr. 2013 19:10:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

      GRAVE: The web application [/mywebapp] appears to have started a thread named [Thread-0 (HornetQ-client-global-scheduled-threads-17614142)] but has failed to stop it. This is very likely to create a memory leak.

       

      I check a heap.dump and I see all HornetQ thread is in zombis status "WAIT" status like:

       

      [Thread-3 (HornetQ-scheduled-threads-18439316)]

      [Thread-29 (HornetQ-server-HornetQServerImpl::serverUUID=ca2cb5b6-6bb0-11e2-baed-4332c050da13-68103)]

      [Thread-0 (HornetQ-remoting-threads-HornetQServerImpl::serverUUID=ca2cb5b6-6bb0-11e2-baed-4332c050da13-2167514-22853821)]

      [Thread-1 (HornetQ-client-global-threads-20868998)]

      [Thread-0 (HornetQ-client-global-scheduled-threads-783145)]

       

      I think maybe threads that may be attached to the pool of Tomcat no ? I found use-global-pools property which can take false but event

      with documentation I don't know if it can resolve my problem, and I think it's an option only for JMS connectors no ?

       

      Great thank and best regards,

       

      Adrien