Uploaded image for project: 'Thorntail'
  1. Thorntail
  2. THORN-965

Modules Unable to Locate Native Library

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 2016.12.1
    • Fix Version/s: 2017.3.2
    • Component/s: None
    • Labels:
      None
    • Sprint:
      2017-Jan-B, 2017-Feb-A
    • Steps to Reproduce:
      Hide

      Create module, in my case it was SQLServer JDBC driver:

      *root*
        - src
          - main
            - resources
              - modules
                - sqlserver
                  - main
                    - lib 
                      - win-i686
                        - sqljdbc_auth.dll
                    - module.xml
      

      module.xml contents:

      <?xml version="1.0" ?>
      <module xmlns="urn:jboss:module:1.3" name="sqlserver">
          <resources>
            <artifact name="com.microsoft.sqlserver:sqljdbc:4" />
            <resource-root path="./lib"/>
          </resources>
          <dependencies>
              <module name="javax.api"/>
          </dependencies>
      </module>
      

      When the JDBC driver is then first used on creation of a datasource the following is observed:

      2016-12-28 11:13:12,341 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 9) IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: IJ031084: Unable to create connection
      	at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:345)
      	at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:352)
          ...
      Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:ddf452e9-57ea-4d6e-97a2-b1e86efee450
      	at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)
      	at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:60)
      	...
      Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
      	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
      	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
      	at java.lang.System.loadLibrary(System.java:1122)
      	at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:35)
      	... 64 more
      
      Show
      Create module, in my case it was SQLServer JDBC driver: *root* - src - main - resources - modules - sqlserver - main - lib - win-i686 - sqljdbc_auth.dll - module.xml module.xml contents: <?xml version= "1.0" ?> <module xmlns= "urn:jboss:module:1.3" name= "sqlserver" > <resources> <artifact name= "com.microsoft.sqlserver:sqljdbc:4" /> <resource-root path= "./lib" /> </resources> <dependencies> <module name= "javax.api" /> </dependencies> </module> When the JDBC driver is then first used on creation of a datasource the following is observed: 2016-12-28 11:13:12,341 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 9) IJ000604: Throwable while attempting to get a new connection: null : javax.resource.ResourceException: IJ031084: Unable to create connection at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:345) at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:352) ... Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:ddf452e9-57ea-4d6e-97a2-b1e86efee450 at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667) at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:60) ... Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path at java.lang. ClassLoader .loadLibrary( ClassLoader .java:1864) at java.lang. Runtime .loadLibrary0( Runtime .java:870) at java.lang. System .loadLibrary( System .java:1122) at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:35) ... 64 more

      Description

      When using the module loading dependencies it's unable to load the native counterpart located in the /lib directory. This was part of the JBoss Modules specification described here.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  bob.mcwhirter Bob McWhirter
                  Reporter:
                  dansiviter Daniel Siviter
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: