当前位置: 首页 > 面试题库 >

从JMS侦听器类以编程方式更新某些视图

奚修伟
2023-03-14
问题内容

我能够集成ActiveMQ并在OpenXava应用程序中创建JMS使用者。现在,我需要使用消息中接收到的数据更新某些临时视图,例如,它有几个问题需要考虑…如何从JMS侦听器Java类转到将更改推送到当前视图?…并且假设特定视图是当前视图!!,但是当前视图可以是整个应用程序中几种可能的视图中的任何一个!…是吗?是吗?…然后我确实认为,我会将JMS消息持久保存到某个实体中(作为DB中的临时存储),即使这样会导致性能降低,但是之后……我将如何推动最近的更改如果某些用户正在查看过渡视图。

我曾经使用启用了Ajax的JSF实现来构建Webapp,然后可以在JMS侦听器中接收消息,然后获取jsf托管Bean参考,并使用Ajax
push刷新可能由一个或多个打开的所有会话。有几个用户正在查看该应用程序,因此这总是产生一种实时应用程序,该应用程序会更新任何打开的视图(如果该视图是用户正在观看的视图)。

因此,有没有一种方法可以在我的OX应用程序中使用JMS侦听器类来实现?

提前致谢,


问题答案:

一个选项可以使用JavaScript定期调用,以了解是否在表中添加了新记录,或者是否刷新了新记录。

如果您是liferay,可以使用JavaScript代码在该页面中创建portlet。该代码可以使用DWR进行调用,并且如果有新数据,则可以直接调用“
CRUD.refresh”操作。

像这样:

refreshData = function() {
   openxava.executeAction('YourApplication', 'YourModule', '', false, 'CRUD.refresh')
   setTimeout('refreshData()', 5000);
}
setTimeout('refreshData()', 5000);

我没有测试此代码,因此肯定无法按原样工作。把它当作一个想法。

真的,这是一个肮脏的把戏。理想的情况是OpenXava将直接支持彗星,您只需调用服务器中的方法就可以完成。您是否认为增加对OX的彗星支持价值?



 类似资料:
  • 我有一个JPA(Hibernate)项目,其中包含从XML orm.XML和Beans创建的实体,我有一个EntityManager和update、persist、remove、findById、findAll方法,但我需要添加一个过滤器监听器来检查保存、还原等之前和之后的Beans(我需要将一些值设置为null以返回客户机) 问候。

  • 1天前 嗨,当试图根据http://wso2.org/project/esb/java/4.0.3/docs/samples/transport_samples.html/sample250使用wso2 esb侦听来自JMS队列的消息时,我遇到了一个异常,如下所示 XML解析错误:格式不正确的位置: org.apache.axis2.axisfault:系统无法从jms://jmslistener

  • 我有一个可流动的工作流,我需要在某个阶段暂停,然后根据JMS消息从JMS监听器重新启动相同的工作流。

  • 我使用JMS从IBM MQ message Broker发送接收消息。我目前正在处理侦听器服务,抛出未处理的异常和消息发送回队列而没有确认。我希望服务重试一个可配置的次数,并抛出表示监听器服务不可用的完全异常消息。 我的监听器和容器工厂如下所示。

  • 问题内容: 我们有一个Java侦听器,它从JBossMQ的队列中读取文本消息。如果必须重新启动JBoss,则侦听器将不会重新连接并重新开始阅读消息。我们只是每2分钟在侦听器的日志文件中收到一条消息,指出该消息无法连接。我们在代码或JBossMQ中没有设置什么吗?我是JMS的新手,因此将非常感谢您的帮助。谢谢。 问题答案: 您应该在客户端代码中实现javax.jms.ExceptionListene

  • 我有Spring启动应用程序,它通过注释从组件类中侦听 IBM MQ 队列。MQ 属性(主机名、通道、端口等)是从 yaml 文件设置的。 MQ 依赖项在分级构建中添加,如下所示: 这可以正常工作,只要我使用Tomcat容器在本地运行应用程序即可侦听消息。但是,如果我将其打包为 EAR 并部署到 Wesbphere8.5 服务器,它将引发以下异常,并且侦听器未从队列中读取消息。我确认所有运行时依赖