1

PHPプロジェクトでRabbitMQの代替品を探しています。これまでに検討している2つのオプションは、KestrelとQpidです(AMQPを使用することにした場合(これは避けたい))。RabbitMQでは、メッセージをエクスチェンジ(宛先)に送信できます。エクスチェンジ(宛先)は、メッセージを配信するキューまたはトピック(JMS用語)を決定します。STOMPサーバー(ActiveMQ / ApolloまたはHornetQ)を選択できないのは、STOMPでメッセージを宛先に送信して、メッセージを複数のキュー(JMS内)に配信できるかどうかがわからないことです。条項)?送信者は、メッセージを配信する必要があるキューを認識していないはずです。

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

4

3 に答える 3

1

HornetQでは、 Diverts(排他的および非排他的)を使用できます。STOMPメッセージは元のキューに到着しますが、hornetq-configuration.xmlで構成されている適切なキューに透過的に転送されます。

メッセージを適切なキューに分離するために、迂回を使用してフィルターを適用することもできます。

于 2012-04-05T14:37:54.820 に答える
1

ActiveMQのCompositeDestinationsと呼ばれるものを利用して、Stompまたは標準のJMSクライアントでこれを行うことができます。ストンプの宛先には、プレフィックスとして/ queue /文字列が付けられ、次に宛先の名前が付けられます。ActiveMQで仮想宛先を使用することもできます。そしてもちろん、ActiveMQのDestination文字列はワイルドカードをサポートできます。

于 2012-04-04T14:53:50.913 に答える
0

私自身も同じ質問に直面し、ActiveMQXMLの以下の構成で解決しました。

<destinationInterceptors>
 <virtualDestinationInterceptor> 
  <virtualDestinations> 
   <compositeQueue name="MY.QUEUE">
    <forwardTo>
     <queue physicalName="FOO" /> 
     <queue physicalName="BAR" />
    </forwardTo>
   </compositeQueue>
  </virtualDestinations>
 </virtualDestinationInterceptor>
</destinationInterceptors> 

http://activemq.apache.org/virtual-destinations.htmlを参照してください

于 2018-06-08T21:58:39.040 に答える