Java 从流读取时如何调用/执行超时
从流读取时如何调用/执行超时?我在log4j appender中测试jdbc中的dbcp2池,我需要在单元测试中检查轮询是否有效。我尝试设置睡眠(5000),但不起作用-不会出现超时:Java 从流读取时如何调用/执行超时,java,inputstream,outputstream,apache-commons-dbcp,dbcp,Java,Inputstream,Outputstream,Apache Commons Dbcp,Dbcp,从流读取时如何调用/执行超时?我在log4j appender中测试jdbc中的dbcp2池,我需要在单元测试中检查轮询是否有效。我尝试设置睡眠(5000),但不起作用-不会出现超时: final InputStream from_client = client.getInputStream(); final OutputStream to_server = server.getOutputStream(); new Thread() { public void run() {
final InputStream from_client = client.getInputStream();
final OutputStream to_server = server.getOutputStream();
new Thread() {
public void run() {
int bytes_read;
try {
while((bytes_read = from_client.read(request)) != -1) {
if (interrupt) {
System.out.println("I trying to invoke timeout .... " + interrupt);
Thread.sleep(5000);
interrupt = false;
}
to_server.write(request, 0, bytes_read);
to_server.flush();
}
}
catch (IOException e) {}
try {
to_server.close();
} catch (IOException e) {}
}
}.start();