2

目前我正在使用 ActiveJDBC,据我所知,这是一个非常好的和有用的框架。但是我对它的 JDBC-Connection 管理有一些问题,因为它将打开的连接附加到当前线程。这意味着,如果我在程序初始化时打开连接,一切正常;但是如果我之后实例化一个 JFrame 并尝试在 ActionListener 中从/向数据库读取/写入数据,它将产生错误,因为没有连接到调度线程。

如何解决这个问题呢?我宁愿只有一个连接,我可以一直访问(通过 Base.connection()),而不是每个线程都连接一个连接..

提前致谢

4

1 回答 1

3

我建议您以这种方式实现动作侦听器:

public class AJListenerAdapter implements ActionListener{
  public void actionPerformed(ActionEvent e){
     Base.open(...);
     doPerform(ActionEvent e);
     Base.close(...);
  }

  protected abstract doPerform(ActionEvent e);
}

然后只需子类化这个适配器并实现该doPerform()方法。

此外,您可能希望使用池中的连接。这是一个示例 https://github.com/javalite/activejdbc/blob/master/activejdbc/src/test/java/org/javalite/activejdbc/C3P0PoolTest.java

于 2015-01-08T22:30:35.210 回答