0

我正在使用java1.6和spring。我有 oracle11g 数据库。我正在Connection为我的 bean 设置对象start up

public  class MyBean{


//This value will be set during applicaiton context startup
Connection connection;

}

所以这里 Connection 对象仅在应用程序上下文期间设置。My question is consider my application acquired connection and connection object is initialized. After that if something happens on database end and connection is broken. 现在,由于我的 bean 已经包含连接对象,如果我尝试使用相同的连接对象,那么我有什么问题吗?因为由于数据库重新启动或其他原因,该连接已经丢失。我该如何克服这个问题?我没有使用任何连接池机制。我正在使用普通JDBC的 .

谢谢!

4

1 回答 1

0

我强烈建议您使用连接池。在同一个函数中,您应该从数据源获取连接,使用它,并在 try/catch/finally 块中尽快关闭它。你不应该坚持连接。这是个坏主意。除其他外,数据库仅作为有限数量的连接来分发。不要霸占他们。

与保持连接相比,不要担心无数次使用和关闭池连接会造成任何性能损失。这就是它的设计目的。您应该在函数中使用 try/catch/finally 块并在 finally 块中关闭连接。

于 2013-10-30T13:28:38.683 回答