我使用JMS topic (与非持久订阅者一起)向客户端报告服务器端处理的进度。应用服务器本身是WildFly 8.2,客户机是JavaFX应用程序。
在服务器端处理每个特定里程碑(比方说:完成的工作的十分之一),JMS消息被发送到客户端订阅的主题。其思想是,当接收到JMS消息时,它可以用于向前驱动“进度条”。
我的问题是,某种缓冲发生在系统的某个地方,大概在服务器端。处理本身是一个较长的1,10至30秒,并且消息被发送到-according队列到日志-大致平均,1到3秒。
然而,在客户端,所有消息都是在非常短的时间内接收到的,通常是在整个处理结束时,通常在0.5秒以内。
如何使用JMS消息传递来表示实时进度?
发布于 2015-04-15 14:08:57
正如我在一篇评论中所写的,尼古拉斯是对的。事务属性必须设置为TransactionAttributeType.REQUIRES_NEW。这样,消息传递bean就可以立即发送JMS消息,而无需等待处理bean。
https://stackoverflow.com/questions/29560107
复制相似问题