2015-10-14 169 views
1

我想通過TCP傳輸Java POJO。通過副本tcp套接字發送Java對象

讓A和B成爲參與者,C1是它們之間的主要連接,C2是C1失敗時使用的另一個連接。

我有兩種對象:可靠和不可靠。

當C1斷開連接時,每個未傳送的對象和新的對象應通過C2發送。如果C1再次建立它將是主要連接,數據將流過C1。

參與者可能需要識別重複的對象。

我不太瞭解ESB。我看了一下Apache Camel。

哪些技術可以解決上述問題?例如駱駝可以做到嗎?它是否過度擁擠?

哪個標籤最能滿足上面問題的流行語?我要求更多的使用Google。

謝謝。

+0

這聽起來好像你正在尋找Tomcat集羣,這確實這個最適合你。 – EJP

回答

1

看看他們爲之設計的消息代理,如Apache ActiveMQ或Apache ActiveMQ Artemis。它們都允許插入自定義協議來將數據作爲Java對象,JMS,Stomp,AMQP等進行傳輸。

由於您需要Java POJO,因此JMS可以做到這一點,因爲它支持javax.jms.ObjectMessage作爲傳輸。請記住,使用POJO是系統之間的緊密耦合,並且您通常需要在它們之間具有相同的類(例如Java JAR),以便POJO可以作爲Java POJO通過線路串行化/反序列化回JVM。

Apache Camel使用JMS組件可以使JMS組件更加容易。

+0

我非常同意克勞斯對你的TCP傳輸選擇。我想推薦使用json格式來傳輸你的對象,因爲它的重量要輕很多,然後基於文本爲你打開大多數的傳輸選項。你可以很容易地用Gson將你的對象轉換成兩行。 Gson myConverter = new Gson(); String myJsonObject = myConverter.toJson(myObjectInstance); –