Vertx工人verticle池我是新來的Vert.x,我想實現輔助verticles池要使用BoneCP數據庫查詢。不過,我對如何「調用」它們的工作以及如何在它們之間共享BoneCP連接池有點困惑。對於JDBC
我在Vertx DeploymentManager source中看到,start(Future)
方法被同步調用,然後Verticle保留在內存中直到取消部署。在start
方法完成之後,在工作者Verticle上調用方法的正確方法是什麼?如果我部署Verticle的多個實例(使用DeploymentOptions.setInstances()
),Vertx會在它們之間進行負載平衡嗎?
我看到Vert.x帶有一個JDBC客戶端和工作池,但它限制了數據類型,我可以,因爲它使用的EventBus和序列化由數據庫返回的所有數據進行工作。我需要處理許多不同的數據類型(包括日期,BigDecimals和二進制對象),我想盡可能避免序列化,而是在工作者Verticle中進行查詢,處理結果並通過Future或AsyncResult返回對象(我相信這是在堆上完成的,所以不需要序列化;這是正確的嗎?)。
請幫我理清所有這些問題:)如果你給我,我怎樣才能使這項工作的例子,我將非常欣賞的!
謝謝!
感謝您的幫助。爲了處理請求,我將在事件總線上使用偵聽器設置我的Verticle,但我仍然需要處理如何在它們之間共享jdbc連接池。我想在Vert.x中實現這個功能來學習框架,並利用異步I/O來以更少的資源處理大量請求。 – rober710