2017-03-21 31 views
1

私はメッセージブローカー(この場合はウサギ)とcomunicateするためにwebstompを使用しています。stompメッセージが正しく送信されたかどうかを知る方法¿

私は以下の私がメッセージを書きたいときは:

import * as SockJS from 'sockjs-client'; 
let client = Stomp.over(new SockJS(serverAddress)); 
client.connect(user, pass, onConnect, onError); 
client.send('/exchange/amq.direct/test', {test: 'one', test2: 'two'}); 

このメッセージは、ウサギで正しく受信されたが、私はviasually以上のことを確認する方法を持っていると思います。次のようなもの:

client.send('/exchange/amq.direct/test', {test: 'one', test2: 'two'}) 
.then(() => {console.log('Message received correctly')}) 
.catch((err) => {console.log('Imposible send the message')}) 

これを行う方法はありますか?

ありがとうございました。

答えて

1

メッセージをパブリッシャからブローカに確実に転送できます。 (取引または確認を使用)。メッセージはブローカーからコンシューマーに確実に転送することもできます。 (謝辞を使用) これを組み合わせることで、パブリッシャーからコンシューマーへの信頼できる転送が提供されます。

したがって、この場合には、私はこのヘッダを追加する必要があります

{persistent: true} 

またはASトランザクションを使用します。

// start the transaction 
var tx = client.begin(); 
// send the message in a transaction 
client.send("/queue/test", {transaction: tx.id}, "message in a transaction"); 
// commit the transaction to effectively send the message 
tx.commit(); 
関連する問題