Search code examples
javajmsmessagingwildfly-8

How to define org.hornetq.ra as resource adapter in WIldfly 8


can anyone help me about defining org.hornetq.ra module in Wildfly AS 8 as a resource adapter in <subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"> section of standalone-full-ha.xml.

<resource-adapters>  
        <resource-adapter id="hornetq-ra.rar">  
            <module slot="main" id="org.hornetq.ra"/>  
            <transaction-support>XATransaction</transaction-support>  
            <config-property name="ServerUrl">jnp://localhost:1199</config-property>  
            <connection-definitions>  
                <connection-definition class-name="org.hornetq.ra.HornetQRAManagedConnectionFactory" jndi-name="java:/HornetQConnectionFactory" enabled="true" use-java-context="true" pool-name="HornetQConnectionFactory"/>  
            </connection-definitions>  
        </resource-adapter>  
    </resource-adapters>  

I have used the above configuration but it is no getting registered as resource adapter and getting the below error:

ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 53) JBAS014613: Operation ("add") failed - address: ([
("subsystem" => "resource-adapters"),
("resource-adapter" => "hornetq-ra.rar")
]) - failure description: "JBAS010473: Failed to load module for RA [org.hornetq.ra]"

Has anyone done this ? Please help. Many thanks.


Solution

  • I've actually tried that and I had lots if problems, so I decided to do the following instead.

    <resource-adapters>  
        <resource-adapter id="my-hornetq-ra">
            <archive>hornetq-ra.rar</archive>
            <transaction-support>XATransaction</transaction-support>  
            <config-property name="ServerUrl">jnp://localhost:1199</config-property>  
            <connection-definitions>  
                <connection-definition class-name="org.hornetq.ra.HornetQRAManagedConnectionFactory" jndi-name="java:/HornetQConnectionFactory" enabled="true" use-java-context="true" pool-name="HornetQConnectionFactory"/>  
            </connection-definitions>  
        </resource-adapter>  
    </resource-adapters> 
    

    NOTE: hornetq-ra.rar MUST be in the deployment directory and my-hornetq-ra is a reference that you will use in jboss-ejb3.xml when defining your MDB like below

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss xmlns="http://www.jboss.com/xml/ns/javaee"
       xmlns:jee="http://java.sun.com/xml/ns/javaee"
       xmlns:mdb="urn:resource-adapter-binding">
    
    <jee:assembly-descriptor>
        <mdb:resource-adapter-binding>
            <jee:ejb-name>*</jee:ejb-name>
            <mdb:resource-adapter-name>my-hornetq-ra</mdb:resource-adapter-name>
        </mdb:resource-adapter-binding>
    </jee:assembly-descriptor>