users@glassfish.java.net

Can I define multiple inbound resource adapters?

From: <glassfish_at_javadesktop.org>
Date: Sun, 23 Sep 2007 20:28:58 PDT

Hi all. I've been working on a JCA adapter, and I've currently got inbound and outbound communication working. I've been using a Glassfish v2 instance, into which I have deployed

1) my Resource Adapter
2) an EJB application, containing a MDB that uses the inbound adapter defined by 1

And, this works.

Now, I wanted to be able to provide two different methods of inbound communication. I was under the assumption that the Resource Adapter could define multiple inbound-resource adapters, as long as they provided distinct implementations of the ActivationSpec interface. Which is what I've done. I've defined a new ActivationSpec implementation, and added a new inbound-resourceadapter element in the ra.xml file.

The RAR will redeploy into the glassfish container, but when my EJB application redeploys, it fails. It fails because it is being given the wrong ActivationSpec implementation. Instead of being given the original one, it is being given the new one (which it should not be using).

The sun-ejb-jar,xml file of the EJB applicaiton is

<sun-ejb-jar>
    <enterprise-beans>
        <ejb>
            <ejb-name>TreEventBean</ejb-name>
            <mdb-resource-adapter>
                <resource-adapter-mid>svConnector</resource-adapter-mid>
            </mdb-resource-adapter>
        </ejb>
    </enterprise-beans>
</sun-ejb-jar>


So, svConnector is the name of the ResourceAdapter module. However, is there anyway to specify in the DD which ActivationSpec implementation to use? The MDB itself is using Java annotations to define the ActivationConfigProperty, but the properties between the two ActivationConfig objects are substantially different.

Can I do this? Thanks for any help,
Ed
[Message sent by forum member 'hildo' (hildo)]

http://forums.java.net/jive/thread.jspa?messageID=236705