ActiveJdbc open/close 数据库架构
ActiveJdbc open/close Db architecture
我正在使用 ActiveJdbc 构建一个网络应用程序。一切都很完美。
我只是 "problem" 我的架构。
使用 Spring 4,我有一个过滤器,我可以在其中打开连接,做我必须做的然后关闭它。
try {
Base.open(ConnectionPool.getInstance().getConnection(dbName));
Base.openTransaction();
chain.doFilter(req, resp);
Base.commitTransaction();
} catch (IOException | ServletException e) {
Base.rollbackTransaction();
Logger.logMsg(Logger.ERROR, e.getMessage());
throw e;
} finally {
Base.close();
}
问题是我有:
- 一些不需要连接的控制器。
- 需要连接以实例化单例的调度程序
- 根据某些参数可能需要连接的其他一些 类。
结果是我在好几个地方都有上面的这段代码。有没有更好的方法只在一个地方进行连接?
JavaLite 在 opening/closing 不同控制器的连接方面具有相当大的灵活性:http://javalite.io/database_configuration#bind-connections-to-controllers
但是,由于您没有使用 ActiveWeb,因此您必须编写自己的逻辑。基本上,在您的 ServletFilter 中,您需要检查 URI,然后决定是打开连接还是跳过连接。
我正在使用 ActiveJdbc 构建一个网络应用程序。一切都很完美。 我只是 "problem" 我的架构。
使用 Spring 4,我有一个过滤器,我可以在其中打开连接,做我必须做的然后关闭它。
try {
Base.open(ConnectionPool.getInstance().getConnection(dbName));
Base.openTransaction();
chain.doFilter(req, resp);
Base.commitTransaction();
} catch (IOException | ServletException e) {
Base.rollbackTransaction();
Logger.logMsg(Logger.ERROR, e.getMessage());
throw e;
} finally {
Base.close();
}
问题是我有: - 一些不需要连接的控制器。 - 需要连接以实例化单例的调度程序 - 根据某些参数可能需要连接的其他一些 类。
结果是我在好几个地方都有上面的这段代码。有没有更好的方法只在一个地方进行连接?
JavaLite 在 opening/closing 不同控制器的连接方面具有相当大的灵活性:http://javalite.io/database_configuration#bind-connections-to-controllers
但是,由于您没有使用 ActiveWeb,因此您必须编写自己的逻辑。基本上,在您的 ServletFilter 中,您需要检查 URI,然后决定是打开连接还是跳过连接。