Do you use the vm connector in your broker service ?

Regards
JB

> Le 11 déc. 2020 à 16:17, Martijn Brinkers (list) <martijn.l...@gmail.com> a 
> écrit :
> 
> Unfortunately it looks like it's not easy (for me) to replicate in a
> simple application.
> 
> It looks like the issue is related to a shutdown hook somehow
> resurrecting the broker after the broker was stopped.
> 
> Unfortunately the logging lines are a bit long so I hope it's somewhat
> readable.
> 
> The shutdown logging shows that ActiveMQ is shutting down but then just
> after the shutdown hook, a new instance of the BrokerService is created
> with the default values. For example it reports a warning about max
> memory 1024mb. In the spring config however the max memory is set to
> 20MB.
> 
> INFO  Apache ActiveMQ 5.16.0 (localhost, ID:martijn-laptop-45763-
> 1607698489325-0:1) is shutting
> down    (org.apache.activemq.broker.BrokerService) [ActiveMQ
> ShutdownHook] 
> 
> INFO  Connector vm://localhost
> stopped    (org.apache.activemq.broker.TransportConnector) [ActiveMQ
> ShutdownHook] 
> 
> INFO  PListStore:[/home/martijn/git/ciphermail-core/var/jms-
> data/localhost/tmp_storage]
> stopped    (org.apache.activemq.store.kahadb.plist.PListStoreImpl)
> [ActiveMQ ShutdownHook] 
> 
> INFO  Stopping async queue
> tasks    (org.apache.activemq.store.kahadb.KahaDBStore) [ActiveMQ
> ShutdownHook] 
> 
> INFO  Stopping async topic
> tasks    (org.apache.activemq.store.kahadb.KahaDBStore) [ActiveMQ
> ShutdownHook] 
> 
> INFO  Stopped KahaDB    (org.apache.activemq.store.kahadb.KahaDBStore)
> [ActiveMQ ShutdownHook] 
> 
> WARN  Memory Usage for the Broker (1024mb) is more than the maximum
> available for the JVM: 455 mb - resetting to 70% of maximum available:
> 318 mb    (org.apache.activemq.broker.BrokerService)
> [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] 
> 
> INFO  Using Persistence Adapter:
> KahaDBPersistenceAdapter[/home/martijn/git/ciphermail-core/activemq-
> data/localhost/KahaDB]    (org.apache.activemq.broker.BrokerService)
> [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] 
> 
> INFO  Apache ActiveMQ 5.16.0 (localhost, ID:martijn-laptop-45763-
> 1607698489325-0:1) uptime 7.446
> seconds    (org.apache.activemq.broker.BrokerService) [ActiveMQ
> ShutdownHook] 
> 
> INFO  Apache ActiveMQ 5.16.0 (localhost, ID:martijn-laptop-45763-
> 1607698489325-0:1) is
> shutdown    (org.apache.activemq.broker.BrokerService) [ActiveMQ
> ShutdownHook] 
> 
> A simple test application does not show this issue.
> 
> If I disable (i.e., comment out) the following
> DefaultMessageListenerContainer, then the shutdown works normally.
> 
> <bean
> class="org.springframework.jms.listener.DefaultMessageListenerContainer
> " >
>    <property name="connectionFactory" ref="connectionFactory"/>
>    <property name="destination" ref="certificateCreatedTopic"/>
>    <property name="sessionTransacted" value="true" />
>    <property name="pubSubDomain" value="true"/>        
>    <property name="subscriptionDurable" value="true" />
>    <property name="clientId" value="ciphermail.gateway" />
>    <property name="durableSubscriptionName" value="certificate-
> created-listener" />
> </bean>
> 
> For some reason adding DefaultMessageListenerContainer instance somehow
> results in restarting and instance of BrokerService which is then
> shutdown.
> 
> Any idea?
> 
> Kind regards,
> 
> Martijn Brinkers
> 
> On Fri, 2020-12-11 at 06:09 -0700, Tim Bain wrote:
>> This sounds like a bug. Please submit a bug in JIRA, ideally
>> attaching a
>> minimal reproducer.
>> 
>> Thanks,
>> Tim
>> 
>> On Fri, Dec 11, 2020, 5:58 AM Martijn Brinkers (list) <
>> martijn.l...@gmail.com> wrote:
>> 
>>> I have embedded ActiveMQ inside a spring application.
>>> 
>>> The broker is configured in XML and I explicitly set the
>>> dataDirectory:
>>> 
>>> <amq:broker useJmx="false" persistent="true"
>>> dataDirectory="var/jms">
>>>    <amq:transportConnectors>
>>>        <amq:transportConnector uri="vm://localhost" />
>>>    </amq:transportConnectors>
>>> </amq:broker>
>>> 
>>> When I startup my application, the var/jms directory is created and
>>> JMS
>>> messages are stored when required. If however I shutdown my
>>> application, an addtional directory "activemq-
>>> data/localhost/KahaDB" is
>>> created. This only happens if "useShutdownHook" is true (which is
>>> the
>>> default).
>>> 
>>> It looks like the shutdownhook tries to create the "data directory"
>>> but ignores the configured value and therefore uses the default
>>> data
>>> directory name.
>>> 
>>> Is this a bug? Or did I make a configuration error?
>>> 
>>> Kind regards,
>>> 
>>> Martijn Brinkers
>>> 
>>> 
> 

Reply via email to