1 2 3 Previous Next 30 Replies Latest reply on Sep 29, 2011 10:55 AM by dstockdreher

    Creating resources for a resource adapter

    Martin Phillips Newbie

      Hi all,

       

      I'm working with a JCA Resource adapter which I have sucessfully deployed on JBoss 6, but am struggling to find how to create resources for it on JBoss 7. 

       

      On JBoss 6 I dropped a resourceAdapter-ds.xml file into the deploy directory along with the resource adaptrer .rar file and the resources it defined were created (I could see log information that it was creating the resources).

       

      On JBoss 7 nothing seems to happen when I drop the -ds.xml file in the deployments directory.

       

      I've tried looking through the documentation, but can't find anything much on deploying resource adapters for v7.  Can anyone point me in the right direction?

       

      Hope you can help.

       

      Martin.

        • 3. Re: Creating resources for a resource adapter
          Martin Phillips Newbie

          Those links looks really promising - I'll have a read through it in more detail. 

           

          Can I just confirm that this is implying that the method of defining resources for a JCA RA has changed significantly from JBoss 6? (or have I gotten the wrong end of the stick? )

          • 4. Re: Creating resources for a resource adapter
            Jesper Pedersen Master

            Everything has changed for the better Read my blogs to get a feeling of why.

             

            I put an AS 7 documentation place holder here: https://docs.jboss.org/author/display/AS7/Resource+adapters

            • 6. Re: Creating resources for a resource adapter
              Jesper Pedersen Master

              If you are looking for unit testing - you can start here or use the AS 7/Arquillian stuff.

              • 7. Re: Creating resources for a resource adapter
                Martin Phillips Newbie

                I've managed to get a chunk further, but still not all the way there.

                 

                From the documentation:

                 

                5.2.1

                A resource adapter can be configured using two different ways 

                     META-INF/ironjacamar.xml for internal configuration

                    -ra.xml for external configuration

                 

                I tried putting a -ra.xml file in the deployments directory along with the RA, but that didn't seem to do anything at all, so I had a bash at editing the standalone.xml file to put the content directly in there.  This seemed to do a lot more.  Perhaps the documentation could be updated to point this out as an option.

                 

                So, now when the RA tries to deploy it's getting on to trying to create resources, but is failing with the following error.

                 

                 

                The subsystem definition I'm using is at the bottom.  Any thoughts?

                 

                I've tried with/without the use-java-context flag

                I've tried with/without the java: at the start of the jndi-name

                I'm not even sure if it's these elements that are causing the problem :-)

                 

                 

                 

                 

                10:11:34,593 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Starting deployment of "wmq.jmsra.rar"

                10:11:35,937 INFO  [org.jboss.as.connector.metadata.deployment.ResourceAdapterDeploymentService$AS7RaDeployer] (MSC service thread 1-4) IJ020001: Required license terms for file:/C:/jboss.7.0.0/standalone/tmp/vfs/temp1126829ead023e3e/wmq.jmsra.rar-36ecf3adaa8a6998/contents/

                10:11:36,343 INFO  [org.jboss.as.connector.metadata.deployment.ResourceAdapterXmlDeploymentService$AS7RaXmlDeployer] (MSC service thread 1-2) IJ020001: Required license terms for file:/C:/jboss.7.0.0/standalone/tmp/vfs/temp1126829ead023e3e/wmq.jmsra.rar-36ecf3adaa8a6998/contents/

                10:11:36,343 WARN  [org.jboss.as.connector.metadata.deployment.ResourceAdapterXmlDeploymentService$AS7RaXmlDeployer] (MSC service thread 1-2) IJ020004: Only one connection definition found with a mismatch in class-name: javax.jms.ConnectionFactory

                10:11:36,375 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.raxml."wmq.jmsra": org.jboss.msc.service.StartException in service jboss.raxml."wmq.jmsra": org.jboss.msc.service.StartException in anonymous service: Failed to start RA deployment [wmq.jmsra]

                    at org.jboss.as.connector.metadata.deployment.ResourceAdapterXmlDeploymentService.start(ResourceAdapterXmlDeploymentService.java:106)

                    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)

                    at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)

                    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_25]

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_25]

                    at java.lang.Thread.run(Thread.java:662) [:1.6.0_25]

                Caused by: org.jboss.msc.service.StartException in anonymous service: Failed to start RA deployment [wmq.jmsra]

                    at org.jboss.as.connector.metadata.deployment.ResourceAdapterXmlDeploymentService.start(ResourceAdapterXmlDeploymentService.java:98)

                    ... 5 more

                Caused by: org.jboss.jca.deployers.common.DeployException: IJ020056: Deployment failed: file:/C:/jboss.7.0.0/standalone/tmp/vfs/temp1126829ead023e3e/wmq.jmsra.rar-36ecf3adaa8a6998/contents/

                    at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1778)

                    at org.jboss.as.connector.metadata.deployment.ResourceAdapterXmlDeploymentService$AS7RaXmlDeployer.doDeploy(ResourceAdapterXmlDeploymentService.java:140)

                    at org.jboss.as.connector.metadata.deployment.ResourceAdapterXmlDeploymentService.start(ResourceAdapterXmlDeploymentService.java:96)

                    ... 5 more

                Caused by: javax.resource.spi.IllegalStateException: Non-explicit JNDI bindings not supported

                    at org.jboss.as.connector.metadata.deployment.AbstractResourceAdapterDeploymentService$AbstractAS7RaDeployer.bindConnectionFactory(AbstractResourceAdapterDeploymentService.java:216)

                    at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1586)

                    ... 7 more

                 

                10:11:36,375 INFO  [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) Deployment of "wmq.jmsra.rar" was rolled back with failure message {"Failed services" => {"jboss.raxml.\"wmq.jmsra\"" => "org.jboss.msc.service.StartException in service jboss.raxml.\"wmq.jmsra\": org.jboss.msc.service.StartException in anonymous service: Failed to start RA deployment [wmq.jmsra]"}}

                10:11:36,375 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) Service status report

                  Services which failed to start:

                      service jboss.raxml."wmq.jmsra": org.jboss.msc.service.StartException in service jboss.raxml."wmq.jmsra": org.jboss.msc.service.StartException in anonymous service: Failed to start RA deployment [wmq.jmsra]

                 

                10:11:36,375 ERROR [org.jboss.as.deployment] (DeploymentScanner-threads - 1) {"Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"Failed services" => {"jboss.raxml.\"wmq.jmsra\"" => "org.jboss.msc.service.StartException in service jboss.raxml.\"wmq.jmsra\": org.jboss.msc.service.StartException in anonymous service: Failed to start RA deployment [wmq.jmsra]"}}}}

                10:11:37,578 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) Stopped deployment wmq.jmsra.rar in 1206ms

                 

                 

                 

                    <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">
                        <resource-adapters>
                           <resource-adapter>
                              <archive>wmq.jmsra.rar</archive>

                 

                              <config-property name="traceEnabled">false</config-property>
                              <config-property name="traceLevel">3</config-property>
                              <config-property name="reconnectionRetryInterval">300000</config-property>
                              <config-property name="reconnectionRetryCount">5</config-property>

                 

                              <transaction-support>XATransaction</transaction-support>

                 

                              <connection-definitions>
                                 <connection-definition class-name="javax.jms.ConnectionFactory"
                                                        jndi-name="java:jms/ivt/IVTCF"
                                                        pool-name="wmq.jmsra"
                                                        use-java-context="false">

                 

                                    <config-property name="queueManager">ExampleQM</config-property>
                                    <config-property name="channel">SYSTEM.DEF.SVRCONN</config-property>
                                    <config-property name="transportType">CLIENT</config-property>
                                    <config-property name="hostName">localhost</config-property>
                                    <config-property name="port">1414</config-property>

                 

                                    <xa-pool>
                                       <!-- MQ does not support connection interleaving -->
                                       <interleaving>false</interleaving>
                                    </xa-pool>
                                    <security>
                                       <application/>
                                    </security>
                                 </connection-definition>
                              </connection-definitions>
                           </resource-adapter>
                        </resource-adapters>

                 

                    </subsystem>
                • 8. Re: Creating resources for a resource adapter
                  Jesper Pedersen Master

                  -ra.xml deployments is only for IronJacamar/Standalone.

                   

                  See http://https://docs.jboss.org/author/display/AS7/Resource+adapters for deployments in AS 7.

                   

                  Try

                   

                  <connection-definition class-name="com.mycompany.myproject.MyMCF"
                                                      jndi-name="java:jboss/jms/ivt/IVTCF"
                                                      pool-name="wmq.jmsra">
                  

                   

                  The class name needs to be the MCF and jndi-name should start with java:jboss/.

                  • 9. Re: Creating resources for a resource adapter
                    Martin Phillips Newbie

                    OK, I've tried that, and a few others, and seem to be getting the same error with all of them

                     

                    jndi-name="java:/IVTCF"

                    jndi-name="java:jboss"

                    jndi-name="java:jboss/IVTCF"

                    jndi-name="java:jboss/jms/ivt/IVTCF"

                    jndi-name="java:/eis/AcmeConnectionFactory"

                     

                    Between changes I stop the server, make the change, then restart, then delete the '.failed' file under deployments to get it to attempt a deployment. (I wasn't sure if changes to standaline.xml would be dynamic, so erred on the safe side)

                     

                     

                    Can I double check what you mean by MCF?  Managed Connection Factory?

                    I'm a bit surprised that someone configuring a connection factory needs to define the implementation class rather than just the Interface class, as the interface and implementation are mapped together in the ra.xml of the resource adapter.

                    • 10. Re: Creating resources for a resource adapter
                      Jesper Pedersen Master

                      Yes, the ManagedConnectionFactory needs to be in the class-name. If you leave class-name out (and the .rar only has one MCF) the deployer should find it automaitically.

                       

                      Multiple MCF implementations can map to the same CF interface...

                      • 11. Re: Creating resources for a resource adapter
                        Martin Phillips Newbie

                        Okey dokey - I can manage that.  Any thoughts on the continued bindings problem?

                         

                        I've tried all of the following unsucessfully

                         

                        jndi-name="java:/IVTCF"

                        jndi-name="java:jboss"

                        jndi-name="java:jboss/IVTCF"

                        jndi-name="java:jboss/jms/ivt/IVTCF"

                        jndi-name="java:/eis/AcmeConnectionFactory"


                        javax.resource.spi.IllegalStateException: Non-explicit JNDI bindings not supported

                         

                         

                         

                        Could it be being caused by any of the other properties that are specified for the RA?

                        • 12. Re: Creating resources for a resource adapter
                          Jesper Pedersen Master

                          I have resolved https://issues.jboss.org/browse/JBJCA-640 which should give a better exception once integrated.

                          • 13. Re: Creating resources for a resource adapter
                            dstockdreher Newbie

                            So for the time being  one should just have to replace the ironJacamar implementation in AS 7 final with the 1.0.2 Final version in order to get a better error message, or should the configuration above be valid in that case?

                            • 14. Re: Creating resources for a resource adapter
                              jaikiran pai Master

                              AS 7.0.1 has been released http://www.jboss.org/jbossas/downloads.html which already has 1.0.3 version of IronJacamar. So give it a try on 7.0.1

                              1 2 3 Previous Next