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