javax.jms.InvalidDestinationException: Destination is not an
chaituu Dec 8, 2006 7:24 AMfollowed this url and deployed new new messaging instance
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingBuildInstructions
i created mdb.ear and deployed in the mesaging instance.my requirement is i am trying to lookup remote queue;
i followed below url for scoped ear for Remote Messaging Instance.
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Deploying_a_scoped_MDB_container
mdb.ear was deployed with no errors in messaging instance .
in mesaging instance in directory jboss-messaging.sar i changed destinations-service.xml to create new queue(testQueue);
below in jms-ds.xml in messaging instance;
<?xml version="1.0" encoding="UTF-8"?> <connection-factories> <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.mq:service=JMSProviderLoader,name=JMSProvider,server=172.16.7.12"> <attribute name="ProviderName">QueuehostJMSProvider</attribute> <attribute name="ProviderAdapterClass"> org.jboss.jms.jndi.JNDIProviderAdapter </attribute> <!-- The queue connection factory --> <attribute name="QueueFactoryRef">/XAConnectionFactory</attribute> <!-- The topic factory --> <attribute name="TopicFactoryRef">/XAConnectionFactory</attribute> <!-- Use HAJNDI to access JMS --> <attribute name="Properties"> java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=172.16.7.12:1099 </attribute> </mbean> <mbean code="org.jboss.jms.asf.ServerSessionPoolLoader" name="jboss.messaging:service=ServerSessionPoolMBean,name=StdJMSPool"> <depends optional-attribute-name="XidFactory">jboss:service=XidFactory</depends> <attribute name="PoolName">StdJMSPool</attribute> <attribute name="PoolFactoryClass">org.jboss.jms.asf.StdServerSessionPoolFactory</attribute> </mbean> <tx-connection-factory> <jndi-name>JmsXA</jndi-name> <xa-transaction/> <rar-name>jms-ra.rar</rar-name> <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/QueuehostJMSProvider</config-property> <max-pool-size>20</max-pool-size> <security-domain-and-application>JmsXARealm</security-domain-and-application> <depends>jboss.messaging:service=ServerPeer</depends> </tx-connection-factory> </connection-factories>
in messaging instance only i changed standardjboss.xml
****************************************************
<invoker-proxy-binding> <name>my-mdb-invoker</name> <invoker-mbean>message-driven-bean</invoker-mbean> <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory> <proxy-factory-config> <JMSProviderAdapterJNDI>QueuehostJMSProvider</JMSProviderAdapterJNDI> <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI> <MinimumSize>1</MinimumSize> <MaximumSize>15</MaximumSize> <KeepAliveMillis>30000</KeepAliveMillis> <MaxMessages>1</MaxMessages> <MDBConfig> <ReconnectIntervalSec>10</ReconnectIntervalSec> <DLQConfig> <DestinationQueue>queue/DLQ</DestinationQueue> <MaxTimesRedelivered>10</MaxTimesRedelivered> <TimeToLive>0</TimeToLive> </DLQConfig> </MDBConfig> </proxy-factory-config> </invoker-proxy-binding>
in the corresponding mdb.ear i changed jboss.xml
********************************
<message-driven> <ejb-name>ExampleMessageDrivenBean</ejb-name> <configuration-name>Standard Message Driven Bean</configuration-name> <destination-jndi-name>queue/testQueue</destination-jndi-name> <invoker-bindings> <invoker> <invoker-proxy-binding-name>my-mdb-invoker</invoker-proxy-binding-name> </invoker> </invoker-bindings> </message-driven>
client code is in default instance
Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); env.put(Context.PROVIDER_URL, "172.16.7.12:1099"); Context remoteCtx = new InitialContext(env); Queue queue = (Queue)remoteCtx.lookup("queue/testQueue"); QueueConnectionFactory queueFactory = (QueueConnectionFactory)remoteCtx.lookup("java:JmsXA");
I am getting JmsXA not bound exception(what is the right way of look up ?)
when i changed from JmsXA to java:/XAConnectionFactory i am getting queueFactory
but i am getting below exception.
javax.jms.InvalidDestinationException: Destination is not an instance of SpyDestination JBossQueue[testQueue]
see my messaging instance log file
2006-12-05 16:37:24,986 34739 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/DLQ] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,032 34785 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/testTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,032 34785 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/securedTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,048 34801 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/testDurableTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,251 35004 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/testQueue] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,298 35051 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/A] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,298 35051 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/B] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,314 35067 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/C] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,329 35082 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/D] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,345 35098 INFO [org.jboss.jms.server.destination.Queue] @main Queue[/queue/ex] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,345 35098 INFO [org.jboss.jms.server.destination.Topic] @main Topic[/topic/openTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000 2006-12-05 16:37:25,939 35692 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] @main Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA to JNDI name 'java:JmsXA'