Vertx 3新手。我正在使用Java API。該用例用於通常處理大對象(POJO)的報告應用程序。這些POJO包含要導出爲PDF,CSV等的數據,這些通常是地圖列表。 我想知道如果我不得不通過EventBus異步地將數據傳遞給不同的Verticle,那麼將會產生序列化/反序列化的代價。在處理大對象時是否有任何提示/技巧,這樣我們就不會爲序列化/反序列化造成巨大的開銷?Vertx 3 - Java序列化大型對象
0
A
回答
0
您可以部署匿名工人verticle做到這一點:
假設LongOperatingVerticle是處理你的POJO的的verticle:
class LongOperatingVerticle extends AbstractVerticle {
@Override
public void start() {
final String pojo = "Very long file...";
final Future<String> f = Future.future();
// Anonymous verticle in worker mode
this.vertx.deployVerticle(new AbstractVerticle() {
@Override
public void start() throws Exception {
Thread.sleep(5000);
f.complete("Ok");
}
}, new DeploymentOptions().setWorker(true));
System.out.println("Will wait now");
f.setHandler((e) -> {
System.out.println(e.result());
});
}
}
0
我認爲這是壞主意通過EventBus送什麼大。你可以使用vertx SharedData,並只發送你的對象的id。
LocalMap<String, LargeObject> map = vertx.sharedData.getLocalMap("uniq-map-id");
map.put("unique-id", data);
vertx.eventBus.send(ADDRESS, "unique-id");
相關問題
- 1. 序列化爲JSON大型JS對象
- 2. Hadoop:處理大型序列化對象
- 3. 將大型Java對象序列化爲Json字符串
- 4. Java對象序列化java.io.UTFDataFormatException
- 5. 序列化對象大小?
- 6. Java可序列化對象
- 7. 序列化Java對象
- 8. 序列化java對象
- 9. Java和對象序列化
- 10. 序列化Java對象CSV
- 11. Java - 序列化對象中的序列化對象的問題
- 12. 序列化/反序列化大對象單次Vs多次序列化/反序列化小對象?
- 13. 緩存大型對象並在需要時對它們進行序列化(Java)
- 14. 反序列化對象列表java
- 15. Java序列化,Kryo和對象圖
- 16. 如何在java中序列化/反序列化對象列表?
- 17. 對象序列化
- 18. Java:在反序列化時,序列化的java對象和內存消耗的大小差別很大
- 19. 的Java GSON序列化和內部HashMap的反序列化對象(鍵,對象)
- 20. setAttribute:不可序列化的屬性(Java對象序列化)
- 21. 在Java中反序列化一個序列化的php對象
- 22. 使用C#序列化Java可反序列化的對象
- 23. Java的「設置對象」,序列化/反序列化
- 24. 將Java序列化對象反序列化爲Scala類
- 25. Java-使用Xstream序列化不可序列化的對象
- 26. 序列化 - 如何保護序列化的JAVA對象?
- 27. JAVA嵌套對象的XML序列化
- 28. Java對象序列化性能提示
- 29. Java中的序列化對象
- 30. 反序列化ISODate對象到Java POJO
可能是什麼尺寸? –
http://stackoverflow.com/questions/129695/java-serializing-a-huge-amount-of-data-to-a-single-file –
範圍從50MB到100MB – user1189332