当前位置: 首页 > 知识库问答 >
问题:

Spring integration JMS在service activator中获取ClassCast异常

边明煦
2023-03-14

我正在使用Spring集成连接到JMS消息队列。我使用的JMS提供程序是Apache ActiveMQ。

我有以下读取JMS消息的类(具有ServiceActivator方法):

@Component
public class MessageReader
{

@ServiceActivator
public Entity onMessage(Message<Entity> inboundMessage) {

    System.out.println(" -------Message Read Start--------");

    System.out.println(inboundMessage.getHeaders());

    System.out.println(" -------Message Headers Reading completed--------");

    Entity payload = null;


    try{

        payload = inboundMessage.getPayload();
        System.out.println(" -------Message Read End--------");
    }catch(Exception e){
        e.printStackTrace();
    }


    return payload;
}
}

在这里,实体是我的应用程序中的POJO。

从JMS队列读取消息时,我得到以下异常:

java.lang.ClassCastException: org.apache.activemq.command.ActiveMQObjectMessage cannot be cast to com.poc.pojo.Entity

我应该如何解决这个问题?

谢谢

共有2个答案

南门茂才
2023-03-14

看起来你的

在这种情况下,整个JmsMessage将显示为Spring集成消息的有效负载。但是正如您所看到的,您的ServiceActivator正好期望JmsMessage的主体。

江向阳
2023-03-14

查看stacktrace、ClassCastException、,

>

  • 先看看你的Entity,实现了什么接口?
  • 第二个in边界Message.getPayload(). getClass(),实现相同的接口ActiveMQ所需的?

    • 解决方案是两个类实现相同的接口

  •  类似资料:
    • 在运行我的项目时,我在android studio中收到ClassCastException。谁能告诉我是什么导致了这个错误。 com.intellij.psi.impl.source.PsiPlainTextFileImpl不能转换为com.intellij.psi.xml.XmlFile 谢谢。

    • 我使用以下代码在 NTAG213 NFC 标签上设置 AUTH0(需要密码验证的第一页): 然而,当我在AUTH0上写00h(作为起始地址)时,总是会出现异常:“收发器失败”。 你能告诉我这里可能会出什么问题吗?

    • 我在练习Spring靴。我已经从git repo下载了Spring Boot代码,并将其导入到InteliJ IDEA上。在执行spring boot应用程序时,我得到了以下异常。你对此有什么想法吗?这是我的pom.xml org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot

    • 我希望在我的Spring 4应用程序中使用Hikari连接池。数据库是Google CloudSQLPostgres数据库。 我在pom中有以下依赖项。xml: 在我的申请Context.xml,我有: 但是我得到了以下例外: 出了什么问题?

    • 问题内容: 我是Java和OOP的新手,这是我的问题。当我运行以下代码时,我得到了 线程“主”中的异常java.lang.StackOverflowError。 问题出在我创建对象的代码中。class不会发生问题。如果在run方法内部创建对象,则代码可以正常工作。你能解释一下为什么吗? 问题答案: 您的类的字段包含类的另一个实例,也有自己的字段,包含的另一个实例,依此类推。 换句话说,当您创建该实

    • 我有一个标签叫信息。我需要点击信息标签。相同的xpath适用于其他场景,该场景具有相同的信息选项卡和相同的html代码,当我尝试在其他场景中使用该xpath时,却没有发现这样的元素异常。 请帮我解决这个问题 xpath: HTML: