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. Hadoop:處理大型序列化對象
- 2. 將大型Java對象序列化爲Json字符串
- 3. 序列化對象大小?
- 4. Java和對象序列化
- 5. 序列化Java對象
- 6. 序列化java對象
- 7. 序列化Java對象CSV
- 8. 序列化/反序列化大對象單次Vs多次序列化/反序列化小對象?
- 9. 緩存大型對象並在需要時對它們進行序列化(Java)
- 10. 對象序列化
- 11. Java:在反序列化時,序列化的java對象和內存消耗的大小差別很大
- 12. 的Java GSON序列化和內部HashMap的反序列化對象(鍵,對象)
- 13. setAttribute:不可序列化的屬性(Java對象序列化)
- 14. 在Java中反序列化一個序列化的php對象
- 15. 序列化 - 如何保護序列化的JAVA對象?
- 16. 使用C#序列化Java可反序列化的對象
- 17. Java的「設置對象」,序列化/反序列化
- 18. Java-使用Xstream序列化不可序列化的對象
- 19. 反序列化ISODate對象到Java POJO
- 20. Java中的對象序列化
- 21. 與序列化對象的Java
- 22. 手動對象序列化在Java中
- 23. 反序列化Java中的JSON對象
- 24. Jruby on Rails java對象序列化
- 25. Java網絡對象序列化
- 26. 將對象序列化爲XML Java
- 27. 想知道Java對象 - json序列化
- 28. Java中的序列化對象
- 29. 反序列化的Java對象
- 30. 序列化對象返回null Java
可能是什麼尺寸? –
http://stackoverflow.com/questions/129695/java-serializing-a-huge-amount-of-data-to-a-single-file –
範圍從50MB到100MB – user1189332