The mapMessage.getString() is allways null in the following run method of a Thread. The same in the MDB direct outputs data.
public void run() {
while (true) {
try{
System.out.println("run...");
Message msg = getSubscriber().receive(0);
MapMessage mapMessage = (MapMessage) msg;
String rssfeed = mapMessage.getString("rssfeed");
this.applet.rssfeed = rssfeed;
System.out.println("feed: " + rssfeed);
}catch(Exception e){
e.printStackTrace();
}
applet.repaint();
}
}
<message-driven> <ejb-name>RssMessageBean</ejb-name> <ejb-class>ejb.RssMessageBean</ejb-class> <transaction-type>Container</transaction-type> <acknowledge-mode>Auto-acknowledge</acknowledge-mode> <message-driven-destination> <destination-type>javax.jms.Topic</destination-type> <subscription-durability>NonDurable</subscription-durability> </message-driven-destination> </message-driven>
<message-driven> <ejb-name>RssMessageBean</ejb-name> <configuration-name>Standard Message Driven Bean</configuration-name> <destination-jndi-name>topic/RssTopic</destination-jndi-name> </message-driven>