我偶尔会设法使用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设备。所以,它不应该是网络的问题。可以告诉什么是错的?谢谢!
答案 0 :(得分:1)
异常表示应用程序中的某个线程正在为此发送线程调用Thread.interrupt()。