Hello,

I am testing activemq producer code using jndi.

Running my code caused the following exception.

javax.jms.JMSException: Could not create Transport. Reason:
java.io.IOException: Transport scheme NOT recognized: [jnp]
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
        at
org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:252)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:265)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:238)
        at
org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:184)
        at Producer.<init>(Producer.java:15)
        at Producer.main(Producer.java:31)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:283)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.IOException: Transport scheme NOT recognized: [jnp]
        at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
        at
org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:178)
        at
org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:63)
        at
org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:250)
        ... 11 more
Caused by: java.io.IOException: Could not find factory class for resource:
META-INF/services/org/apache/activemq/transport/jnp
        at
org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:96)
        at
org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:58)
        at
org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:146)
        at
org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:175)

My code is as follows:

import javax.jms.*;
import javax.naming.InitialContext;
import javax.naming.NamingException;


public class Producer {

    public Producer() throws JMSException, NamingException {
        Connection connection=null;
        try {
            InitialContext jndi = new InitialContext();

            ConnectionFactory conFactory = (ConnectionFactory)
jndi.lookup("ConnectionFactory");
            Destination destination = (Destination) jndi.lookup("MyQueue");
            connection = conFactory.createConnection();
            connection.start();
            Session session =
connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
            MessageProducer producer = session.createProducer(destination);
            TextMessage message = session.createTextMessage("Hello World!");
            producer.send(message);
            System.out.println("Sent message '" + message.getText() + "'");
        } catch(Exception e) {
            e.printStackTrace();
        } finally {
            connection.close();
        }
    }

    public static void main(String[] args) throws JMSException {
        try {
            new Producer();
        } catch (NamingException e) {
            e.printStackTrace();
        }

    }
}

jndi.properties as follows:

java.naming.factory.initial =
org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url = tcp://localhost:61616 
connectionFactoryNames = ConnectionFactory, queueConnectionFactory,
topicConnectionFactry
queue.MyQueue = queue.queue_out

What is a problem in my code ?

Regards,







--
View this message in context: 
http://activemq.2283324.n4.nabble.com/using-jndi-caused-error-tp4665919.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to