【问题标题】:JBoss 5.1 - TopicConnection.createTopicSession hangs sometimesJBoss 5.1 - TopicConnection.createTopicSession 有时会挂起
【发布时间】:2014-02-06 14:10:55
【问题描述】:

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

环境: JBoss5.1、jdk1.6.0_45、RHEL 5.8、戴尔虚拟机

下面是代码。

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

TopicConnection _connection = _factory.createTopicConnection();

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

Topic _topic = (Topic)context.lookup(s);

TopicPublisher _publisher = _session.createPublisher(_topic);

_connection.start();

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

【问题讨论】:

    标签: java jakarta-ee jboss jms rhel


    【解决方案1】:

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

    此程序在服务启动期间执行。线程休眠 1 秒后,现在可以正常工作了。

    变更前

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

    TopicConnection _connection = _factory.createTopicConnection();

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

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

    TopicPublisher _publisher = _session.createPublisher(_topic);

    _connection.start();

    更改后

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

    TopicConnection _connection = _factory.createTopicConnection();

    线程.sleep(1000); //引入这一行后,就可以正常使用了。

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

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

    TopicPublisher _publisher = _session.createPublisher(_topic);

    _connection.start();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      相关资源
      最近更新 更多