1 Reply Latest reply on Dec 23, 2005 5:38 AM by holgerdanskedk

    Configure MSSQL as DefaultDS

    holgerdanskedk

      Hello NG.

      Evironment:
      Windows XP Home
      jdk 1.4.2_06-b03
      JBOSS 3.2.3

      Statemant:
      Yes, I have read different threads found by Google at these question, but none of this threads fixed the problem to the end, so I try it again and hope to find an answer this time.

      Question:
      I don't want to change all the callers of the DefaultDS to an other DS, like MSSqlDS. (Even this seems to be more difficult or impossible, because of hard coded DefaultDS in the source code I found in different Postings).

      What I want to do is, to configure JBOSS to use an other Database than Hypersonic, concrete MSSQL, to use as DefaultsDS.
      Therefore I follow the following descriptions:
      - Create a new database, user, password as discripted in
      http://docs.jboss.org/jbossas/getting_started/v4/html/db.html
      - Copy required libs
      - Test the connection settings using Squirrel
      - I create none system tables or something like this, because I don't find an description for this.
      - Copy the mssql-ds.xml to
      %JBOSS_HOME%\server\all\deploy and
      %JBOSS_HOME%\server\default\deploy
      as descripted in
      http://www.jboss.org/wiki/Wiki.jsp?page=ConfigJBossMQDB
      - Change the connection-setting to the current MSSQL and set the jndi name to DefaultDS

      <datasources>
       <local-tx-datasource>
       <jndi-name>DefaultDS</jndi-name>
       <connection-url>jdbc:microsoft:sqlserver://protagonist:1433;DatabaseName=jboss;sendStringParametersAsUnicode=false;selectMethod=cursor</connection-url>
       <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
       <user-name>jboss</user-name>
       <password>password</password>
       <min-pool-size>5</min-pool-size>
       <max-pool-size>20</max-pool-size>
       <idle-timeout-minutes>0</idle-timeout-minutes>
       <track-statements>true</track-statements>
       </local-tx-datasource>
      </datasources>
      

      - I additionally copy the mssql-xa-ds.xml (optional ??) to the same directoy with the following content
      <datasources>
       <xa-datasource>
       <jndi-name>MSSQLXADS</jndi-name>
       <xa-datasource-class>com.microsoft.jdbcx.sqlserver.SQLServerDataSource</xa-datasource-class>
       <xa-datasource-property name="ServerName">protagonistsub</xa-datasource-property>
       <xa-datasource-property name="DatabaseName">jboss</xa-datasource-property>
       <xa-datasource-property name="SelectMethod">cursor</xa-datasource-property>
      <!-- not sure if these should be here-->
       <user-name>jboss</user-name>
       <password>password</password>
       </xa-datasource>
      
      </datasources>
      


      - I copy the file mssql-jdbc2-service.xml to the _same directories_\jms without making any changes to the file.

      - I delete, as descripes, the hybersonic files.
      - I make no changes to the login-config.xml, because the descripted changes did not match my login-config.xml and the description above refer at JBOSS 3.2.4+ and I only use 3.2.3.
      - I remove any deployments and clean the tmp directory.
      - Starting the JBOSS I get the following error message:
      2005-12-23 08:35:10,640 URLDeploymentScanner ERROR: MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
      Cause: Incomplete Deployment listing:
      Packages waiting for a deployer:
       <none>
      Incompletely deployed packages:
       <none>
      MBeans waiting for classes:
       <none>
      MBeans waiting for other MBeans:
      [ObjectName: jboss.mq:service=InvocationLayer,type=HTTP
       state: CONFIGURED
       I Depend On: jboss.mq:service=Invoker
       jboss.web:service=WebServer
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Topic,name=testTopic
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
       jboss.mq:service=SecurityManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Topic,name=securedTopic
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
       jboss.mq:service=SecurityManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Topic,name=testDurableTopic
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
       jboss.mq:service=SecurityManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Queue,name=testQueue
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
       jboss.mq:service=SecurityManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Queue,name=A
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Queue,name=B
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Queue,name=C
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Queue,name=D
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
      
       Depends On Me: , ObjectName: jboss.mq.destination:service=Queue,name=ex
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
      
       Depends On Me: , ObjectName: jboss.mq:service=Invoker
       state: CONFIGURED
       I Depend On: jboss.mq:service=TracingInterceptor
      
       Depends On Me: jboss.mq:service=InvocationLayer,type=HTTP
       jboss.mq:service=InvocationLayer,type=JVM
       jboss.mq:service=InvocationLayer,type=OIL
       jboss.mq:service=InvocationLayer,type=OIL2
       jboss.mq:service=InvocationLayer,type=RMI
       jboss.mq:service=InvocationLayer,type=UIL2
      , ObjectName: jboss.mq:service=TracingInterceptor
       state: CONFIGURED
       I Depend On: jboss.mq:service=SecurityManager
      
       Depends On Me: jboss.mq:service=Invoker
      , ObjectName: jboss.mq:service=SecurityManager
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
      
       Depends On Me: jboss.mq.destination:service=Topic,name=testTopic
       jboss.mq.destination:service=Topic,name=securedTopic
       jboss.mq.destination:service=Topic,name=testDurableTopic
       jboss.mq.destination:service=Queue,name=testQueue
       jboss.mq:service=TracingInterceptor
       jboss.mq.destination:service=Queue,name=DLQ
      , ObjectName: jboss.mq.destination:service=Queue,name=DLQ
       state: CONFIGURED
       I Depend On: jboss.mq:service=DestinationManager
       jboss.mq:service=SecurityManager
      
       Depends On Me: , ObjectName: jboss.mq:service=InvocationLayer,type=JVM
       state: CONFIGURED
       I Depend On: jboss.mq:service=Invoker
      
       Depends On Me: , ObjectName: jboss.mq:service=DestinationManager
       state: CONFIGURED
       I Depend On: jboss.mq:service=MessageCache
       jboss.mq:service=PersistenceManager
       jboss.mq:service=StateManager
      
       Depends On Me: jboss.mq.destination:service=Topic,name=testTopic
       jboss.mq.destination:service=Topic,name=securedTopic
       jboss.mq.destination:service=Topic,name=testDurableTopic
       jboss.mq.destination:service=Queue,name=testQueue
       jboss.mq.destination:service=Queue,name=A
       jboss.mq.destination:service=Queue,name=B
       jboss.mq.destination:service=Queue,name=C
       jboss.mq.destination:service=Queue,name=D
       jboss.mq.destination:service=Queue,name=ex
       jboss.mq:service=SecurityManager
       jboss.mq.destination:service=Queue,name=DLQ
      , ObjectName: jboss.mq:service=PersistenceManager
       state: CONFIGURED
       I Depend On: jboss.jca:service=LocalTxCM,name=MSSQLDS
      
       Depends On Me: jboss.mq:service=DestinationManager
      , ObjectName: jboss.mq:service=InvocationLayer,type=OIL
       state: CONFIGURED
       I Depend On: jboss.mq:service=Invoker
      
       Depends On Me: , ObjectName: jboss.mq:service=InvocationLayer,type=OIL2
       state: CONFIGURED
       I Depend On: jboss.mq:service=Invoker
      
       Depends On Me: , ObjectName: jboss.mq:service=InvocationLayer,type=RMI
       state: CONFIGURED
       I Depend On: jboss.mq:service=Invoker
      
       Depends On Me: , ObjectName: jboss.mq:service=InvocationLayer,type=UIL2
       state: CONFIGURED
       I Depend On: jboss.mq:service=Invoker
      
       Depends On Me: ]
      


      Actual I'm not sure, where the changes in the mssql-xa-ds.xml are good for, but separe from this, there seams to be something wrong and I'm not in the position the find out, what's going wrong.


      Please help.

      TIA

      Holger

        • 1. Re: Configure MSSQL as DefaultDS
          holgerdanskedk

          Hello.

          For all other, read this thread and hope to find a solution:
          This little piece was missing:

          Add following to your mssql-jdbc2-service.xml:
          <depends optional-attribute-name="ConnectionManager">jboss.jca:service=LocalTxCM,name=DefaultDS

          Now it works fine.

          Holger