Tomcat 调用托管在 JBOSS 4 上的 EJB 在新部署后生成错误
Tomcat calling EJB hosted on JBOSS 4 generates errors after new deployment
我的应用程序中有以下设置:
ABCAPI.java (TestAPIInterface.jar)
public void search(FormData data);
ABCAPIBean.java (TestAPI.ear)
public void search(FormData data)
{
//log
//more code
}
ABCAction.java (TestUI.war)
public void loadList(session) {
//get ABCAPIBean
api.search(loadFormData(session));
}
public FormData loadFormData(session) {
//get some information from ABCCore class based on form filters
}
ABCCore.java (TestCore.jar)
在 JBoss、tomcat 服务器
中部署了以下包
JBoss 集群(node1, node2)
TestAPI.ear
TestAPIInterface.jar
TestCore.jar
Tomcat Web 服务器(节点 1、节点 2)
TestUI.war
TestAPIInterface.jar
TestCore.jar
在我对 ABCCore.java 文件进行一些代码更改并将最新的 TestCore.jar 部署到所有服务器之前,一切似乎都运行良好。
现在,当访问 UI 时,我交替获得结果和错误。当我检查日志时,每当 UI 应用程序从节点 1 请求 ABCAPIBean 时,它会抛出错误 'InvalidObjectException',而当它从节点 2 请求时,它会给出结果。 'ABCCore.java'.
中引入的新常量会发生这种情况
一个可能的问题是最新的 jar,但我通过将 TestCore.jar 从 node2 复制到 node1 来消除它。我仍然在 node1 中看到同样的问题。还有其他建议吗?
P.S:我在 Jboss node1 中没有看到日志语句 (ABCAPIBean),但在 Jboss node2 中看到了它。 InvalidObjectException
即将出现在 tomcat UI 日志中
这看起来像是部署错误。如果您确定您的服务器上分别有正确版本的 jar 和 war 文件,您可以尝试清理部署。
在Tomcat中,停止进程,删除work
目录内容,重新开始。 JBOSS 中也有一个类似的工作目录,您可以按照相同的方式进行(停止、清理、启动)。
顺便说一句,你没有说你是在 Windows 还是 Linux。 Windows 上的 Tomcat 上存在旧错误,称为 "jar locking",可能会产生此类错误。
我的应用程序中有以下设置:
ABCAPI.java (TestAPIInterface.jar)
public void search(FormData data);
ABCAPIBean.java (TestAPI.ear)
public void search(FormData data)
{
//log
//more code
}
ABCAction.java (TestUI.war)
public void loadList(session) {
//get ABCAPIBean
api.search(loadFormData(session));
}
public FormData loadFormData(session) {
//get some information from ABCCore class based on form filters
}
ABCCore.java (TestCore.jar)
在 JBoss、tomcat 服务器
中部署了以下包JBoss 集群(node1, node2)
TestAPI.ear
TestAPIInterface.jar
TestCore.jar
Tomcat Web 服务器(节点 1、节点 2)
TestUI.war
TestAPIInterface.jar
TestCore.jar
在我对 ABCCore.java 文件进行一些代码更改并将最新的 TestCore.jar 部署到所有服务器之前,一切似乎都运行良好。
现在,当访问 UI 时,我交替获得结果和错误。当我检查日志时,每当 UI 应用程序从节点 1 请求 ABCAPIBean 时,它会抛出错误 'InvalidObjectException',而当它从节点 2 请求时,它会给出结果。 'ABCCore.java'.
中引入的新常量会发生这种情况一个可能的问题是最新的 jar,但我通过将 TestCore.jar 从 node2 复制到 node1 来消除它。我仍然在 node1 中看到同样的问题。还有其他建议吗?
P.S:我在 Jboss node1 中没有看到日志语句 (ABCAPIBean),但在 Jboss node2 中看到了它。 InvalidObjectException
即将出现在 tomcat UI 日志中
这看起来像是部署错误。如果您确定您的服务器上分别有正确版本的 jar 和 war 文件,您可以尝试清理部署。
在Tomcat中,停止进程,删除work
目录内容,重新开始。 JBOSS 中也有一个类似的工作目录,您可以按照相同的方式进行(停止、清理、启动)。
顺便说一句,你没有说你是在 Windows 还是 Linux。 Windows 上的 Tomcat 上存在旧错误,称为 "jar locking",可能会产生此类错误。