You mean by default, ActiveMQ is already using KahaDB?
Using the activemq.xml that I posted earlier, the logs show this:
2011-01-06 15:47:48,873 INFO BrokerService:462 - Using Persistence
Adapter: AMQPersistenceAdapter(/tmp/dev/devbroker)
2011-01-06 15:47:48,882 INFO AMQPersistenceAdapter:177 - AMQStore
starting using directory: /tmp/dev/devbroker
2011-01-06 15:47:48,988 INFO KahaStore:463 - Kaha Store using data
directory /tmp/dev/devbroker/kr-store/state
2011-01-06 15:47:49,037 INFO AMQPersistenceAdapter:235 - Active data
files: []
This means that I'm not using KahaDB, right? Or this is already KahaDB
that is configured?
I also tried modifying the activemq.xml to use kahaDB instead of
AMQPersistenceAdapter. Here's the new activemq.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd">
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="devbroker" persistent="true"
destroyApplicationContextOnStop="true"
dataDirectory="/tmp/dev">
<persistenceAdapter>
<kahaDB
directory="/tmp/dev/devbroker/kahaDB-data"
journalMaxFileLength="32mb" />
</persistenceAdapter>
<transportConnectors>
<transportConnector name="openwire"
uri="vm://devBroker" />
</transportConnectors>
<plugins>
<statisticsBrokerPlugin />
</plugins>
</broker>
</beans>
Running the app with this configuration, the logs show this:
2011-01-06 16:44:22,974 INFO BrokerService:462 - Using Persistence
Adapter: org.apache.activemq.store.kahadb.kahadbpersistenceadap...@36a55
Is this the proper configuration to enable KahaDB?
-don
Juan Nin wrote:
I'm basically using the default config, with the things I don't use
disabled, and several values tweaked based on the sample config files
that come with ActiveMQ
On Wed, Jan 5, 2011 at 3:24 PM, Don Santillan <donzym...@gmail.com> wrote:
Thanks for the reply Juan!
Can you give me a sample activemq.xml that enables KahaDB with production
level settings?
-don
Can you give me a
Juan Nin wrote:
We used to have this issue with ActiveMQ 5.2.x, so had to rise the
file descriptors.
Since we moved to ActiveMQ 5.3.x and KahaDB, we naver had that issue
again.
Regards,
Juan
On Wed, Jan 5, 2011 at 12:01 PM, Don Santillan <donzym...@gmail.com>
wrote:
Hello,
I have an embedded activemq in my webapp and it is deployed in a jetty
server. I believe that our server OS's file descriptor limit has enough
value.
After a few days, the application crashed with the following error:
2011-01-05 00:34:40.000:WARN::EXCEPTION java.io.IOException: Too many
open
files at sun.nio.ch.ServerSocketChannelImpl.accept0(Native
Method)
at
sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
at
org.eclipse.jetty.server.nio.SelectChannelConnector$1.acceptChannel(SelectChannelConnector.java:74)
at
org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:650)
at
org.eclipse.jetty.io.nio.SelectorManager.doSelect(SelectorManager.java:195)
at
org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:134)
at
org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:850)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:6
Is there a possibility that I have configured my activemq or persistence
wrongly which caused this? Here's my activemq.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd">
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="devbroker" persistent="true"
destroyApplicationContextOnStop="true"
dataDirectory="/tmp/dev">
<transportConnectors>
<transportConnector name="openwire"
uri="vm://devBroker" />
</transportConnectors>
<plugins>
<statisticsBrokerPlugin />
</plugins>
</broker>
</beans>
I googled this and saw some posts telling this maybe caused by an
improper
setting on memory limit. I also saw some threads that says use kaha db
for
better persistence. How am I able to address both of this? Can I
configure
both using the activemq.xml alone? What are the appropriate values for an
application that processes large amount of messages.
Can anyone point me to a good activemq.xml configuration that is good for
production environment?
Thanks!
-don