[jboss-user] [JBoss Messaging] - Re: problems connecting to a Queue
jeuk
do-not-reply at jboss.com
Tue Mar 18 11:34:40 EDT 2008
still seem to have a problem I'm afraid.. I can now connect to the queue and send a message with
public boolean SendMessage(String server)
| {
| Properties props = new Properties();
| props.setProperty( "java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory" );
| props.setProperty( "java.naming.provider.url", server );
| props.setProperty( "java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces" );
| System.out.println("Got Props, connecting to " + server);
| try{
| String sQueueName = "queue/tnb/inbound";
| InitialContext ic = new InitialContext(props);
| Queue queue = (Queue) ic.lookup(sQueueName);
| QueueConnectionFactory factory = (QueueConnectionFactory)ic.lookup("ConnectionFactory");
| QueueConnection connection = factory.createQueueConnection();
| QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
| QueueSender qs = session.createSender(queue);
| TextMessage m = session.createTextMessage();
| m.setText("Hello world!");
| qs.send(m);
| qs.close();
| session.close();
| connection.close();
| }
| catch(Exception e)
| {
| e.printStackTrace();
| }
| return true;
| }
but when I try to read messages I get nothing
public boolean ReceiveMessage(String server)
| {
| Properties props = new Properties();
| props.setProperty( "java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory" );
| props.setProperty( "java.naming.provider.url", server );
| props.setProperty( "java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces" );
| try{
| String sQueueName = "queue/tnb/inbound";
| InitialContext ic = new InitialContext(props);
| Queue queue = (Queue) ic.lookup(sQueueName);
| QueueConnectionFactory factory = (QueueConnectionFactory)ic.lookup("ConnectionFactory");
| QueueConnection connection = factory.createQueueConnection();
| QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
| QueueReceiver qr = session.createReceiver(queue);
| Message m = qr.receive(3000);
| if(m!=null)
| {
| if(m instanceof TextMessage)
| {
| TextMessage tm = (TextMessage) m;
| System.out.println("Message. " + tm.getText());
| }
| }
| else
| {
| System.out.println("No message received.");
| }
| qr.close();
| connection.close();
| }catch(Exception e)
| {
| e.printStackTrace();
| }
| return true;
| }
|
I can see the messages in the JNDI viewer, so I know they're being sent to the queue.
Any ideas?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4137469#4137469
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4137469
More information about the jboss-user
mailing list