Java 所有线程都在等待某种屏障条件
我有这样的课Java 所有线程都在等待某种屏障条件,java,multithreading,datasource,threadpool,connection-pooling,Java,Multithreading,Datasource,Threadpool,Connection Pooling,我有这样的课 class EmployeeTask implements Runnable { public void run(){ PayDAO payDAO = new payDAO(session); String newSalary= payDAO.getSalary(empid); String newTitle= payDAO.getTitle(empid); EmployeeDAO employee
class EmployeeTask implements Runnable {
public void run(){
PayDAO payDAO = new payDAO(session);
String newSalary= payDAO.getSalary(empid);
String newTitle= payDAO.getTitle(empid);
EmployeeDAO employeeDAO = new EmployeeDAO(session);
List<Employee> employees = employeeDAO.getEmployees();
employees.parallelStream().foreach(employee-> employeeDAO.add(newSalary, newTitle,employee));
}
}
类EmployeeTask实现可运行{
public void run(){
PayDAO PayDAO=新PayDAO(会话);
字符串newSalary=payDAO.getSalary(empid);
字符串newTitle=payDAO.getTitle(empid);
EmployeeDAO EmployeeDAO=新员工dao(会话);
List employeeDAO.getEmployees();
employees.parallelStream().foreach(employee->employeeDAO.add(newSalary,newTitle,employee));
}
}
Theread-1 Insert…在测试过程中,您是否可以进行线程转储以查看线程锁定的位置?所有线程都在单个连接对象上被阻塞。我通过打开、提交和关闭parallelstream中的连接和会话解决了这个问题。
<environments default=“XX”>
<environment id=“XX”>
<transactionManager type=“JDBC”/>
<dataSource type="POOLED">
<property name="driver" value="com.vertica.jdbc.Driver"/>
<property name="url" value="jdbc:vertica://host:port/schema”/>
<property name="username" value=“userName”/>
<property name="password" value=“password”/>
<property name="poolMaximumActiveConnections" value=“50”/>
<property name="poolMaximumIdleConnections" value=“10”/>
</dataSource>
</environment>
</environments>