我有一个计时器进程,它通过读取Lotus Notes 5并将读取的文档转储到modeshape存储库中。该过程将时间戳和其他相关信息写入数据库表,并使用它来选择停止的位置,然后阅读其余文档。
当应用程序取消部署并再次重新部署时,就会出现问题。当我这样做时,使用Lotus Notes创建会话时,会抛出异常:
ava.lang.UnsatisfiedLinkError:本机库C:\ Domino \ nlsxbe.dll已在另一个类加载器中加载
这很明显,因为重新部署并没有从JVM中删除依赖的dll和Jars。我需要一个解决方案,其中可以在下次尝试创建会话时从JVM中删除依赖项或引用相同的dll和资源。
注-我没有LOTUS注解api尝试加载依赖项的代码,我什至不知道创建连接所需的依赖项API和DLL,因此我将Lotus Notes domino客户端的整个安装文件夹移了到我的java.library.path
请帮助,这只是让我发疯。可能是一个非常简单的问题,但是我需要一些专家建议,以更好的方式完成此任务。
我修好了它。我通过NotesThread类进行了剖析,发现它总是尝试在导致问题的类加载器中加载nlsxbe.dll。我放弃了使用NotesThreads(以及将来的任何IBM API)的想法,并使用了Java线程,从而解决了该问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句