vertx eventbusでPOJO Codecを使用することを確認
vertxのeventbusを書き込むときにBufferやJsonObjectタイプではなくPOJOクラスを作成し、タイプが安全な方法でメッセージを送信する場合はCodecを使用します.
送信される情報が多様化するため,タイプの定性を考慮せざるを得ないため,POJO CODECを用いる方式を考えたが,javadocでは以下のような内容が言及されている.
うん.仕方なくJsonObjectで塗るしかないですか?
「このようなインスタンスは、他のスレッドで同時に使用できるため、スレッドを安全にする必要があります.」(同じメモリアドレスを参照しているので、Thread-Safe…)
https://vertx.io/docs/apidocs/io/vertx/core/eventbus/MessageCodec.html
代替案を提案した場合(わずかなタイプの推論でも容易に実現でき、メンテナンス性も優れています)、転送前に用意されたデータはDTOクラスを指し、転送前にDTOをgson(com.google.gson.gson)ライブラリのjsonに変換し、eventbusを転送する際に追加される可能性のあるフィールドは厳格なルールを制定して記録される. eventbusアドレスの対応する部分を定数化します.sendとconsumerpairは追跡しやすくなりました.
https://medium.com/@levidoro/vert-x-event-bus-send-any-object-with-generic-codec-t-a0bc1feab13a
送信される情報が多様化するため,タイプの定性を考慮せざるを得ないため,POJO CODECを用いる方式を考えたが,javadocでは以下のような内容が言及されている.
うん.仕方なくJsonObjectで塗るしかないですか?
「このようなインスタンスは、他のスレッドで同時に使用できるため、スレッドを安全にする必要があります.」(同じメモリアドレスを参照しているので、Thread-Safe…)
https://vertx.io/docs/apidocs/io/vertx/core/eventbus/MessageCodec.html
代替案を提案した場合(わずかなタイプの推論でも容易に実現でき、メンテナンス性も優れています)、
public class Constants {
public static final EB_SAMPLE_ADDR = "sample.addr.service";
...
}
また、POJO符号化デコーダを使用する場合、以下のリンクで説明する方法で実現すると、簡潔になるはずです...https://medium.com/@levidoro/vert-x-event-bus-send-any-object-with-generic-codec-t-a0bc1feab13a
Reference
この問題について(vertx eventbusでPOJO Codecを使用することを確認), 我々は、より多くの情報をここで見つけました https://velog.io/@frjufvjn/vertx-eventbus에-POJO-코덱을-쓰기-검토テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol