2017-06-21 144 views
0

只有一段時間,我設法通過使用JCSMP API將直接消息發送到物理Solace設備來成功發佈大量消息。然而,大部分時間我得到以下例外:當發佈大量消息時,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設備。所以,它不應該是一個網絡問題。可以建議什麼是錯的?謝謝!

回答

1

該異常表明您的應用程序中的線程正在爲此發送線程調用Thread.interrupt()。

相關問題