假設有一個訊息佇列,用于發送和接收訊息,并且是一個程式內部的訊息佇列,不是兩個程式之間的訊息佇列。
假設訊息佇列中的每一條訊息的資料結構如下,有兩個成員,一個是訊息型別,另一個是訊息內容,
struct MSG_ITEM {
int type;
xxx body; //??
};
我對body的型別定義有疑問,因為訊息有各種各樣的,不能用一個統一的型別來定義body。不知道在Java中如何解決這個問題。
我的一個猜測是使用位元組流來定義body,在發送訊息時,把某一個訊息型別序列化,成為位元組流,在接收訊息時,再把位元組流反序列化,組成某一個訊息型別。
注:我沒有學過Java,我學的是C++,在C++中,body可以定義成void*型別,在接收訊息時,可以把void*型別強制轉化成某一個訊息型別的指標
uj5u.com熱心網友回復:
java一般把訊息序列化成一個json字串,然后消費的時候用字串再轉成物件uj5u.com熱心網友回復:
我們有泛型??uj5u.com熱心網友回復:
object都可以裝吧。uj5u.com熱心網友回復:
如果是不同的佇列,泛型可以幫助你,如果同一個佇列,那就傳json串和類名過來uj5u.com熱心網友回復:
對于java來說,可以把json型別的字串轉換成對應的物件型別,所以body在java中一般定義為string型別轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/264954.html
標籤:Java SE
上一篇:spring boot+swagger3 集成后,發現base url 老是 /,而所有的介面,卻都全部帶著 背景關系!請問這個應該如何處理!?
下一篇:Tomcat啟動失敗
