这不是很明显吗?
closeConnection(Connection connection)这个方法里无论如何都会把连接close掉,而连接池实际上应该只是释放连接而并非直接把连接关掉。真正关掉连接的 *** 作应该在关闭连接池的时候或者更为有效的连接管理策略中。
1、采用public static的变量存储这一数值,每个线程都往这一共有静态变量里写入已复制大小。 2、采用Callable方式实现多线程,将结果作为返回值返回到主线程。这一方法只能在所有子线程都完成之后才能通过future获取。
创建数据库
选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。
在对象资源管理器窗口中展开服务器,然后选择数据库节点
右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。
执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。
在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。
切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到文件组页,在这里可以添加或删除文件组。
完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。
这个问题不知道是你没说清楚还是我没看明白不过简单的实现以下还是比较简单的
既然多线程,那么,不同的保存方式就是两个不同的线程
然后你在调用的时候new 出来这个d对象,然后运行这个d对象,就可以开了一个线程执行了
interface A{boolean 保存(Entity entity);
}
class B implements A{
public boolean 保存(Entity entity){
//文件保存
}
}
class C implements A{
public boolean 保存(Entity entity){
//数据库保存
}
}
class Main{
public static void main(String[]args){
Entity entity = new Entity();
D d = new D(entity);
new Thread(D)start();
}
}
class D implements Runnable{
private A a;
private Entity entity;
public D(Entity entity){
thisentity = entity;
//用随机数得到1,2,如果是1则将a初始化为B,如果是2,则将a初始化为c
}
public void run(){
a保存(entity);
}
}
当然还有另外一个思路
你可以生成两个Entity的队列
一个队列是要用文件保存的任务一个队列是用数据库保存的队列
你在保存的时候,仅仅需要往不同的队列里放,然后就由专门的线程来去保存即可
手打~~如果还有问题,可追问不过大概明天才能回答,我一天回答一两个问题
以上就是关于java 用多线程测试数据库连接池抛出异常全部的内容,包括:java 用多线程测试数据库连接池抛出异常、java大数据 多线程写文件、java多线程读取数据库最后汇总等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)