我已經通過spring amqp使用POJO設置了基本的請求/回覆消息,並且這些通過JSON消息轉換器通過RabbitMQ進行交換。應該將圖像在JSON消息中進行base64編碼還是在Spring AMQP中作爲BytesMessage返回?
我的迴應POJO的負載到目前爲止都是簡單的字符串,但現在我需要回復一個圖像有時。
Q1)處理這個問題的最佳方法是什麼?該圖像是否應該作爲JSON消息的有效負載字符串進行base64編碼?
Q2)是否可以簡單地將圖像作爲BytesMessage返回?
Q2.a)spring-amqp能夠處理兩個單獨的偵聽器,一個返回POJO,另一個返回BytesMessage?我想不會,但這裏的一些僞代碼周圍就是我要問:
<listener-container>
<listener ref="requestHandlerA" method="handleMessage" queue-names="#{requestQueue.name}" />
<listener ref="requestHandlerB" method="handleMessage" queue-names="#{requestQueue.name}" />
</listener-container>
public class RequestHandlerA {
public ResponseDelegatePojo handleMessage(RequestDelegatePojo requestDelegate) {...}
}
public class RequestHandlerB {
public BytesMessage handleMessage(RequestDelegatePojo requestDelegate) {...}
}
Q2.b)或者......如果消息監聽返回一個對象(可能是一個POJO有時,可能是在BytesMessage其他時間)... spring-amqp框架能夠在運行時相應地進行調整,以便有時將POJO序列化爲json,而其他時間BytesMessage 原樣爲?