2016-04-28 21 views
0

非常に単純なプロデューサタイプのプログラムで、ByteMessageをトピックに送信しようとしています。保証のあるメッセージをsolace JMS経由で送信しない方法

は私のプログラムはcom.solacesystems.jms.ConfigurationException: Error sending message - operation not supported on router (Cannot send assured message: Assured message delivery is not enabled on this channel.)

がどのように送信されたメッセージが確実なメッセージではないことを確実に行くのですエラーを受信して​​いますか?これはいくつかの慰めの構成変数ですか?ここでは、単純なJMS関連するコードは、Imはbytesは、私が送信しようとしているオブジェクトです使用しようとしている。

val connection = connectionFactory.createConnection() 
val session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE) 
val publishDestination = session.createTopic(solace.TOPIC) 
val message = new SolBytesMessage() 
message.writeBytes(bytes) 
val producer = session.createProducer(publishDestination) 
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT) 
log.info("Sending message") 
producer.send(publishDestination, message) 

答えて

0

Direct Transportがアプライアンスに接続工場出荷時の設定にチェックされていることを確認してください。

JMS Connection Factory setting page in SolAdmin's

接続ファクトリでDirect Transport設定は、非永続メッセージに使用するトランスポートを制御します。

+0

ダイレクトトランスポートを有効にしないでメッセージを送信する方法はありますか? – Zee

+0

これは私の答えを100%解決しませんでしたが、解決策クライアントを介して私の設定を変更することが解決策でした。 – Zee

関連する問題