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 <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau
<http://fr.linkedin.com/in/rmannibucau>*
*Github: https://github.com/rmannibucau <https://github.com/rmannibucau>*

Reply via email to