Weblogic 10.3.1重新部署重新加载类

时间:2011-01-06 14:31:51

标签: weblogic-10.x redeploy

我们有一个类Foo,它是一个单例并且继承自Thread。我们在重新部署之后遇到了一些问题,其中似乎有两个线程正在运行。每次Foo从睡眠中醒来时,我都会添加一些print语句来检索ClassLoader。这些印刷品表明实际上已经使用不同的ClassLoader创建了该类的另一个实例。

我不知道它是否相关,但Foo总是通过会话Bean首次通过Foo :: instance创建。 Foo旨在作为服务来运行数据库清理。

由于

1 个答案:

答案 0 :(得分:0)

显然有2种重新部署方法。似乎他们都将继续让旧应用程序运行,直到它不再处理请求为止。这两种方法的不同之处仅在于如何删除应用程序。我们使用的方法使旧应用程序完全运行并使用不同的类加载器来加载新应用程序。我们的旧申请没有被取消部署。话虽这么说,如果你在一个没有明确终止的地方运行一个线程(事实证明是这种情况),你可能会通过同时执行的不同类加载器加载同一类的2个实例。运行线程,Weblogic没有死亡控制被认为是不好的做法和不安全。现在我知道为什么了。