【问题标题】:Solace throws Exception when publishing large volume of messagesSolace在发布大量消息时抛出异常
【发布时间】:2017-06-30 04:11:45
【问题描述】:

只有一次,我设法通过使用 JCSMP API 的 Direct Messaging 将大量消息成功发布到物理 Solace 设备。但是,大多数时候我都会遇到以下异常:

com.solacesystems.jcsmp.JCSMPTransportException: Error communicating with the router.
at com.solacesystems.jcsmp.protocol.impl.TcpClientChannel.sendPubMsgBuffer(TcpClientChannel.java:620)
at com.solacesystems.jcsmp.protocol.impl.TcpClientChannel.send(TcpClientChannel.java:564)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendMsgOnce(JCSMPXMLMessageProducer.java:1203)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendImpl(JCSMPXMLMessageProducer.java:1023)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendToDestination(JCSMPXMLMessageProducer.java:845)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendToDestination(JCSMPXMLMessageProducer.java:785)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.send(JCSMPXMLMessageProducer.java:610)
Caused by: java.lang.InterruptedException
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
   at java.util.concurrent.Semaphore.acquire(Semaphore.java:312)
   at com.solacesystems.jcsmp.protocol.smf.SSLSmfClient.doSmfSharedWrite(SSLSmfClient.java:476)
   at com.solacesystems.jcsmp.protocol.impl.TcpClientChannel.sendPubMsgBuffer(TcpClientChannel.java:605)

目前我正在尝试一一发布大约 400 条消息。我认为这是网络问题,但我通过 LAN 电缆连接到 Solace 设备。所以,应该不是网络的问题。能指教有什么问题吗?谢谢!

【问题讨论】:

    标签: solace


    【解决方案1】:

    该异常表明您的应用程序中的一个线程正在为此发送线程调用 Thread.interrupt()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多