java.lang.UnsatisfiedLinkError: org.hornetq.core.asyncio.impl.AsynchronousFileImpl.init(Ljava/lang/String;ILorg/hornetq/core/logging/Logger;)Ljava/nio/ByteBuffer;
starksm64 Sep 23, 2010 7:25 PMI'm working on embedding the 2.1.2 version of HornetQ into the jbossas7 project, and when I try to startup the core using the org.hornetq.core.server.impl.HornetQServerImpl.start with a configuration parse from :
<messaging:subsystem>
<!-- A standard hornetq configuration -->
<messaging:bindings-directory>${jboss.server.data.dir}/hornetq/bindings</messaging:bindings-directory>
<messaging:journal-directory>${jboss.server.data.dir}/hornetq/journal</messaging:journal-directory>
<messaging:journal-min-files>10</messaging:journal-min-files>
<large-messages-directory>${jboss.server.data.dir}/hornetq/largemessages</large-messages-directory>
<paging-directory>${jboss.server.data.dir}/hornetq/paging</paging-directory>
<connectors>
<connector name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="${jboss.bind.address:localhost}"/>
<param key="port" value="${hornetq.remoting.netty.port:5445}"/>
<param key="socket-ref" value="netty" />
</connector>
<connector name="netty-throughput">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="${jboss.bind.address:localhost}"/>
<param key="port" value="${hornetq.remoting.netty.batch.port:5455}"/>
<param key="batch-delay" value="50"/>
<param key="socket-ref" value="netty-throughput" />
</connector>
<connector name="in-vm">
<factory-class>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</factory-class>
<param key="server-id" value="${hornetq.server-id:0}"/>
</connector>
</connectors>
<acceptors>
<acceptor name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="${jboss.bind.address:localhost}"/>
<param key="port" value="${hornetq.remoting.netty.port:5445}"/>
<param key="socket-ref" value="netty" />
</acceptor>
<acceptor name="netty-throughput">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="${jboss.bind.address:localhost}"/>
<param key="port" value="${hornetq.remoting.netty.batch.port:5455}"/>
<param key="batch-delay" value="50"/>
<param key="direct-deliver" value="false"/>
<param key="socket-ref" value="netty-throughput" />
</acceptor>
<acceptor name="in-vm">
<factory-class>org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory</factory-class>
<param key="server-id" value="0"/>
</acceptor>
</acceptors>
<security-settings>
<security-setting match="#">
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="send" roles="guest"/>
</security-setting>
</security-settings>
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>BLOCK</address-full-policy>
</address-setting>
</address-settings>
</messaging:subsystem>
where the messaging:subsystem elements are mapped into a org.hornetq.core.config.Configuration instance, I'm seeing:
Caused by: java.lang.UnsatisfiedLinkError: org.hornetq.core.asyncio.impl.AsynchronousFileImpl.init(Ljava/lang/String;ILorg/hornetq/core/logging/Logger;)Ljava/nio/ByteBuffer;
at org.hornetq.core.asyncio.impl.AsynchronousFileImpl.init(Native Method)
at org.hornetq.core.asyncio.impl.AsynchronousFileImpl.open(AsynchronousFileImpl.java:206)
at org.hornetq.core.journal.impl.AIOSequentialFile.open(AIOSequentialFile.java:190)
at org.hornetq.core.journal.impl.JournalImpl.createFile(JournalImpl.java:3143)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:2030)
at org.hornetq.core.journal.impl.JournalImpl.load(JournalImpl.java:1409)
at org.hornetq.core.persistence.impl.journal.JournalStorageManager.loadMessageJournal(JournalStorageManager.java:777)
at org.hornetq.core.server.impl.HornetQServerImpl.loadJournals(HornetQServerImpl.java:1220)
at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1070)
at org.hornetq.core.server.impl.HornetQServerImpl.start(HornetQServerImpl.java:313)
at org.jboss.as.messaging.hornetq.HornetQService.start(HornetQService.java:121)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1001)
... 3 more
There are no native libraries available. Is there some setting I'm missing to cause this to fallback to a non-native journal implementation?