我已经在java swing中编写了一个自定义图形类,它将每5分钟从mssql服务器中提取数据并为我绘制。这是我的架构
TimerGraph< - DataSource(MSSQL)< - MSSQLManager< - main
我的TimerGraph将告诉DataSource何时请求新的数据点。
我的MSSQLDataSource具有查询特定变量,它与MSSQLManager通信以执行查询
我的MSSQLManager将连接到数据库并为我执行查询。
所以我的问题是可扩展性,当我需要从同一个数据库中绘制多个数据点但使用不同的变量时。我已实现它,以便每个MSSQLDataSource保存对同一MSSQLManager连接的引用,以便可以在同一个DB连接上执行相应的查询。
当我的计时器启动并从每个数据源请求一个新点,然后该数据源进入并请求从它引用的数据库连接执行查询时,实际上只进行了一次调用。 (当应该约~20左右)...
public static void main(String[] args) {
SpotCheck sc = new SpotCheck();
SwingUtilities.invokeLater(sc);
}
我的主应用程序有一个方法run()在单独的线程上执行并实例化我的TimerGraphs(我使用摆动计时器btw)。我使用CardLayouts根据所选的组合框项目显示正确的图形。如果JPanel在当前的CardLayout中不可见,那么swing定时器actionListeners是否仍会被执行?如果没有,是否可以制作它们?或者我遇到某种线程问题。
由于