1 Reply Latest reply on Jan 17, 2005 3:41 PM by Adrian Brock

    Unable to configure Firebird 1.5 with JBoss AS 4.0.1

    Jens Mueller Newbie

      Hi there,

      I am trying to switch from Hypersonic to Firebird 1.5 on Windows XP with JBoss AS 4.0.1 encountering the following problem:

      13:42:36,644 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
      MBeans waiting for other MBeans:
      ObjectName: jboss.ejb:persistencePolicy=database,service=EJBTimerService
       state: CONFIGURED
       I Depend On: jboss.jca:name=DefaultDS,service=DataSourceBinding
      
       Depends On Me:
      ObjectName: jboss:service=KeyGeneratorFactory,type=HiLo
       state: CONFIGURED
       I Depend On: jboss:service=TransactionManager
       jboss.jca:name=DefaultDS,service=DataSourceBinding
      
       Depends On Me:
      
      MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
      ObjectName: jboss.jca:name=DefaultDS,service=DataSourceBinding
       state: NOTYETINSTALLED
       I Depend On:
       Depends On Me: jboss.ejb:persistencePolicy=database,service=EJBTimerService
       jboss:service=KeyGeneratorFactory,type=HiLo



      What exactly does this message tell me? Is this because JBoss expects a Connection here instead of a connection factory as defined in the -ds.xml? I checked the Forums, Wiki, everything I could find but with no success, so if anyone has a working setup for this configuration, I would be glad for any advice.
      My current changes to the default server, which runs just fine, are:

      I removed the deploy/jms directory, since I read someplace that this just disables JMS, trying to narrow the problem.
      I had to change the JNDI/RMI Ports due to some conflicts.

      After this, default still starts up fine.
      Basic Idea for the changes was to NOT change the Datasource Name, leaving it "DefaultDS", thus minimizing changes (does this conflict with something?).
      Then I copied the default to my server directory and did:

      copy firebirdsql-full.jar to servers lib dir
      copy firebirdsql.rar to deploy dir
      copy the firebird-ds.xml from the examples to deploy and customize to my environment, defining the DataSourceName as "DefaultDS"
      remove all hsqldb files

      Some file extracts:

      firebird-ds.xml:
       <?xml version="1.0" encoding="UTF-8" ?>
      - <!-- ====================================================================
       -->
      - <!-- New ConnectionManager setup for firebird dbs using jca-jdbc xa driver
       -->
      - <!-- Build jmx-api (build/build.sh all) and view for config documentation
       -->
      - <!-- ====================================================================
       -->
      - <connection-factories>
      - <!-- FBManager can be used to create and drop databases.
       Drop is especially useful during testing, since it
       assures a clean start next time.
       -->
      - <mbean code="org.firebirdsql.management.FBManager" name="jboss.jca:service=FirebirdManager">
       <attribute name="FileName">F:\Projekte\Samples\Blueprints\adventure1.0.1\db\ADVENTURE.FDB</attribute>
       <attribute name="UserName">sysdba</attribute>
       <attribute name="Password">masterkey</attribute>
       <attribute name="CreateOnStart">true</attribute>
       <attribute name="DropOnStop">false</attribute>
       </mbean>
      - <tx-connection-factory>
       <jndi-name>DefaultDS</jndi-name>
       <xa-transaction />
       <rar-name>firebirdsql.rar</rar-name>
       <connection-definition>javax.sql.DataSource</connection-definition>
       <config-property name="Database" type="java.lang.String">localhost/3050:F:\Projekte\Samples\Blueprints\adventure1.0.1\db\ADVENTURE.FDB</config-property>
       <user-name>sysdba</user-name>
       <password>masterkey</password>
      - <!-- additional properties. only use one way of setting tx isolation, please
       <config-property name="TransactionIsolation"></config-property>
       <config-property name="TransactionIsolationName">TRANSACTION_READ_COMMITTED</config-property>
       <config-property name="BlobBufferLength"></config-property>
       <config-property name="Encoding">UNICODE_FSS</config-property>
      
       -->
       <min-pool-size>0</min-pool-size>
      - <!-- sql to call when connection is created
       <new-connection-sql>some arbitrary sql</new-connection-sql>
      
       -->
      - <!-- sql to call on an existing pooled connection when it is obtained from pool
       <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      
       -->
      - <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)
       -->
      - <metadata>
       <type-mapping>Firebird</type-mapping>
       </metadata>
       </tx-connection-factory>
       </connection-factories>


      regards

      Jens