4
玩!吹捧它的異步HTTP處理功能,儘管我不清楚還有什麼是真正異步的(非阻塞和沒有線程切換。)在我讀的異步示例中,就像下面從Play!框架食譜:Play中的不同步程度如何?框架
public static void generateInvoice(Long orderId) { Order order = Order.findById(orderId); // #a InputStream is = await(new OrderAsPdfJob(order).now()); // #b renderBinary(is); }
他們專注於在#B長/昂貴的「商業邏輯」的一步,但我關心的是在DB在#A調用。事實上,大多數在許多應用程序的控制方法將只是嘗試做多CRUD到DB,如:
public static void generateInvoice(Long orderId) { Order order = Order.findById(orderId); // #a render(order); }
我特別關注使用「少量多次線程」的要求當提供此DB訪問模式時。
所以問題是
- 稱大王!會阻止對JDBC的調用?
- 如果我們在將來/ promise/await中打包這樣的調用,它會導致線程切換(除了由於DB調用的普遍性帶來的不便),對嗎?
- 有鑑於此,它的異步性與具有NIO連接器的Servlet服務器(例如,Tomcat + NIO連接器,但不使用新的事件處理程序)在服務此數據庫訪問模式時有何不同?
- 是否有任何計劃支持異步數據庫驅動程序,如http://code.google.com/p/adbcj/?
錯字標題。應該是'水平',而不是'leven' – babytune 2012-01-27 21:15:23