[英]How to optimize connection managment in ActiveJDBC?
我使用 ActiveJDBC 作為 Hibernate 的替代品。 每當我運行應用程序時,我都會使用過濾器來啟動連接,但即使應用程序不需要連接,連接也會存在。 此外,當我嘗試通過 findBySQL 方法運行任何查詢時,它還會在后台調用獲取連接。 有沒有辦法優化與數據庫的連接? 有時可能會有很多查詢,因此每次調用查詢時打開和關閉連接可能對性能不利。 如果有任何方法或者我錯過了一些重要的理解點,請告訴我。
您可以在AppControllerConfig
class 中使用細粒度方法。 這是一個商業項目的例子:
public class AppControllerConfig extends AbstractControllerConfig {
public void init(AppContext context) {
add(new CatchAllFilter());
add(new DefaultApiHeadersFilter());
add(new DBConnectionFilter("default", true)).to(
GroupsController.class,
UsersController.class,
SubjectsController.class,
ChaptersController.class,
LessonsController.class,
LessonItemsController.class,
JournalItemsController.class,
GalleryItemsController.class
);
}
}
如您所見,您可以將DBConnectionFilter
應用於特定的控制器。 此示例中的 arguments 將告訴DBConnectionFilter
自動管理默認連接的事務。
此外,您可以准確指定哪些操作需要數據庫連接,如下所示:
add(new DBConnectionFilter("events", false)).to(FlowsController.class).forActions("report", "report_details", "webhook_test");
如果您想要相反,您可以將過濾器應用於所有操作,除了一些:
add(new DBConnectionFilter("default", true).to(TemplatesController.class).excludeActions("thumbnail");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.