我目前正在开发一个JMS系统。我已经能够开发发布者(JSF),订阅者(MDB),我可以从MDB的onMessage
方法将JMS消息打印到控制台。
我的问题是我无法在视图中显示它们:JSF,Applet或JTextArea swing。
如何从MDB的onMessage方法调用给定applet的JTextArea?我试图从MDB实例化一个Applet对象
ex:TestApplet tst = new TestApplet()
:
然后进入onMessage
方法,在将邮件提取到testMessage
变量后,我尝试了:tst.textAtrea.append(testMessage);
我从容器中收到错误。
除了上面的例子,我还要感谢我的问题的任何其他解决方案(只是想在视图中显示JMS消息,而不仅仅是在控制台上)
答案 0 :(得分:0)
从MDB调用applet的一部分是个坏主意。在onMessage方法成功执行之前,不会消耗消息。我宁愿尝试将消息放在一些存储系统(文件或数据库)中,然后从这些资源中显示。
答案 1 :(得分:0)
在您的方案中,您无法将MDB与Swing客户端一起使用。
相反
MessageListener
,那么您也可以使用onMessage
方法。任何其他客户端类型(JSF,applet)将更加困难。