2013-02-28 163 views
0

我是weblogic的新手,想知道: 在部署的管理控制台中,您可以选择部署并单击停止(选项a:工作完成时,b:强制停止,c:停止,但继续为管理请求提供服务) 。停止命令做什么? 我看过http://docs.oracle.com/cd/E15523_01/apirefs.1111/e13952/taskhelp/applications/StopDeployedEnterpriseApplications.html在weblogic管理控制台>部署中,stop命令的作用是什么?

但我还是不明白。从其他阅读中我已经收集到,停止调用servlet的destroy()方法(如果存在),然后删除容器(从部署?)? 我有一个带有destory()方法的servlet,我想知道是否我甚至需要调用它,或者如果删除部署很好。 当我试图迫使立即停止,并停止工作时,在部署完成后,我得到的消息:

The application _auto_generated_ear_ is in an incompatible state and will not be included in this operation. 
All of the Deployments selected are currently in a state which is incompatible with this operation. No action will be performed. 

有没有人有一个链接的过程是怎样的,这些停止命令进行的?

回答

1

首先,如果应用程序正在运行,则无法删除它。如果您尝试这样做,您将收到错误“应用程序xxxxx当前正在运行,并且可能不会被删除”。

其次,如果是生产系统,最好是做一个stop-当工作完成时。在这种情况下,应用程序将停止处理新请求,但会继续为正在进行的会话处理来自用户的请求提供服务。因此它对于最终用户来说不会有什么破坏性。

如果重新启动服务器,该怎么办?重启后消息是否消失?

如果由于某些奇怪的原因,应用程序拒绝停止/删除,您可以随时关闭服务器,删除config.xml中的相应条目并再次启动服务器。

编辑:基于评论

自动生成的EAR功能本身是OEPE如何发布独立的WAR模块WLS优化的一部分。 WLS分割源部署功能需要EAR,因此OEPE为分割源部署用户生成一个。我怀疑你的问题可能是由这个自动生成的耳朵引起的。

但是,它看起来像是具有分割源部署的开发环境。为什么需要通过控制台启动/停止应用程序或删除应用程序?为什么不能通过OEPE将应用程序重新发布到服务器?它会在应用程序中选择新的更改。要回答你的问题,删除基本上是取消部署该应用程序。 停止不会取消部署您的应用程序。它只是停止服务请求。该应用程序仍按部署屏幕中所示进行部署。

+0

_auto_generated_ear是使用OEPE在eclipse中创建的。我在web动态项目上使用了运行在服务器上的命令,该动态项目中有一个servlet,并在web.xml中定义,其上下文根在weblogic.xml中定义。它不在自动部署文件夹中。 project.war文件位于:base_domain \ servers \ AdminServer \ tmp \ .appmergegen_1361979966947 \ project.war 因为我是weblogic/web服务的新手,所以我仍然不确定创建_auto_generated_ear是什么。我认为weblogic部署过程创造了这一点。我无法在基本域目录中找到它。 – jon 2013-02-28 18:08:48

+0

在管理控制台中,.war显示为_auto_generated_ear的模块。是的,这是我试图阻止的应用程序。删除作品。这个servlet实例化了一些线程,并且在destroy方法中我优雅地关闭了它们。正如我刚才提到的,我并不完全了解停止和删除之间的区别(为什么删除工作和停止不?),但我更喜欢能够使用start和stop按钮/命令,而不是每次重新部署。 – jon 2013-02-28 18:13:47

+0

所以我发现_auto_generated_ear是由eclipse创建的,位于工作区\ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp1 \ base_domain \ _auto_generated_ear_ – jon 2013-02-28 18:37:43

相关问题