我们在使用Proxool时,对Connection进行close()时,总会抛出异常,
0 [main] INFO proxool.ProxoolFacade - Proxool 0.8.3 (14-Dec-2003 16:06)
812 [Shutdown Hook] INFO proxool.example - Shutting down 'example' pool immediately [Shutdown Hook]
937 [Shutdown Hook] ERROR proxool.ShutdownHook - Problem calling "get cause" on IllegalStateException.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.logicalcobwebs.proxool.ShutdownHook.remove(ShutdownHook.java:40)
at org.logicalcobwebs.proxool.ProxoolFacade.shutdown(ProxoolFacade.java:238)
at org.logicalcobwebs.proxool.ProxoolFacade.shutdown(ProxoolFacade.java:220)
at org.logicalcobwebs.proxool.ShutdownHook.run(ShutdownHook.java:99)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.IllegalStateException: Shutdown in progress
at java.lang.Shutdown.remove(Shutdown.java:102)
at java.lang.Runtime.removeShutdownHook(Runtime.java:218)
... 9 more
812 [Shutdown Hook] INFO proxool.example - Shutting down 'example' pool immediately [Shutdown Hook]
937 [Shutdown Hook] ERROR proxool.ShutdownHook - Problem calling "get cause" on IllegalStateException.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.logicalcobwebs.proxool.ShutdownHook.remove(ShutdownHook.java:40)
at org.logicalcobwebs.proxool.ProxoolFacade.shutdown(ProxoolFacade.java:238)
at org.logicalcobwebs.proxool.ProxoolFacade.shutdown(ProxoolFacade.java:220)
at org.logicalcobwebs.proxool.ShutdownHook.run(ShutdownHook.java:99)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.IllegalStateException: Shutdown in progress
at java.lang.Shutdown.remove(Shutdown.java:102)
at java.lang.Runtime.removeShutdownHook(Runtime.java:218)
... 9 more
查找相关资料后发现有两种解决问题方法.
方法一:在对Connection对行close()后,要添加一段代码,如:
if ( null != conn ) {
conn.close();
//红色显示为需添加的代码
ProxoolFacade.shutdown(1);
}
conn.close();
//红色显示为需添加的代码
ProxoolFacade.shutdown(1);
}
方法二:从CVS上下载最新Proxool源代码,问题即迎刃而解!
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/proxool login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/proxool co -P proxool
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/proxool co -P proxool
做成于2005-12-27 11:38:00