2017-07-17 113 views
0

我们的Java应用程序正在从WAS 7服务器迁移到WAS 8.5服务器 - 出于某种原因,即使我们的应用程序在我们的管理控制台中显示为已部署,应用程序本身也不会出现在我们分配的URL上。如何调试服务器端错误?

我已经排除了通过在本地服务器中测试应用程序而导致代码相关问题的可能性,所以我知道问题出在一些服务器设置上 - 但是,我几乎在CS中的所有体验都在编码,我不知道如何弄清楚这些设置出了什么问题。

我有什么选择来调试我的应用程序的服务器端问题?

+0

从服务器日志开始。当您在本地运行时,该应用是否部署在WAS 8.5上?专注于本地和PROD服务器之间的差异。 – duffymo

回答

4

您没有指定“即将到来”的含义,所以我将从广泛的建议开始。

几件事情要健全性检查:

  • 确保应用程序已经部署您试图访问其在特定的服务器上。通常在一个单元中由一个部署管理器控制多个服务器,并且可以将应用程序部署到仅部分服务器中。在管理控制台的服务器 - > WebSphere应用程序服务器下,您可以找到您希望它启动的服务器,并检查已安装的应用程序
  • 检查应用程序本身是否已启动。服务器可能已启动,但不是应用程序。在应用程序 - > WebSphere企业应用程序中,查找应用程序旁边的绿色箭头。
  • 如果您尝试访问一个servlet,请确保您的Web模块的上下文根被设置为您所期望的。在应用程序的配置页面中,它位于Web模块的上下文根下的Web模块属性
  • 如果所有这些看起来都正确,或者应用程序已停止并且无法启动,请检查配置文件的logs目录中的服务器日志,尤其是SystemOut.log和ffdc文件夹。当您访问它时或启动时可能会发生错误。那些应该出现在那里。
  • 如果您的应用程序使用EJB版本低于3.1的EJBDeploy工具,则必须在部署之前或作为部署过程的一部分针对您的应用程序运行。如果您希望发生后者,请确保EJBDeploy工具与目标系统上的WebSphere一起安装。

如果所有这些都失败了,你可以打开调试器(如果在你的环境中允许的话),看看你的代码是否被触及。

+0

我们可能需要研究最后一点 - 我不知道我们的应用程序是否使用过旧的EJB,但值得深入研究。 昨天我们也被告知,如果它的编译速度低于Java 1.7(它就是这样),我们的应用程序可能会遇到麻烦,所以我们试图首先解决它。 – Zibbobz

2

1)检查服务器日志:在WAS控制台中,您可以找到服务器的日志。

2)调试本地服务器。通过在本地服务器中部署耳朵,您可以在登录模式下启动服务器。然后你停止并重新启动你的websphere应用程序,它将停留在选定的断点处。