[jboss-user] [Messaging, JMS & JBossMQ] - Re: connectionFactoryJndiName config property

tobinibot do-not-reply at jboss.com
Thu Nov 30 13:09:08 EST 2006


Ok, well I was able to get the sample project (EJB2) up and running successfully.  Now to try and get it running with EJB3.

Using the same JBoss setup, I created a new EJB3 project and one MDB:

package ejb;
  | 
  | import javax.ejb.ActivationConfigProperty;
  | import javax.ejb.MessageDriven;
  | import javax.jms.Message;
  | import javax.jms.MessageListener;
  | import org.jboss.logging.Logger;
  | 
  | /**
  |  * @author tjuday
  |  */
  | @MessageDriven(mappedName = "jms/SimpleMessageReceiverBean", activationConfig =  {
  |     @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
  |     @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
  |     @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue.outbound")
  |   })
  | public class SimpleMessageReceiverBean implements MessageListener {
  |   private Logger logger = Logger.getLogger(SimpleMessageReceiverBean.class);
  | 
  |   public void onMessage(Message message) {
  |     logger.info("received message");
  |   }
  | }

And this is with the panacya-ds.xml, here:

<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <!DOCTYPE connection-factories
  |     PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
  |     "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
  | 
  | <connection-factories>
  | 
  |    <tx-connection-factory>
  |       <jndi-name>activemq/QueueConnectionFactory</jndi-name>
  |       <xa-transaction/>
  |       <track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing this one out! -->
  |       <rar-name>activemq-ra-4.0.2.rar</rar-name>
  |       <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
  |       <security-domain-and-application>JmsXARealm</security-domain-and-application>
  |    </tx-connection-factory>
  | 
  |    <tx-connection-factory>
  |       <jndi-name>activemq/TopicConnectionFactory</jndi-name>
  |       <xa-transaction/>
  |       <track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing this one out too! -->
  |       <rar-name>activemq-ra-4.0.2.rar</rar-name>
  |       <connection-definition>javax.jms.TopicConnectionFactory</connection-definition>
  |       <security-domain-and-application>JmsXARealm</security-domain-and-application>
  |    </tx-connection-factory>
  | 
  |       <mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.queue:name=outboundQueue">
  |       <attribute name="JNDIName">activemq/queue/outbound</attribute>
  |       <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra-4.0.2.rar'</depends>
  |       <attribute name="Type">javax.jms.Queue</attribute>
  |       <attribute name="Properties">
  |             PhysicalName=queue.outbound
  |       </attribute>
  |    </mbean>
  | 
  | </connection-factories>

When I run that, I get this in the log file:

anonymous wrote : 11:33:31,562 INFO  [EJBContainer] STARTED EJB: ejb.SimpleMessageReceiverBean ejbName: SimpleMessageReceiverBean
  | 11:33:31,578 WARN  [MessagingContainer] Could not find the queue destination-jndi-name=queue.outbound
  | 11:33:31,578 WARN  [MessagingContainer] destination not found: queue/queue.outbound reason: javax.naming.NameNotFoundException: queue.outbound not bound
  | 11:33:31,765 WARN  [MessagingContainer] creating a new temporary destination: queue/queue.outbound
  | 11:33:31,765 INFO  [outbound] Bound to JNDI name: queue/queue.outbound
  | 11:33:31,812 INFO  [EJB3Deployer] Deployed: file:/C:/Program Files/Fresh_JBoss/server/default/deploy/Panacya_EJB3.jar
  | 11:33:31,921 WARN  [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at 1b57890(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 6972f1 destination=queue.outbound isTopic=false tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=0)
  | javax.naming.NameNotFoundException: queue.outbound not bound
  |         at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
  |         at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
  |         at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
  |         at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  |         at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |         at org.jboss.util.naming.Util.lookup(Util.java:215)
  |         at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:399)
  |         at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:306)
  |         at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:589)
  |         at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
  |         at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
  |         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
  |         at java.lang.Thread.run(Thread.java:595)
  | 
  | 

You can see that I'm using the physical name of the queue for my destination, but it's not working.  I've tried all sorts of things in that destination field, and I can't get anything to work.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3990164#3990164

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3990164



More information about the jboss-user mailing list