0

RabbitMQ を使用する Spring AMQP は初めてです。私は、この質問がより広い問題に対処していることを理解しています。コンシューマーに送信できるメッセージにオブジェクトのリストを保存したいと考えています。誰でもこの問題の簡単な解決策を提供できますか?

シリアル化が解決策になることは知っていますが、それは私が使用している単純なアプリケーションにとってはやり過ぎです。メッセージは本質的に非同期です。他のアプローチはありますか?

4

2 に答える 2

0

を使用できますMessageConverter。Spring RabbitMQ のドキュメントを参照してください: http://static.springsource.org/spring-amqp/docs/1.1.x/reference/htmlsingle/#d4e293

JsonMessageConverterおそらくあなたが探しているものがあります。

標準の Java シリアライゼーションとSimpleMessageConverter.

ドキュメントから:

With AMQP being a wire-level protocol, it would be unfortunate to lose
much of that advantage with such restrictions.

ドキュメントから抜粋したコード例を次に示します。

<bean class="org.springframework.amqp.rabbit.core.RabbitTemplate">
    <property name="connectionFactory" ref="rabbitConnectionFactory"/>
    <property name="messageConverter">
        <bean class="org.springframework.amqp.support.converter.JsonMessageConverter"/>
    </property>
</bean>

これを設定すると、リスト オブジェクトを JSON にシリアライズ/デシリアライズして戻すことができるようになります。

于 2013-05-19T16:01:37.310 に答える
0

AMQP は、1 つのタイプのメッセージ (バイナリ (バイト)) のみをサポートします。これは、オブジェクトをシリアル化する必要があることを意味します。

ただし、JSON、XML、または Java シリアライゼーションなど、シリアライゼーションのタイプを選択することはできます。

于 2012-07-29T21:24:00.200 に答える