快来看!!jcom2.23(java-com bridge) + websphere3.5 + 线程的问题。
谁用过这样的方式,websphere3.5,在jsp里面调用一个javabean,javabean开一个后台线程,线程中调用jcom接口,jcom调用一个com(该com组件线程模式为Apartment Threading Model (single threaded apartments))组件,但是这样做,第一次正常调用,总是在第二次调用时,导致websphere报错,
default_server_stderr.log中出现:
jp.ne.so_net.ga2.no_ji.jcom.JComException: IDispatch::Invoke(0x1,1) failed HRESULT=0x80020009L
at jp.ne.so_net.ga2.no_ji.jcom.IDispatch._invoke(Native Method)
at jp.ne.so_net.ga2.no_ji.jcom.IDispatch.method(IDispatch.java:223)
at com.kejian.szfao.servlets.javaCallCOM.run(javaCallCOM.java:56)
at java.lang.Thread.run(Thread.java:481)
default_server_stdout.log中出现:
[03.09.28 13:43:42:734 GMT+08:00] bb3d8b61 WebGroup X [Servlet Error]-[{0}]: {1}: {2}
"JSP 1.1 处理器"
"Server caught unhandled exception from servlet [JSP 1.1 处理器]: null"
com.ibm.servlet.engine.webapp.UncaughtServletException: Server caught unhandled exception from servlet [JSP 1.1 处理器]: null
at javax.servlet.ServletException.<init>(ServletException.java:132)
最终导致websphere重起所有的servlet线程,然后所有用户必须重新登陆。
有谁用这样的方法,调用jcom并且正常的,帮我看看。谢谢!