我有一个用于开发的WebSphere 8.5.0应用程序服务器。它在一个静态JavaScript文件上返回一个503错误。
这是返回错误的HTML:
<H1>Servlet has become temporarily unavailable for service</H1><BR><H3></H3><BR><I>IBM WebSphere Application Server</I>
- 我尝试用空白文本文件替换该文件。服务器仍然返回相同的503错误
- 我尝试更改文件名,它使用新名称正确返回文件,如果我尝试原始名称,服务器返回404
我想在网上会有一个解决方案,但我找不到
我发现了两条可能的线索:
- 该文件以某种方式锁定在服务器上
- 存在路由问题
如果重要的话,我将应用程序作为ear文件部署到服务器。
我检查了所有的日志,其中唯一出现的是SystemOut:
[2/10/15 8:50:31:696 PST] 00001b48 webcontainer E com.ibm.ws.webcontainer.internal.WebContainer sendUnavailableException Servlet.has.become.temporarily.unavailable.for.service
[2/10/15 8:50:33:120 PST] 00001b48 webcontainer E com.ibm.ws.webcontainer.internal.WebContainer sendUnavailableException Servlet.has.become.temporarily.unavailable.for.service
我可能应该提到,在我的本地机器和2台生产服务器上部署了完全相同的ear文件,没有任何问题。问题出在我的开发服务器上。
部署新版本的应用程序后该消息出现在Websphere输出中
然后需要重新启动服务器才能启动应用程序继续处理。问题在于当应用程序在重新部署时被销毁。
重新部署后重新启动服务器是当前的本地修复程序。
您可以访问:
http://www-01.ibm.com/support/docview.wss?uid=swg1PK47748
我遇到了类似的问题。在8.0.0版本中,我尝试使用一个空白文件,也更改了文件名,但什么都不起作用。日志没有告诉我任何关于这个问题的信息。始终相同的信息:
<H1>Servlet has become temporarily unavailable for service</H1><BR><H3></H3><BR><I>IBM WebSphere Application Server</I>
解决方案是重新启动服务器,也许问题是文件被某种进程锁定了。