5 Replies Latest reply on Apr 24, 2012 8:35 AM by carey.brown

    Sybase datasource config: New missing/unsatisfied dependencies

    kagopiee

      Hi All,

       

      I am stuck with this issue for almost 3 days and I had gone through quite a lot of posts regarding this " missing/unsatisfied dependencies " issue.

      And finally I came here for expertise solution.

       

      Hence I post it very briefly by writing down my standalone.xml, module.xml & logs.

       

      standalone.xml:

       

      <subsystem xmlns="urn:jboss:domain:datasources:1.0">

                  <datasources>

       

                      <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="H2DS" enabled="true">

                          <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>

                          <driver>h2</driver>                   

                          <security>

                              <user-name>sa</user-name>

                              <password>sa</password>

                          </security>

                      </datasource>

       

                      <datasource jndi-name="java:jboss/datasources/SybaseDS" pool-name="SybaseDS" enabled="true">

                          <connection-url>

                              jdbc:sybase:Tds:localhost:10553

                          </connection-url>

                          <driver>sybaseDriver</driver>

                          <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>

                          <pool>

                              <min-pool-size>5</min-pool-size>

                              <max-pool-size>100</max-pool-size>

                              <prefill>true</prefill>

                          </pool>

                          <security>

                              <user-name>chomo</user-name>

                              <password>king</password>

                          </security>

                      </datasource>

       

                      <drivers>

                          <driver name="h2" module="com.h2database.h2">

                              <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>

                          </driver>

       

                          <driver name="sybaseDriver" module="com.sybaseDS.sybase">

                              <driver-class>com.sybase.jdbc4.jdbc.SybDriver</driver-class>

                              <xa-datasource-class>com.sybase.jdbc4.jdbc.SybDriver</xa-datasource-class>

                          </driver>

                      </drivers>

                  </datasources>

      </subsystem>

       

      modules.xml:

          

           Location:     D:\JBOSS\jboss-as-7.1.0.Beta1b\modules\com\sybaseDS\sybase\main

       

      <module xmlns="urn:jboss:module:1.1" name="com.sybaseDS.sybase">

        <resources>

          <resource-root path="jconn4.jar"/>

        </resources>

        <dependencies>

          <module name="javax.api"/>

          <module name="javax.transaction.api"/>

          <module name="jboss-as-connector-7.1.0.Beta1b"/>

        </dependencies>

      </module>

       

      jconn4.jar is jdbc4 compliant.

       

      Logs:

       

      21:31:35,273 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-6) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]

      21:31:35,389 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) JBAS015012: Started FileSystemDeploymentService for directory D:\JBOSS\jboss-as-7.1.0.Beta1b\standalone\deployments

      21:31:35,395 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report

      JBAS014775:    New missing/unsatisfied dependencies:

            service jboss.jdbc-driver.sybaseDriver (missing) dependents: [service jboss.data-source.java:jboss/datasources/SybaseDS]

      ..........................

       

      21:07:29,617 INFO  [org.jboss.as.server.deployment] Stopped deployment jboss-annotations-api_1.1_spec-1.0.0.Final.jar in 37ms
      21:07:29,617 INFO  [org.jboss.as.server.deployment] Stopped deployment javax.inject-1.jar in 36ms
      21:07:29,617 INFO  [org.jboss.as.server.deployment] Stopped deployment Helloworld_servelet.jar in 37ms
      21:07:29,633 INFO  [com.arjuna.ats.jbossatx] ARJUNA32014: Stopping transaction recovery manager
      21:07:29,617 INFO  [org.jboss.as.server.deployment] Stopped deployment WebApps.war in 36ms
      21:07:29,633 INFO  [org.jboss.as.server.deployment] Stopped deployment WebAppsEAR.ear in 44ms
      21:07:29,633 INFO  [org.jboss.as.controller] JBAS014774: Service status reportJBAS014776:    Newly corrected services:
            service jboss.jdbc-driver.sybaseDriver (new available)

      21:07:29,633 INFO  [org.jboss.as] JBoss AS 7.1.0.Beta1b "Tesla" stopped in 30ms
      Terminate batch job (Y/N)?

       

       

      Please do reply with your suggestions.

       

      Regards,

      Gopinath.K.A.

        • 1. Re: Sybase datasource config: New missing/unsatisfied dependencies
          wdfink

          If you start JBoss without standalone.xml changes (only add the module) do you see that the module is started within the log?

          • 2. Re: Sybase datasource config: New missing/unsatisfied dependencies
            kagopiee

            Hi Dieter,

             

            Thanks a lot for your reply. Yes. The module is started.

             

            But right now the problem is solved. I did a minimal changes in standalone.xml which made things work.

            But I dont have logical answers to jboss behavior for not working with the above configuration.

             

            Here I post the standalone.xml, module.xml, server logs and jboss-admin console logs.

             

            standalone.xml:

             

            <?xml version="1.0" encoding="UTF-8"?>

                    <subsystem xmlns="urn:jboss:domain:datasources:1.0">

                        <datasources>

                            <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="H2DS" enabled="true">

                                <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>

                                <driver>h2</driver>

                                <security>

                                     <user-name>sa</user-name>

                                    <password>sa</password>

                                </security>

                            </datasource>

                            <datasource jndi-name="java:jboss/datasources/SybaseDS" pool-name="SybaseDS" enabled="true">

                               <connection-url>

                                    jdbc:sybase:Tds:localhost:10553

                                </connection-url>

                                <driver-class>

                                    com.sybase.jdbc4.jdbc.SybDriver

                                </driver-class>

                                <driver>

                                    sybaseDriver

                                </driver>

                                <transaction-isolation>

                                    TRANSACTION_READ_COMMITTED

                                </transaction-isolation>

                                <pool>

                                    <min-pool-size>

                                        5

                                    </min-pool-size>

                                    <max-pool-size>

                                        100

                                    </max-pool-size>

                                    <prefill>

                                        true

                                    </prefill>

                                </pool>

                                <security>

                                    <user-name>

                                        chomolungma

                                    </user-name>

                                    <password>

                                        expedition

                                    </password>

                                </security>

                            </datasource>

                            <drivers>

                                <driver name="h2" module="com.h2database.h2">

                                    <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>

                                </driver>

                               <driver name="sybaseDriver" module="com.sybaseDS.sybaseDriver"/>

                            </drivers>

                        </datasources>

                    </subsystem>

             

            modules.xml:

                

                 Location:     D:\JBOSS\jboss-as-7.1.0.Beta1b\modules\com\sybaseDS\sybase\main

             

            <?xml version="1.0" encoding="UTF-8"?>

            <module xmlns="urn:jboss:module:1.1" name="com.sybaseDS.sybaseDriver">

              <resources>

                <resource-root path="jconn4.jar"/>

              </resources>

              <dependencies>

                <module name="javax.api"/>

              </dependencies>

            </module>

             

            Logs:

             

            16:52:02,676 INFO  [org.jboss.as.clustering] (ServerService Thread Pool -- 29) JBAS010300: Activating Infinispan subsystem.

            16:52:02,678 INFO  [org.jboss.as.osgi] (ServerService Thread Pool -- 37) JBAS011910: Activating OSGi Subsystem

            16:52:02,685 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 42) Activating Security Subsystem

            16:52:02,699 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 36) JBAS011800: Activating Naming Subsystem

            16:52:02,701 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 46) JBAS015537: Activating WebServices Extension

            16:52:02,710 INFO  [org.jboss.as.security] (MSC service thread 1-10) Picketbox version=4.0.6.Beta1

            16:52:02,749 INFO  [org.jboss.as.connector] (MSC service thread 1-15) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.5.Final)

            16:52:02,785 INFO  [org.jboss.as.naming] (MSC service thread 1-15) JBAS011802: Starting Naming Service

            16:52:02,811 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-7) JBAS015400: Bound mail session [java:jboss/mail/Default]

             

            16:52:02,860 INFO  [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\glassfish3\jdk7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Drivers\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\SQL Anywhere 10\win32;C:\Program Files\SQL Anywhere 10\Sybase Central 5.0.0\win32;%JAVA_HOME%\bin;%M2_HOME%\bin;D:\Software\tattletale-1.1.2.Final;;.

             

            16:52:02,890 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 25) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)

            16:52:02,912 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 25) JBAS010404: Deploying non-JDBC-compliant driver class com.sybase.jdbc4.jdbc.SybDriver (version 7.0)

            16:52:02,932 INFO  [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-10) null null

            16:52:02,996 INFO  [org.jboss.as.remoting] (MSC service thread 1-10) Listening on /127.0.0.1:4447

            16:52:02,996 INFO  [org.jboss.as.remoting] (MSC service thread 1-15) Listening on /127.0.0.1:9999

            16:52:03,013 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-7) Starting Coyote HTTP/1.1 on http--127.0.0.1-8080

            16:52:03,238 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-15) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]

            16:52:03,247 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-15) JBAS010400: Bound data source [java:jboss/datasources/SybaseDS]

            16:52:03,358 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-5) JBAS015012: Started FileSystemDeploymentService for directory D:\JBOSS\jboss-as-7.1.0.Beta1b\standalone\deployments

            16:52:03,360 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found WebApps.war in deployment directory. To trigger deployment create a file called WebApps.war.dodeploy

            16:52:03,362 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found WebAppsEAR.ear in deployment directory. To trigger deployment create a file called WebAppsEAR.ear.dodeploy

             

            16:52:03,380 INFO  [org.jboss.as] (Controller Boot Thread) JBoss AS 7.1.0.Beta1b "Tesla" started in 1675ms - Started 130 of 192 services (60 services are passive or on-demand)

             

             

            Jboss-admin console:

             

            You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.

            [disconnected /] connect

            [standalone@localhost:9999 /] /subsystem=datasources:read-operation-names

            {

                "outcome" => "success",

                "result" => [

                    "add",

                    "get-installed-driver",

                    "installed-drivers-list",

                    "read-attribute",

                    "read-children-names",

                    "read-children-resources",

                    "read-children-types",

                    "read-operation-description",

                    "read-operation-names",

                    "read-resource",

                    "read-resource-description",

                    "validate-address",

                    "write-attribute"

                ]

            }

             

            [standalone@localhost:9999 /] /subsystem=datasources/data-source=java\:jboss\/datasources\/SybaseDS:read-operation-names

            {

                "outcome" => "success",

                "result" => [

                    "add",

                    "disable",

                    "enable",

                    "flush-all-connection-in-pool",

                    "flush-idle-connection-in-pool",

                    "read-attribute",

                    "read-children-names",

                    "read-children-resources",

                    "read-children-types",

                    "read-operation-description",

                    "read-operation-names",

                    "read-resource",

                    "read-resource-description",

                    "remove",

                    "test-connection-in-pool",

                    "validate-address",

                    "write-attribute"

                ]

            }

             

            [standalone@localhost:9999 /] /subsystem=datasources/data-source=java\:jboss\/datasources\/SybaseDS:test-connection-in-pool

            {

                "outcome" => "success",

                "result" => [true]

            }

             

            [standalone@localhost:9999 /] /subsystem=datasources/data-source=java\:jboss\/datasources\/SybaseDS:validate-address

            {"outcome" => "success"}



            • 3. Re: Sybase datasource config: New missing/unsatisfied dependencies
              carey.brown

              Sorry to bring this up again but I'm new to this and I am unable to connect to Sybase using the above example. In straight Java/Jdbc (without Jboss) I can get it to work. Setting up a datasource seems to be my sticking point.

               

              Here's what I have:

               

              08:05:58,357 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service

              thread 1-1) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]

              08:05:58,982 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774

              : Service status report

              JBAS014775:    New missing/unsatisfied dependencies:

                    service jboss.jdbc-driver.sybaseDriver (missing) dependents: [service jbos

              s.data-source.java:jboss/datasources/SybaseDS]

               

               

              ...\standalone\configuration\standalone.xml

               

              <subsystem xmlns="urn:jboss:domain:datasources:1.0">

              ...

              <datasources>

                <datasource jndi-name="java:jboss/datasources/SybaseDS" pool-name="SybaseDS" enabled="true">

                  <connection-url>jdbc:sybase:Tds:10.250.5.27:5000</connection-url>

                  <driver-class>com.sybase.jdbc4.jdbc.SybDriver</driver-class>

                  <driver>sybaseDriver</driver>

                  <security>

                    <user-name>sa</user-name>

                    <password>angels</password>

                  </security>

                </datasource>

                <drivers>

                    <driver name="sybaseDriver" module="com.sybaseDS.sybaseDriver"/>

                  </drivers>

                </datasources>

              ...

              </subsystem>

               

               

               

              And

               

              ...com\sybaseDS\sybase\main\module.xml

               

              <module xmlns="urn:jboss:module:1.1" name="com.sybaseDS.sybaseDriver">

                  <resources>

                      <resource-root path="jconn4.jar"/>

                      <!-- Insert resources here -->

                  </resources>

                  <dependencies>

                      <module name="javax.api"/>

                  </dependencies>

              </module>

              • 4. Re: Sybase datasource config: New missing/unsatisfied dependencies
                wdfink

                The module name and the directory must match.

                rename the path of the module to sybaseDS/sybaseDriver/main or change the name of the module.

                • 5. Re: Sybase datasource config: New missing/unsatisfied dependencies
                  carey.brown

                  Thanks for the input. Greatly appreciated. I also had missed the updating of web.xml and jboss-web.xml and didn't have the datasoure name correctly specified in the Java code.

                   

                  Here's what it looked like when I finally got it to work.

                   

                  Java souce code

                   

                  private static final String DATA_SOURCE_NAME = "java:jboss/datasources/sybaseDS";

                  ...

                  Context ctx = new InitialContext();

                  System.out.println( ctx );

                  DataSource dbSource = (DataSource)ctx.lookup( DATA_SOURCE_NAME );

                  ctx.close();

                   

                   

                  webapp/web/WEB-INF/web.xml

                   

                      <resource-ref>

                          <res-ref-name>jdbc/sybaseDS</res-ref-name>

                          <res-type>javax.sql.DataSource</res-type>

                          <res-auth>Container</res-auth>

                          <res-sharing-scope>Shareable</res-sharing-scope>

                      </resource-ref>

                   

                   

                  webapp/web/WEB-INF/jboss-web.xml

                   

                  <jboss-web>

                      <resource-ref>

                          <res-ref-name>jdbc/sybaseDS</res-ref-name>

                          <jndi-name>java:jboss/datasources/sybaseDS</jndi-name>

                      </resource-ref>

                  </jboss-web>

                   

                   

                  jboss-as-7.1.1.Final\modules\com\sybaseDS\sybase\main\module.xml

                   

                  <module xmlns="urn:jboss:module:1.1" name="com.sybaseDS.sybase">

                      <resources>

                          <resource-root path="jconn4.jar"/>

                          <!-- Insert resources here -->

                      </resources>

                      <dependencies>

                          <module name="javax.api"/>

                      </dependencies>

                  </module>

                   

                  jboss-as-7.1.1.Final\standalone\configuration\standalone.xml

                   

                  <datasources>

                      <datasource jndi-name="java:jboss/datasources/sybaseDS"

                          pool-name="sybaseDS" enabled="true">

                          <connection-url>jdbc:sybase:Tds:10.250.5.27:5000</connection-url>

                          <driver-class>com.sybase.jdbc4.jdbc.SybDriver</driver-class>

                          <driver>sybaseDriver</driver>

                          <security>

                              <user-name>sa</user-name>

                              <password>angels</password>

                          </security>

                      </datasource>

                      <drivers>

                          <driver name="sybaseDriver" module="com.sybaseDS.sybase"/>

                      </drivers>

                  </datasources>