I have a servlet called MailAccountServlet that sends messages to a JMS topic and reads those messages through onMaessage(). A client (MessagingClient.java) calls the servlet. If I give no arguments to MessagingClient, the client sends a message "test" to the servlet which published that message to the "topic/testTopic" queue. If I give an argument to the MessigingClient, that client calls the servlet which registers a durable subscriber (program argument is the client name). Afer registering durable subscriber, I use the MessigingClient to send "test" again. Than I call the MessigningClient in the subscriber mode (registering durable subscriber). At this stage the onMessage(Message msg) should be called since the subscriber is durable. But it is never called. Why?