java - JBoss 5.1 - TopicConnection.createTopicSession 有时会挂起

标签 java jakarta-ee jboss jms rhel

TopicConnection.createTopicSession 有时会在一个环境中挂起,但工作正常 在另一个环境中。

环境:JBoss5.1、jdk1.6.0_45、RHEL 5.8、Dell VM-ware

下面是代码。

TopicConnectionFactory_factory = (TopicConnectionFactory)context.lookup("java:JmsXA");

TopicConnection_connection = _factory.createTopicConnection();

TopicSession _session = _connection.createTopicSession(false, 1); --这是它挂起的地方。

主题_topic = (主题)context.lookup(s);

TopicPublisher _publisher = _session.createPublisher(_topic);

_connection.start();

我觉得这可能是一些与服务器配置相关的问题。请提出您的建议。

最佳答案

这是 Jboss 消息传递初始化进程与 Web 应用程序进程之间的竞争条件。

该程序在服务启动期间执行。线程 sleep 1 秒后,现在工作正常。

更改前

TopicConnectionFactory_factory = (TopicConnectionFactory)context.lookup("java:JmsXA");

TopicConnection_connection = _factory.createTopicConnection();

TopicSession _session = _connection.createTopicSession(false, 1);//这是它挂的地方。

主题_topic = (主题)context.lookup(s);

TopicPublisher _publisher = _session.createPublisher(_topic);

_connection.start();

更改后

TopicConnectionFactory_factory = (TopicConnectionFactory)context.lookup("java:JmsXA");

TopicConnection_connection = _factory.createTopicConnection();

Thread.sleep(1000);//引入这一行后,就可以正常工作了。

TopicSession _session = _connection.createTopicSession(false, 1);

主题_topic = (主题)context.lookup(s);

TopicPublisher _publisher = _session.createPublisher(_topic);

_connection.start();

关于java - JBoss 5.1 - TopicConnection.createTopicSession 有时会挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21477139/

相关文章:

eclipse - 将 Web 项目从 Webshpere 7.0 迁移到 Eclipse Java EE IDE/Tomcat 8.0

java - 如何使用 Jersey JAX-RS 返回结果集?

java - 通过 tcp/ip 的 jdbc 比在本地机器上慢得多

Java:枚举:NoClassDefFoundError

java - 如何创建闪光灯和频闪效果。需要帮助来修复频闪效应

java - inAppBilling v3 中的 NullPointerException

java - 将 Flash 文件上传与 JSF 集成

file - Java EE、EJB 文件处理

tomcat - 如何获取tomcat ApplicationContextFacade的工作目录

Java 重绘在某些情况下很慢