-
1. Re: Creating resources for a resource adapter
jaikiran Aug 2, 2011 8:51 AM (in response to mphillip)1 of 1 people found this helpful -
2. Re: Creating resources for a resource adapter
jesper.pedersen Aug 2, 2011 8:53 AM (in response to mphillip)1 of 1 people found this helpfulUse the resource-adapters subsystem and this schema: http://docs.jboss.org/ironjacamar/schema/resource-adapters_1_0.xsd
You can read more about it here: http://docs.jboss.org/ironjacamar/userguide/1.0/en-US/html/deployment.html#deployingra_descriptor
-
3. Re: Creating resources for a resource adapter
mphillip Aug 2, 2011 9:02 AM (in response to jesper.pedersen)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 Aug 2, 2011 9:15 AM (in response to mphillip)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
-
5. Re: Creating resources for a resource adapter
mphillip Aug 2, 2011 9:26 AM (in response to jesper.pedersen)Fantastic, thanks guys!
-
6. Re: Creating resources for a resource adapter
jesper.pedersen Aug 2, 2011 2:39 PM (in response to mphillip)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
mphillip Aug 3, 2011 5:29 AM (in response to jesper.pedersen)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 Aug 3, 2011 9:11 AM (in response to mphillip)-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
mphillip Aug 3, 2011 9:38 AM (in response to jesper.pedersen)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 Aug 3, 2011 10:03 AM (in response to mphillip)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
mphillip Aug 3, 2011 10:34 AM (in response to jesper.pedersen)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 Aug 3, 2011 10:59 AM (in response to jesper.pedersen)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 Aug 17, 2011 6:06 PM (in response to jesper.pedersen)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 Aug 18, 2011 1:14 AM (in response to dstockdreher)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