我有一个在运行时动态实例化的处理程序类。对于特定数量的调用,它实例化得很好,但在某个时刻X我得到了这个例外:
java.lang.ClassNotFoundException: com.q.integration.handler.SearchHandler
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
我查看了URLClassLoader的源代码,看起来URLClassPath找不到资源路径并返回null,然后抛出运行时异常。 如果你能给我任何想法,我会非常高兴。 谢谢!
答案 0 :(得分:0)
实测值!代码是"失去" java类是多线程代码中使用的请求处理程序。它在顶部有私有静态正则表达式模式变量。我理解ClassNotFoundException与这个变量的初始化有关,这个初始化应该只在类级别发生过一次。我在函数调用中移动了这个变量并修复了问题。