Hi all,
I would like to create a queue with ActiveMQ and exploit the persistence. At
the same time I wouldn't use Spring and its world. So I developed an
application like this:
tomee.xml
<Resource id="IndexerQueueJmsResourceAdapter"
type="ActiveMQResourceAdapter">
BrokerXmlConfig = broker:(tcp://localhost:61616)?persistent=true
ServerUrl = vm://localhost
MaximumRedeliveries = 4
DataSource = IndexerQueueDataSource
</Resource>
<Resource id="IndexerQueueDataSource" type="DataSource">
JdbcDriver com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
JdbcUrl jdbc:mysql://localhost:3306/activemq
UserName x
Password x
JtaManaged true
PoolPreparedStatements true
</Resource>
[....]
The persistence was so given by MySQL. This application worked very well,
and I didn't use the file activemq.xml.
But now I would like to move the persistence from MySql to the file system.
So I would like to use KahaDB. The first step was to remove the DataSource
in the ActiveMQResourceAdapter. The application worked good, saving the
messages in the home directory /activemq-data/etc., but the problem is that
I have an exception starting TomEE
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.start(ActiveMQResourceAdapter.java:126)
at
org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1784)
at
org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:425)
at
org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:344)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:144)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:290)
at
org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:233)
at org.apache.tomee.catalina.TomcatLoader.init(TomcatLoader.java:130)
at
org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:121)
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:633)
at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
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:601)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
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:601)
at
org.apache.openejb.resource.activemq.ActiveMQFactory.createBroker(ActiveMQFactory.java:121)
... 21 more
Caused by: java.lang.IllegalArgumentException: Unknown datasource Default
Unmanaged JDBC Database
at
org.apache.openejb.resource.activemq.ActiveMQ5Factory.createBroker(ActiveMQ5Factory.java:88)
... 26 more
Following some form posts, I added
DataSource =
(so without explain the source) in the ActiveMQResourceAdapter and the
exception desappears. However now the messages are not saved.
So the question is: have you any idea to configure the KahaDB persistence
without using Spring?
Thanks a lot
Davide
--
View this message in context:
http://openejb.979440.n4.nabble.com/Activemq-KahaDB-tp4661443.html
Sent from the OpenEJB User mailing list archive at Nabble.com.