5 Replies Latest reply on Sep 24, 2010 11:38 AM by Scott Stark

    java.lang.UnsatisfiedLinkError: org.hornetq.core.asyncio.impl.AsynchronousFileImpl.init(Ljava/lang/String;ILorg/hornetq/core/logging/Logger;)Ljava/nio/ByteBuffer;

    Scott Stark Master

      I'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?