oracle 9i 中OracleMTSRecoveryService 服务问题

在oracle 9i 中,有一个这样的服务OracleMTSRecoveryService 当把本服务打开的时候 
当如果oracle数据只关掉监听器,或把服务停了,
Class.forName("oracle.jdbc.driver.OracleDriver");
                    conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl",
                            "scott", "tiger");
这句就会卡死一直不会向下跑 
而且这种情况下也不报出错误就是一直停在那里
这是经过测试的 
这时候我们就要考虑到超时问题了......

目前有解决方案,但不是很好,就是用有返回值线程设置超时时间,但是
// 创建线程
        ExecutorService threadPool = Executors.newSingleThreadExecutor();
        // 调用线程池的submit方法执行任务
        Future future = threadPool.submit(new MyCallableImpl("select * from emp"));
threadPool.shutdown();

猜你喜欢

转载自adminlin.iteye.com/blog/1664696