我有以下pesudocode发送ProtocolBuffer Message.Builder到另一台机器:通过RMI
public void sendPB(ObjectId userId, Message.Builder mb) {
if (userId is logged in to server) {
set mb.ackId to random chars
lookup socket and send mb.build()
}
else {
forward message to user's server via RMI
}
}
问题是Message.Builders没有实现Serializable,所以无法通过RMI直接发送。
有没有简单的方法来做到这一点?
我已经尝试从构建器构建部分PB并发送过来,但为了重构它,您需要知道类型或描述符。描述符也不实现Serializable。
感谢