Haitham Safi
2013-02-25 19:39:29 UTC
Haitham Safi [https://community.jboss.org/people/haithamnor] created the discussion
"How to connect to remote queue?"
To view the discussion, visit: https://community.jboss.org/message/799447#799447
--------------------------------------------------------------
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
[https://community.jboss.org/message/799447#799447]
Start a new discussion in JNDI and Naming at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2083]
"How to connect to remote queue?"
To view the discussion, visit: https://community.jboss.org/message/799447#799447
--------------------------------------------------------------
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
[https://community.jboss.org/message/799447#799447]
Start a new discussion in JNDI and Naming at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2083]