Search code examples
mavenjboss6.xjboss-mdbtibco-rvresource-adapter

Can't deploy MDB connected to RA using JBOSS 6.4.2 GA


I have a problem deploying a MDB connected to a Tibco RV Resource Adapter, but while the RA is correctly deployed, the MDB is raising issues that I could not solve despite several attempts.

This is what I have tried to make my MDB deployed in connection to a Resource Adapter.

  1. I have deployed my RA (tibco-adapter-ra2.rar): it is a RA integrated with TIBCO RV middleware. In attachment you can see the rar file of the tibco-adapter-ra2 maven project)
  2. The RA has its logic in another maven project, which I have named tibco-adapter-jar (project attached as well)
  3. There is a second maven jar project (tibco-adapter-msg-listener), containing just the MessageListener, and it is a dependency of tibco-adapter-jar project

So far, no problem. I can deploy the Tibco Adapter RA, without any further configuration into the standalone.xml file.

The problem (ERROR 1): I can't deploy the tibco-adapter-ear, made with tibco-adapter-ejb (it contains the MDB to connect to Tibco Adapter RA, both of them are attached as well) because of the following error:

The MDB uses Annotation to refer the Message Listener interface:

import com.ericsson.jee.sep.tibco.adapter.api.TibcoRvMessageListener; 
// from tibco-adapter-msg-listener JAR, so also tibco-adapter-ejb refers that library
     @MessageDriven(name="TibcoRvMDB",
      messageListenerInterface=TibcoRvMessageListener.class, 
              activationConfig={})
    @ResourceAdapter(value="tibco-adapter-ra2.rar")
    public class TibcoRvMessageBean implements TibcoRvMessageListener
    ...

Caused by: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.ejb.default-resource-adapter-name-service not found (see Error1_Deployment_EAR_1.txt for the complete Stack Trace)

I have also edited the standalone.xml with the following configuration:

...
<subsystem xmlns="urn:jboss:domain:ejb3:1.5">
              ...
            <mdb>               
              <resource-adapter-ref resource-adapter-name="tibco-adapter-ra2.rar"/>
              ...
          </mdb>
...
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
        <resource-adapters>
              <resource-adapter id="tibco-resource-adapter">
                  <archive>tibco-adapter-ra2.rar</archive>
              </resource-adapter>
        </resource-adapters>
    </subsystem>

The ERROR 2 after this configuration is:

Caused by: java.lang.IllegalStateException: JBAS014521: No message listener of type com.ericsson.jee.sep.tibco.adapter.api.TibcoRvMessageListener found in resource adapter tibco-adapter-ra2 (see Error2_Deployment_EAR_2.txt for the complete Stack Trace).

The TibcoRvMessageListener is not the traditional JMS Message Listener, but a Tibco RV Message Listener.

I have seen similar issues raised in the past, but some of the suggestions have been already applied (see standalone.xml configuration), without resolving the issue.

I really need a support here, since I'm not able to find a way forward.

Where I'm doing wrong?

Kind Regards, Pierluigi


Solution

  • I think my issue was quite similar to this one:

    [Can't deploy Maven jar (MDB) on Jboss 6

    But basically the problem was in a wrong maven structure. I have solved aligning my maven project structure to that one available on Github:

    [https://github.com/timothysparg/JCA-Inflow-Wildfly][1]

    In my original project I have tried to deploy RA and EAR separately, while the GitHub project has shown another approach: one single EAR containing RAR and EJB with the JAR (containing the business logic of RAR) included among dependencies with provided. That's made the trick for my project.