0 Replies Latest reply on Jun 7, 2012 10:10 AM by yanpak

    Connecting MDB to resource adapter

    yanpak

      Hi All!

      I'm trying to deploy MDB on server for use it with my own connector.

      Connector and MDB are separate deployment units (connector.rar & receiver.jar), not united in one ear.

       

      Connector successfully deployed into the server (JBoss AS 7.1.1 "Brontes").

      When I'm attempting to deploy MDB I get a error

      ...

      Caused by: java.lang.IllegalStateException: JBAS014521: No message listener of type apiRA.MyMessageListener found in resource adapter connec

      tor

      at org.jboss.as.ejb3.component.EJBUtilities.createActivationSpecs(EJBUtilities.java:100)

      ...

       

      my MDB looks so:

       

      @ResourceAdapter("connector.rar")

      public class Receiver implements MessageDrivenBean, api.MyMessageListener {.....

      }

       

      ejb-jar.xml:

      ....

      <message-driven>

        <ejb-name>Receiver</ejb-name>

        <ejb-class>beans.Receiver</ejb-class>

        <messaging-type>apiRA.MyMessageListener</messaging-type>

                                    <transaction-type>Container</transaction-type>

      ...

       

      MyMessageListener interface (the same in the connector.rar and the receiver.jar):

       

      package apiRA;

       

      public interface MyMessageListener extends javax.resource.cci.MessageListener{

                public void onMessage(String msg);

      }

       

      Connector's deployment descriptor looks like:

      ....

      <inbound-resourceadapter>

                                    <messageadapter>

                                              <messagelistener>

                                                        <messagelistener-type>apiRA.MyMessageListener</messagelistener-type>

                                                        <activationspec>

                                                                  <activationspec-class>inbound.ActSp</activationspec-class>

                                                                  <config-property>

      ......

       

      If instead apiRA.MyMessageListener in connector and MDB I will use something another, saying like javax.jms.Message then it is OK, my MDB will connecting to connector.rar. It seems that message listener interface should be the one actual file either in the server side environment or file pack ear (if we deploying it together).

      I tested my sample in GlassFish, where it was working ok.

      So, there arise a question: How to deploy MDB with specific message listener interface provided by connector on JBoss AS, main aspect: how to do it in the separate style?

       

      Any suggests and thoughts are highly greeting.

       

      P.S. files attached to discussion