Java 在Spring引导外序列化数据,但在Spring引导中反序列化

Java 在Spring引导外序列化数据,但在Spring引导中反序列化,java,spring-boot,serialization,spring-jms,Java,Spring Boot,Serialization,Spring Jms,我有一个模块(我们称之为Producer),它不能依赖于Spring引导。它向ActiveMQ发送消息: MyCustomDto msg=。。。 String json=new ObjectMapper().writeValueAsString(msg);//这就是我将对象序列化为json的地方 TextMessage=session.createTextMessage(json);//activeMQ会话 制作人。发送(消息);//activeMQ生产者 另一个模块(Consumer)是Sp

我有一个模块(我们称之为
Producer
),它不能依赖于Spring引导。它向ActiveMQ发送消息:

MyCustomDto msg=。。。
String json=new ObjectMapper().writeValueAsString(msg);//这就是我将对象序列化为json的地方
TextMessage=session.createTextMessage(json);//activeMQ会话
制作人。发送(消息);//activeMQ生产者
另一个模块(
Consumer
)是Spring引导服务,它从ActiveMQ读取消息:

@JmsListener(destination=“topic1”)
public void processToDo(MyCustomDto amqMessage){
log.info(“我刚收到一条消息”);
}
请注意,发送的消息和接收的消息都应该是
MyCustomDto
,因此应该是兼容的。 这是一个例外:

org.springframework.jms.listener.adapter.ListenerExecutionFailedException: Listener method could not be invoked with incoming message
Endpoint handler details:
Method [public void ...Consumer.processToDo(MyCustomDto)]
Bean [...Consumer@2d5399b4]
; nested exception is org.springframework.messaging.converter.MessageConversionException: Cannot convert from [java.lang.String] to [MyCustomDto] for org.springframework.jms.listener.adapter.AbstractAdaptableMessageListener$MessagingMessageConverterAdapter$LazyResolutionMessage@a882178, failedMessage=org.springframework.jms.listener.adapter.AbstractAdaptableMessageListener$MessagingMessageConverterAdapter$LazyResolutionMessage@a882178
    at org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:118) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:77) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1189) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1179) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1076) ~[spring-jms-5.2.9.RELEASE.jar:5.2.9.RELEASE]
    at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
这是有意义的,因为TextMessage是一个字符串(虽然是JSON字符串),但需要一个
MyCustomDto
对象

有没有办法手动序列化DTO,以便Spring Boot可以自动映射它?

可能?