On 11-12-2020 18:37, Jean-Baptiste Onofre wrote: > Do you use the vm connector in your broker service ?
Yes that is correct. I only use it for internal JMS messaging. The transportConnector is therefore set vm://localhost Kind regards, Martijn Brinkers >> 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 >>>> >>>> >> >