[jboss-user] [EJB 3.0] - javax.naming.NameNotFoundException: mdbtest not bound

pepelara do-not-reply at jboss.com
Sun Feb 8 07:45:57 EST 2009


Hello,

I am developing an EJB3 MDB in Eclipse Ganymede RS1
against JBoss 4.2.2 GA.

At deployment time I get the following exception,


  | 13:18:28,493 INFO  [EARDeployer] Init J2EE application: file:/C:/jboss-4.2.2.GA/server/default/deploy/ProducerConsumerClientEAR.ear
  | 13:18:28,805 INFO  [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.mdb.ConsumerContainer
  | 13:18:28,805 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=ProducerConsumerClientEAR.ear,jar=ConsumerMDB.jar,name=QueueTestConsumer,service=EJB3 with dependencies:
  | 13:18:29,007 INFO  [EJBContainer] STARTED EJB: test.mdb.QueueTestConsumer ejbName: QueueTestConsumer
  | 13:18:29,007 WARN  [MessagingContainer] Could not find the queue destination-jndi-name=queue/mdbtest
  | 13:18:29,007 WARN  [MessagingContainer] destination not found: queue/mdbtest reason: javax.naming.NameNotFoundException: mdbtest not bound
  | 13:18:29,007 WARN  [MessagingContainer] creating a new temporary destination: queue/mdbtest
  | 13:18:29,023 INFO  [mdbtest] Bound to JNDI name: queue/mdbtest
  | 13:18:29,117 INFO  [EJB3Deployer] Deployed: file:/C:/jboss-4.2.2.GA/server/default/tmp/deploy/tmp5377057139345978599ProducerConsumerClientEAR.ear-contents/ConsumerMDB.jar
  | 13:18:29,148 INFO  [EARDeployer] Started J2EE application: file:/C:/jboss-4.2.2.GA/server/default/deploy/ProducerConsumerClientEAR.ear
  | 

This is my code,

#1 The producer

  | package test.mdb;
  | 
  | import org.jboss.annotation.ejb.Producer;
  | 
  | @Producer
  | public interface QueueTestRemote {
  | 	public void method1(String msg, int num);
  | }
  | 

#2 The consumer (the bean)

  | package test.mdb;
  | 
  | import javax.ejb.ActivationConfigProperty;
  | import org.jboss.annotation.ejb.Consumer;
  | 
  | /**
  |  * Message-Driven Bean implementation class for: QueueTestConsumer
  |  *
  |  */
  | @Consumer(
  | 		activationConfig = {
  | 				@ActivationConfigProperty(
  | 				propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
  | 				@ActivationConfigProperty(
  | 				propertyName="destination", propertyValue="queue/mdbtest")
  | 		})
  | public class QueueTestConsumer implements QueueTestRemote {
  | 
  |     /**
  |      * Default constructor. 
  |      */
  |     public QueueTestConsumer() {
  |         // TODO Auto-generated constructor stub
  |     }
  | 
  | 	@Override
  | 	public void method1(String msg, int num) {
  | 		// TODO Auto-generated method stub
  | 		System.out.println("method1(" + msg + ", " + num + ")");
  | 	}
  | 
  | }
  | 

#3 And the client

  | package test.mdb;
  | 
  | import javax.naming.InitialContext;
  | import org.jboss.ejb3.mdb.ProducerObject;
  | import org.jboss.ejb3.mdb.ProducerManager;
  | 
  | public class Client {
  | 
  | 	/**
  | 	 * @param args
  | 	 */
  | 	public static void main(String[] args) throws Exception
  | 	{
  | 		// TODO Auto-generated method stub
  | 		InitialContext ctx = new InitialContext();
  | 	 	QueueTestRemote tester = (QueueTestRemote)ctx.lookup(QueueTestRemote.class.getName());
  | 
  | 	    ProducerObject po = (ProducerObject)tester;
  | 	    ProducerManager manager = (ProducerManager)po.getProducerManager();
  | 
  | 	    manager.connect(); // internally create a JMS connection
  | 	    try
  | 	    {
  | 	      tester.method1("hello world", 55);
  | 	    }
  | 	    finally
  | 	    {
  | 	      manager.close(); // clean up the JMS connection
  | 	    }
  | 	}
  | }
  | 


And in runtime I get another exception,

  | Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
  | 	at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
  | 	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
  | 	at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
  | 	at javax.naming.InitialContext.lookup(Unknown Source)
  | 	at test.mdb.Client.main(Client.java:16)
  | 

And I do not know what is going wrong.

Thanks in advance,
Jose Alvarez de Lara

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

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



More information about the jboss-user mailing list