jxie,
For example a method that creates a connection to a broker and registers
a listener and starts the connection:
protected Connection createConnection(String topicName, String clientID,
String url)throws Exception{
TopicConnectionFactory conFactory = new
ActiveMQConnectionFactory(url);
TopicConnection connection = conFactory.createTopicConnection( );
TopicSession subSession = connection.createTopicSession(false,
Session.AUTO_ACKNOWLEDGE);
TopicSubscriber subscriber = subSession.createSubscriber(chatTopic);
subscriber.setMessageListener(this);
<---------------------------------- here is your listener, it will
automagically call the onMessage() method.
connection.start();
}
Adrian Co wrote:
Just set it as the message listener of your consumer and start the
connection that created the consumer and it should be automatically
registered with the JMS broker. or I might be misunderstanding your
problem...
jxie wrote:
I do have a class implement MessageListener as indicated by the
following
code:
public class BBSFileHandler implements MessageListener {
public void onMessage(final Message message) {
}
}
I don't know how to register this in standalone ActiveMQ. Don't I
have to
add some configuration parameters?
Adrian Co wrote:
One option is to use the JMS API.
http://java.sun.com/javaee/5/docs/api/javax/jms/MessageConsumer.html#setMessageListener(javax.jms.MessageListener)
jxie wrote:
So I have to register the message listener. I don't know how to do it.
Would
you please give me some examples including configuration files.
Adrian Co wrote:
After you set the message listener, starting the connection should
register your listener to the broker.
jxie wrote:
How do I make activemq to start a message listener (onMessage)
automatically
afte it is started? Now I embedded ActiveMQ with Tomcat, I want to
seperate
ActiveMQ from Tomcat so I can run one Tomcat instance and one
ActiveMQ
instance in a multiple CPU machine.
James