Hi Michael,
Good to know you are trying Glassfish integration with Weblogic using
Generic RA. The log seems to indicate that WebLogic does not allow GRA
to create a connection consumer (Chapter 8 of JMS spec). I guess they
would only allow connection consumer to be created from modules running
in weblogic, but iam not sure as to why that restriction is in place and
if there are any workarounds to that. Might be worthwhile to post a
query in Weblogic forums.
Meanwhile you can try the Synchronous Delivery mode [1] that was
introduced in GRA 2.0 [2], this does not depend on the Chapter 8
interfaces. All you have to do is use GRA 2.0 and set the property
DeliveryType=Synchronous in the ra configuration.
Thanks
-Ramesh
[1]
http://weblogs.java.net/blog/rampsarathy/archive/2008/09/generic_jms_ra.html
[2]
https://genericjmsra.dev.java.net/servlets/ProjectDocumentList?folderID=7432&expandFolder=7432&folderID=0
On 10/11/08 02:19, Michael G. Martin wrote:
> 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