我的 Java 程序在 VMWare-Windows-Server 上运行,它连接到 SOA 总线并从DurableSubscriber
. 它运行了 2 年没有问题。
自上周以来,它无法收到任何消息。在调试模式下(连同服务器端),我们发现了问题。如果消息“太大”,则连接断开。我们试过7MB,没问题,12MB失败。普通消息只有大约2KB。
未找到错误消息。
我们的假设是:
- 堆大小
- 暂停
但我真的不知道如何解决它们。有人可以帮我吗?谢谢!
这里有一些代码:
TopicConnectionFactory factory = (TopicConnectionFactory) context.lookup(Topic_Access_Params.getChild("JNDI_Name").getText());
TopicConnection conn = factory.createTopicConnection(
Topic_Access_Params.getChild("Security_Principal").getText(), Topic_Access_Params.getChild("Security_Credentials").getText());
TopicSession session = conn.createTopicSession(false, Session.CLIENT_ACKNOWLEDGE);
Topic topic = (Topic) context.lookup(Topic_Access_Params.getChild("Topicname").getText());
TopicSubscriber subscriber = session.createDurableSubscriber(topic, Topic_Access_Params.getChild("Durable_Subscr_Name").getText());
MessageHandler handler = new MessageHandler(saxHandler);
subscriber.setMessageListener(handler);
conn.start();