我在用jms ObjectMessage
使用activemq在其 setObject()
功能。
关于我的客户:
ObjectMessage omsg = getSession().createObjectMessage();
omsg.setObject(objectToSend);
这个 objectToSend
pojo包含 Map
:
private Map<Integer, Double> tickIdToPrice;
在我的服务器上,我尝试解码:
if (omsg.getObject() instanceof AJavaClass) {
但这会导致 Exception
:
java.lang.ClassCastException: cannot assign instance of java.util.CollSer
to field com.x.z.y.RequestPriceResult.tickIdToPrice of type
java.util.Map in instance of com.x.z.y.RequestPriceResult
有人知道是什么导致了这个异常吗?几乎找不到关于 CollSer
.
1条答案
按热度按时间doinxwow1#
找到了。
collset定义为:
在我的客户身上
Map.of
创建Map。这创建了一个不可变的Map,当序列化时使用collser。这导致activemq出现问题,使用普通的可变Map序列化并正常工作。