Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-4711

Behaviour with datasources and the enabled attribute

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Major
    • None
    • 7.1.1.Final
    • JCA, JPA / Hibernate

    Description

      I have following test configuration, mind the attribute enabled="false":

      <subsystem xmlns="urn:jboss:domain:datasources:1.0">
        <datasources>
          <datasource enabled="false" jta="true" jndi-name="java:jboss/jdbc/Db2NonXaDataSource" pool-name="DB2DSPool" use-java-context="true" use-ccm="true">
            <connection-url>jdbc:db2://ddb-dintalc:50006/UALC</connection-url>
            <driver>db2</driver>
            <pool>
              <prefill>false</prefill>
              <use-strict-min>false</use-strict-min>
              <flush-strategy>FailingConnectionOnly</flush-strategy>
            </pool>
            <security>
              <user-name>s01talc</user-name>
              <password>Not4You</password>
            </security>
            <validation>
              <validate-on-match>false</validate-on-match>
              <background-validation>false</background-validation>
              <use-fast-fail>false</use-fast-fail>
            </validation>
          </datasource>
          <drivers>
            <driver name="db2" module="com.ibm.db2.v4_3_85">
              <xa-datasource-class>com.ibm.db2.jcc.DB2Driver</xa-datasource-class>
            </driver>
          </drivers>
        </datasources>
      </subsystem>
      

      1. I start the server (standalone mode, I did not check domain mode). The attribute is still the same, enabled="false".

      In an ejb, a persistence unit references the datasource:

      @PersistenceContext(unitName = "db2_persistence_unit")
      private EntityManager entityManager;

      2. Now I deploy (maven-ear-plugin or just drop in deployments dir) the ear. The configuration is changed automatically, the attribute is not there anymore:

      <datasource jta="true" jndi-name="java:jboss/jdbc/Db2NonXaDataSource" pool-name="DB2DSPool" use-java-context="true" use-ccm="true">
        <connection-url>jdbc:db2://ddb-dintalc:50006/UALC</connection-url>
        <driver>db2</driver>
      ...
      

      The application works, the datasource is available, so it is enabled in the background.

      3. Now just restart the server.
      Outcome:

      2012-05-04 13:30:53,817   [MSC service thread 1-1] ERROR org.jboss.msc.service.fail - MSC00001: Failed to start service jboss.deployment.subunit."jet-demo-ear-0.0.1-SNAPSHOT.ear"."jet-demo-ejb-0.0.1-SNAPSHOT.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."jet-demo-ear-0.0.1-SNAPSHOT.ear"."jet-demo-ejb-0.0.1-SNAPSHOT.jar".INSTALL: Failed to process phase INSTALL of subdeployment "jet-demo-ejb-0.0.1-SNAPSHOT.jar" of deployment "jet-demo-ear-0.0.1-SNAPSHOT.ear"
      	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_02]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_02]
      	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
      Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS010464: Exception deploying datasource java:jboss/jdbc/Db2NonXaDataSource
      	at org.jboss.as.connector.deployers.processors.DsXmlDeploymentInstallProcessor.deploy(DsXmlDeploymentInstallProcessor.java:125)
      	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
      	... 5 more
      Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.naming.context.java.jboss.jdbc.Db2NonXaDataSource is already registered
      	at org.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:154) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:227) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:560) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:307) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      	at org.jboss.as.connector.deployers.processors.DsXmlDeploymentInstallProcessor.startDataSource(DsXmlDeploymentInstallProcessor.java:309)
      	at org.jboss.as.connector.deployers.processors.DsXmlDeploymentInstallProcessor.deploy(DsXmlDeploymentInstallProcessor.java:123)
      	... 6 more
      

      So the deployment fails. The same happens when the server is started with enabled datasource and then deploying the app.

      This behaviour came with 7.1.1.Final, before it worked as expected.

      Attachments

        Activity

          People

            smaestri@redhat.com Stefano Maestri
            michael.voegele@cloudops Michael Voegele
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: