两个 java 应用程序之间的通信在 JBoss 7.0 中正常工作,但在 Tomcat 8.5 中不工作

Posted

技术标签:

【中文标题】两个 java 应用程序之间的通信在 JBoss 7.0 中正常工作,但在 Tomcat 8.5 中不工作【英文标题】:Communication between two java application working fine with JBoss 7.0 but not working in Tomcat 8.5 【发布时间】:2021-11-08 15:40:28 【问题描述】:

我有两个 Java 应用程序 Portal 和 Report(从 Portal 调用报告),它们可以与 JBoss 服务器正常工作。现在我正在尝试将它从 JBoss 7.0 迁移到 Tomcat 8.5,但我遇到了以下错误。

classcastexception: org.apache.catalina.util.parametermap cannot be cast to java.util.hashmap

Code,
  ReportVO reportVO = new ReportVO();
  reportVO.setAttributes((HashMap<String, String[]>)request.getParameterMap());

注意:Portal 在 tomcat 中运行良好,但是当我尝试通过从 Portal 调用 Report 应用程序来生成任何报告时,我遇到了上述错误。

我需要做任何服务器端配置吗?

【问题讨论】:

getParameterMap()的返回类型就是Map&lt;String, String[]&gt; @GyroGearless HashMap 在 JBoss 服务器中工作正常。 【参考方案1】:

它无法转换为预期的类。我认为这是因为 Jars 的优先级。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 我的项目中有很多 jar 需要检查哪一个?

以上是关于两个 java 应用程序之间的通信在 JBoss 7.0 中正常工作,但在 Tomcat 8.5 中不工作的主要内容,如果未能解决你的问题,请参考以下文章

带有 maven 的 Java EE 7 的 org.wildfly.bom 和 org.jboss.spec 之间的区别

JBoss 和 ActiveMQ 之间挂起的 Socket.read() 线程

Java EE 应用程序之间的 Web 服务通信

两个程序之间的输入输出通信

在两个应用程序之间进行通信的最佳和最快方式是啥?

3.java并发编程艺术-java内存模型