2 Replies Latest reply on Jul 10, 2002 9:00 PM by David Jencks

    getConnection fails in 3.0.0.0

    Navdeep Newbie

      Hi,
      I am using JBoss 3.0.0.0 with Jetty on an Win NT based machine (Database is Oracle 8.1.7) and
      in trying to migrate from JBoss 2.4.3 to 3.0.0.0 version I am having trouble with getting the connection to the Oracle Datasources. My look up to the datasource is successful but when I do a getConnection on the datasource it gives me the following error..

      18:25:34,892 ERROR [STDERR] org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=1352
      94976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))); - nested throwable: (org.jboss.resource.ResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Io e
      xception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))))
      18:25:34,902 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.local.LocalDataSource.getConnection(LocalDataSource.java:106)


      Here is a copy of my oracle-service.xml


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

      <!-- ===================================================================== -->
      <!-- -->
      <!-- JBoss Server Configuration -->
      <!-- -->
      <!-- ===================================================================== -->



      <!-- ==================================================================== -->
      <!-- ConnectionManager setup for Oracle dbs -->
      <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
      <!-- Thanks to Steven Coy -->
      <!-- ==================================================================== -->






      <!-- Include a login module configuration named OracleDbRealm.
      Update your login-conf.xml, here is an example for a
      ConfiguredIdentityLoginModule:

      <application-policy name = "OracleDbRealm">

      <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
      <module-option name = "principal">yourprincipal</module-option>
      <module-option name = "userName">yourusername</module-option>
      <module-option name = "password">yourpassword</module-option>
      <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDS</module-option>
      </login-module>

      </application-policy>

      NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the
      module-option name = "managedConnectionFactoryName"
      must match the object name of the ConnectionManager you are configuring here.
      -->

      <!--uncomment out this line if you are using the OracleDbRealm above
      OracleDbRealm
      -->

      <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->


      jdbc/expadminPoolDS



      <config-property name="ConnectionURL" type="java.lang.String">jdbc:oracle:thin:@nh_oracle:1521:nsborc</config-property>
      <config-property name="DriverClass" type="java.lang.String">oracle.jdbc.driver.OracleDriver</config-property>
      <!--set these only if you want only default logins, not through JAAS -->
      <config-property name="UserName" type="java.lang.String">expadmin</config-property>
      <config-property name="Password" type="java.lang.String">expadmin</config-property>




      <!--Below here are advanced properties -->
      <!--hack-->
      <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper



      <depends optional-attribute-name="ManagedConnectionPool">
      <!--embedded mbean-->


      0
      50
      5000
      15
      <!--criteria indicates if Subject (from security domain) or app supplied
      parameters (such as from getConnection(user, pw)) are used to distinguish
      connections in the pool. Choices are
      ByContainerAndApplication (use both),
      ByContainer (use Subject),
      ByApplication (use app supplied params only),
      ByNothing (all connections are equivalent, usually if adapter supports
      reauthentication)-->
      ByContainer



      <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager

      <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:name=JaasSecurityManager
      java:/TransactionManager

      <!--make the rar deploy! hack till better deployment-->
      jboss.jca:service=RARDeployer







      I have been strugling with this for a while, I have tried giving the login id and the password to the database as part of the URL also, but still it does not work. Thanks for any help in advance. All this works fine in 2.4.3

        • 1. Re: getConnection fails in 3.0.0.0
          Navdeep Newbie

          Sorry for the posting, I fixed the problem, by recreating the oracle-service.xml again from scratch, must have been a typo som place. I do apologise if I wasted some ones time. Also does any one know how to configure Oracle for XA Datasource. Because the examples given are only for locat transaction datasources.

          • 2. Re: getConnection fails in 3.0.0.0
            David Jencks Master

            Use 3.0.1. I think the changes needed made it into the released version. There's a typo in the oracle-xa-service.xml example, you need to comment out or remove the XidFactory mbean. You also need to find the XidFactory mbean in jboss-service.xml and set pad to true.