JBoss Community

How to connect to remote queue?

created by Haitham Safi in JNDI and Naming - View the full discussion

Hi
i'm trying to run JMS Java Application(Jboss4.2.3) on Remote server that grant permission to me so I wrote the following code:

    package test;
    import java.io.IOException;
    import java.util.Properties;
    import javax.jms.DeliveryMode;
    import javax.jms.JMSException;
    import javax.jms.MapMessage;
    import javax.jms.Queue;
    import javax.jms.QueueConnection;
    import javax.jms.QueueConnectionFactory;
    import javax.jms.QueueSender;
    import javax.jms.QueueSession;
    import javax.jms.TextMessage;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.net.UnknownHostException;
    public class QueueProduce {
    public static void main(String[] args)throws JMSException,NamingException
    {
         try
    {
        System.out.println(">>>>>>> Begain Producer ..... >>>>>>>>");
         Context context =QueueProduce.getInitialContext();
         QueueConnectionFactory queueconnectionfactory = (QueueConnectionFactory) context.lookup   ("ConnectionFactory");
         Queue queue =(Queue) context.lookup("queue/D");
         queueConnection queueconnection = queueconnectionfactory.createQueueConnection("un","pwd");
         QueueSession queuesession =  queueconnection.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
         queueconnection.start();
         QueueProduce queueproducer =new QueueProduce();
         queueproducer.sendmessage(".this message send for from queue testing " ,queuesession,queue);
         System.out.println(">>>>>>Testing Message has been sent >>>>>>>>>");
    }
    catch (JMSException e)
    {
         e.printStackTrace();
    }
    }
  this method to send message:

    public void sendmessage (String text,QueueSession queuesession ,Queue queue)throws JMSException
    {
         QueueSender queuesender = queuesession.createSender(queue);
         TextMessage textmessage = queuesession.createTextMessage(text);
         queuesender.setDeliveryMode(DeliveryMode.PERSISTENT);
         queuesender.send(textmessage  );
         queuesender.close();
    }
    public static Context getInitialContext () throws JMSException,NamingException
    {
         Properties prop = new Properties();
         prop.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
         prop.setProperty("java.naming.factory.url.pkgs", "org.jnp.interfaces");
         prop.setProperty("java.naming.provider.url", "jnp://192.150.50.20:1099");
         Context context = new InitialContext(prop);
    return context;
    }
    }

 

 

But I got this exception:
  Exception in thread "main" javax.naming.communicationException
  [root java.lang.ClassNotfoundException:org.jboss.jms.client.jbossconnection
  <no security manager:RMI class loader disable>]
  at org.jnp.interfaces.NamingContext.lookup
  coused by: java.lang.ClassNotFoundException: org.jboss.jms.client.jbossconnectionFactory<no security manager:RMI class loader disable>
  at sun.rmi,security.loaderhandler.loadclass
  at java.io.ObjectInputStream.readnoproxydesc
  at java.io.ObjectInputStream.readclassDesc
  at org.jnp.interfacesmarshalledvaluepair.get

 

So any help?

Reply to this message by going to Community

Start a new discussion in JNDI and Naming at Community