users@genericjmsra.java.net

Glassfish / Weblogic MDB Integration

From: Michael G. Martin <mgmartin_at_comcast.net>
Date: Fri, 10 Oct 2008 20:19:04 -0600

I've been trying to get an MDB deployed in Glassfish ( 9.1.1 (build
b54-fcs) ) to connect to a topic running in Weblogic ( 10.3.0.0 ) using
the generic resource adapter.

Everything appears to resolve fine, however an exception is thrown:

Caused by: weblogic.jms.common.IllegalStateException:
[JMSClientExceptions:055084]A connection consumer only works on the server
    at
weblogic.jms.client.JMSConnection.createConnectionConsumer(JMSConnection.java:806)
    at
weblogic.jms.client.JMSConnection.createConnectionConsumer(JMSConnection.java:419)
    at
weblogic.jms.client.WLConnectionImpl.createConnectionConsumer(WLConnectionImpl.java:876)
    at
com.sun.genericra.inbound.async.InboundJmsResourcePool.createConnectionConsumer(InboundJmsResourcePool.java:121)
    at
com.sun.genericra.inbound.async.EndpointConsumer._start(EndpointConsumer.java:116)
    ... 19 more

A standalone client consumer code using the same JNDI values listed
below works fine.

_MDB Code:_

@MessageDriven(activationConfig = {
  @ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Topic"),
  @ActivationConfigProperty(propertyName = "connectionFactoryJndiName",
propertyValue = "cf"),
  @ActivationConfigProperty(propertyName = "destinationJndiName",
propertyValue = "t1")
})
public class wlTestBean implements MessageListener {

  public wlTestBean() {
  }

  public void onMessage(Message message) {
    System.out.println("Hello There");
  }
}

_sun-ejb.jar values:

_ <ejb>
      <ejb-name>wlTestBean</ejb-name>
      <mdb-resource-adapter>
        <resource-adapter-mid>genericra</resource-adapter-mid>
      </mdb-resource-adapter>
    </ejb>

_resource adapter config:

_ <resource-adapter-config object-type="user"
resource-adapter-name="genericra">
      <property name="ProviderIntegrationMode" value="jndi"/>
      <property name="JndiProperties"
value="java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory,java.naming.provider.url=t3://localhost:7001,java.naming.factory.url.pkgs=weblogic.corba.client.naming"/>
      <property name="LogLevel" value="FINEST"/>
      <property name="SupportsXA" value="true"/>
    </resource-adapter-config>

Any ideas what could be wrong?

Thanks,
Michael Martin