yep.... here is the snippet of code of some test code:
1) topicConnection = topicConnectionFactory.createTopicConnection();
2) topicConnection.setExceptionListener(new ExceptionHandler());
3) topicSession = topicConnection.createTopicSession(false,
Session.AUTO_ACKNOWLEDGE);
4) topic = topicSession.createTopic(topicName);
5) topicSubscriber = topicSession.createSubscriber(topic);
6) //topicListener = new TextListener();
7) //topicSubscriber.setMessageListener(topicListener);
8) System.out.println("Starting subscriber press CTRL+C to kill");
9) topicConnection.start();
10) // now lets wait forever to avoid the JVM terminating immediately
11) //Object lock = new Object();
12) //synchronized (lock)
13) //{
14) // lock.wait();
15) //}
16) while (true)
17) {
18) System.out.println("@@@@ " + topicSubscriber.receive
().toString());
19) //Thread.sleep(1000);
20) }
If I comment out lines 16-20, and uncomment lines 6-7 and 10-15 then
everthing works.....
On 9/11/06, Jonas Lim <[EMAIL PROTECTED]> wrote:
Hi,
Can you check if you're calling the connection's start method
(connection.start()) before calling the receive() method?
Regards,
Jonas
----- Original Message -----
From: "rabidgremlin" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, September 11, 2006 7:48 AM
Subject: receive() method not working on TopicSubscriber
> Hi All,
>
> I have a piece of code which sets up a TopicSubscriber with a
> MessageListener. This works fine.
>
> I'm now trying to poll the TopicSubscriber instead (it suits my code
> better).
>
> So now my code does not register a listener and simply calls receive()
on
> the TopicSubscriber.
>
> However this does not work :( The receive() method never returns.
>
> What do I need to do differently to get the receive() method to function
> correctly ?
>
> Thanks
>
> Jonathan
>