https://issues.apache.org/jira/browse/TOMEE-1112 Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau
2014-01-28 Romain Manni-Bucau <[email protected]>: > Yes, persistent = jdbc for tomee. I pointrd out the link to say you need to > use activemq.xml to do so. You can also implement your tomee amq broker > factory (the parser of the broker(...) line) > > > Le lundi 27 janvier 2014, exabrial12 <[email protected]> a écrit : >> Thank you, I've read over that page a few times. But actually the more I >> look >> at this, the more I believe there is actually a TomEE bug here. >> >> If you attempt to set persistent=true, but _not_ use JDBC persistence, >> TomEE >> soft-crashes on startup and fails to create an ActiveMQ broker. Looking at >> the code here: >> >> >> https://github.com/apache/tomee/blob/fdc0d09418dd40c81605dbdc1594709450c7839c/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java >> >> and here: >> >> >> https://github.com/apache/tomee/blob/fdc0d09418dd40c81605dbdc1594709450c7839c/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java >> >> Reading the code, I think what is _supposed_ to happen is that by default >> TomEE will use KahaDB by default when you set persistent=true and use JDBC >> when you specify persistent=true and a DataSource name in the resource >> adapter. >> >> Instead, TomEE seems to assume that when you set persistent=true you also >> have specificed a DataSource which is causing the problem: >> >> >> Example: >> >> </Container> >> <Resource >> id="ActiveMQResourceAdapter" >> type="ActiveMQResourceAdapter"> >> BrokerXmlConfig = >> >> broker:(ssl://xx0.xxx.com:61617?needClientAuth=true,network:static:ssl://xx1.xxx.com:61617)?persistent=true >> ServerUrl = vm://localhost >> </Resource> >> >> Results in: >> >> INFO: Creating Resource(id=ActiveMQResourceAdapter) >> log4j:WARN No appenders could be found for logger >> (org.apache.openejb.resource.activemq.ActiveMQResourceAdapter). >> log4j:WARN Please initialize the log4j system properly. >> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for >> more info. >> Jan 27, 2014 3:39:43 PM >> org.apache.openejb.resource.activemq.ActiveMQ5Factory createBroker >> INFO: ActiveMQ5Factory creating broker >> Jan 27, 2014 3:39:43 PM >> org.apache.openejb.resource.activemq.ActiveMQResourceAdapter >> createInternalBroker >> SEVERE: Failed to start ActiveMQ >> java.lang.Exception: >> ActiveMQFactory.createBroker.InvocationTargetException >> at >> >> org.apache.openejb.resource.activemq.ActiveMQFactory.createBroker(ActiveMQFactory.java:127) >> at >> >> org.apache.openejb.resource.activemq.ActiveMQResourceAdapter.createInternalBroker(ActiveMQResourceAdapter.java:130) >> at >> >> org.apache.openejb.resource.activemq.ActiveMQResourceAdapter.start(ActiveMQResourceAdapter.java:120) >> at >> >> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:2172) >> at >> >> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:490) >> at >> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:409) >> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:148) >> at org.apache.openejb.OpenEJB.init(OpenEJB.java:296) >> at >> org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:246) >> at >> org.apache.tomee.catalina.TomcatLoader.init(TomcatLoader.java:134) >> at >> >> org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:122) >> at >> >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) >> at >> >> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) >> at >> >> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) >> at >> org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110) >> at org.apache.catalina.startup.Catalina.load(Catalina.java:640) >> at org.apache.catalina.startup.Catalina.load(Catalina.java:665) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281) >> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455) >> Caused by: java.lang.reflect.InvocationTargetException >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at >> >> org.apache.openejb.resource.activemq.ActiveMQFactory.createBroker(ActiveMQFactory.java:121) >> ... 22 more >> Caused by: java.lang.IllegalArgumentException: Unknown datasource Default >> Unmanaged JDBC Database >> at >> >> org.apache.openejb.resource.activemq.ActiveMQ5Factory.createBroker(ActiveMQ5Factory.java:92) >> ... 27 more >> >> Jan 27, 2014 3:39:43 PM org.apache.openejb.assembler.classic.Assembler >> createRecipe >> INFO: Creating Resource(id=ActiveMQConnectionFactory) >> Jan 27, 2014 3:39:43 PM org.apache.openejb.assembler.classic.Assembler >> createResource >> INFO: Creating ConnectionManager for >> Resource(id=ActiveMQConnectionFactory) >> >> >> >> -- >> View this message in context: >> http://openejb.979440.n4.nabble.com/ActiveMQ-Kahadb-tp4667283p4667332.html >> Sent from the OpenEJB User mailing list archive at Nabble.com. >> > > -- > Romain Manni-Bucau > Twitter: @rmannibucau > Blog: http://rmannibucau.wordpress.com/ > LinkedIn: http://fr.linkedin.com/in/rmannibucau > Github: https://github.com/rmannibucau > >
