if doesn't work, please post the full log upon startup
On Tue, Nov 5, 2013 at 7:42 AM, Christian Posta <christian.po...@gmail.com> wrote: > do you have the native leveldb installed? the JNI wrappers will work > only if the leveldb is installed on your machine. > > otherwise, switching between index implementations *should* work. I > just verified it on 5.8. > > On Mon, Nov 4, 2013 at 6:32 PM, HellKnight <hellkni...@foxmail.com> wrote: >> I want to use jni version of levelDB since I heard it's stable.I change the >> indexFactory as follow: >> <broker brokerName="broker" ... > >> ... >> <persistenceAdapter> >> <levelDB directory="activemq-data" >> indexFactory="org.fusesource.leveldbjni.JniDBFactory"/> >> </persistenceAdapter> >> ... >> </broker> >> >> Unfortunately it did not work out. The broker shutdown automatically. There >> is an error in activemq.log: >> Error: indexFactory=Could not load any of the index factory classes : >> org.fusesource.leveldbjni.jniDBFactory >> Moreover, I found three other errors/warns that may relates to my problem in >> log file: >> Could not stop >> service:levelDB[D:/apache-activemq-5.8.0/bin/data/levelDB],Reason:java.lang.NullPointerException. >> >> Exception thrown from life cycle processor on context >> close,java.lang.illegalStateException:LifeCycleProcessor not >> initialized-call "refresh" before invoking lifecycle methods. >> >> Failed to stop broker after failure in start. >> >> Anyway, since I failed to load jni version of levelDB, I change my >> configuration back to original, which means no indexFactory property is set >> and pure java version will be load. However, my broker failed to start this >> time , the command window prints out the following warning: >> DB operation failed(entering recovery mode) | >> org.pache.activemq.leveldb.levelDBClient | main >> >> I thought the levelDB is doing some recovery work, so I went home and go to >> bed. But this morning I found the command window did not print out any new >> infomation and the broker did not start up normally. >> >> I have two questions: >> 1. Why I can not load jni version of levelDB ? I checked >> $ACTIVEMQ_HOME/lib/extra , and I found these leveldbjni jar files: >> activemq-leveldb-store-5.8.0.jar, leveldb-0.5.jar, leveldbjni-1.5.jar, >> leveldb-api-0.5.jar, leveldbjni-linux32-1.5.jar, leveldbjni-linux64-1.5.jar, >> leveldbjni-osx-1.5.jar, leveldbjni-win32-1.5.jar, leveldbjni-win64-1.5.jar. >> It seems all leveldbjni jar files are there . >> >> 2. Why my broker failed to start up after I changed my configuration ? How >> can I start it up and did not lose messages stored ? >> >> Thanks for any help in advance! >> >> >> >> -- >> View this message in context: >> http://activemq.2283324.n4.nabble.com/Change-indexFactory-property-of-levelDB-and-the-broker-failed-to-start-tp4673880.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > > > -- > Christian Posta > http://www.christianposta.com/blog > twitter: @christianposta -- Christian Posta http://www.christianposta.com/blog twitter: @christianposta