It's not a secret anymore!
The moose likes EJB and other Java EE Technologies and the fly likes Trying to write a jms client to receive as message Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Trying to write a jms client to receive as message" Watch "Trying to write a jms client to receive as message" New topic

Trying to write a jms client to receive as message

Anthony Smith
Ranch Hand

Joined: Sep 10, 2001
Posts: 285
I am trying to write a JMS client and this is all the known info that I have...

JNDI Context URL: tibjmsnaming://
JNDI Context Factory: com.tibco.tibjms.naming.TibjmsInitialContextFactory
Queue Connection Factory : QueueConnectionFactory
QueueName : ESE.LAC.MSGS
JMS Property Names:

I tried to get it started, but really do nto know what to do:

import javax.naming.*;
import javax.jms.*;

public class JMS


String jndiContextUrl = "tibjmsnaming://";
String jndiContextFactory = "com.tibco.tibjms.naming.TibjmsInitialContextFactory";
String queueConnectionFactory = "QueueConnectionFactory";
String queueName = "ESE.LAC.MSGS";
private QueueConnectionFactory qFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueSender qsender;
private Queue queue;
private TextMessage msg;

public JMS()

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, jndiContextFactor);
env.put(Context.PROVIDER_URL, jndiContextUrl);

InitialContext jndiContext = new InitialContext(env);

qFactory = (QueueConnectionFactory) jndiContext.lookup(queueConnectionFactory);

queue = (Queue) jndiContext.lookup(queueName);

qreceiver = qsession.createReceiver(queue);


Brian Tinnel
Ranch Hand

Joined: Aug 25, 2003
Posts: 69
A couple of things I noticed:

You never created a qsession. So I would expect the line that has qreceiver = qsession.createReceiver(queue) would get an NPE. For just playing around a simple session is probably okay. Like:

By calling setMessageListener(this) you are saying that the JMS class is a message listener, but it does not implement the MessageListener interface. Do that and you will need to write an onMessage method that will be called when a message arrives.

Hopefully, that is enough info to get you going.
I agree. Here's the link:
subject: Trying to write a jms client to receive as message
It's not a secret anymore!