【发布时间】:2020-06-03 13:41:24
【问题描述】:
我用过
- Apache Camel 2.23.4;
- Hazelcast 3.12.6.
更新 Apache Camel:
- Apache Camel 3.2.0;
- Hazelcast 3.12.6.
在向 hazelcast IMap 添加对象时更新 apache camel 后,我得到一个序列化异常。
@lombok.Value
@lombok.AllArgsConstructor
public class Tasks implements Serializable {
private String id;
private String correlationId;
private String key;
private Map<String, Object> body;
private Map<String, Object> props;
private Boolean timer;
}
当放置在地图上的对象发生异常时
IMap<String, Tasks> IMapTasks=hazelcastInstance.getMap(TASK_MAP_NAME);
IMapTasks.put(task.getId(), taks);
堆栈跟踪:
Error receiving Notification Task control message : Failed to serialize 'home.test.service.model.Task'
com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'home.test.service.model.Task'
at com.hazelcast.internal.serialization.impl.SerializationUtil.handleSerializeException(SerializationUtil.java:82) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:157) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:133) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:118) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:106) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.spi.impl.NodeEngineImpl.toData(NodeEngineImpl.java:319) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.spi.AbstractDistributedObject.toData(AbstractDistributedObject.java:68) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.map.impl.proxy.MapProxyImpl.put(MapProxyImpl.java:133) ~[hazelcast-3.12.6.jar:3.12.6]
at com.hazelcast.map.impl.proxy.MapProxyImpl.put(MapProxyImpl.java:125) ~[hazelcast-3.12.6.jar:3.12.6]
.
.
.
Caused by: java.io.NotSerializableException: com.rabbitmq.client.impl.LongStringHelper$ByteArrayLongString
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[?:1.8.0_181]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[?:1.8.0_181]
at java.util.HashMap.internalWriteEntries(HashMap.java:1790) ~[?:1.8.0_181]
at java.util.HashMap.writeObject(HashMap.java:1363) ~[?:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) ~[?:1.8.0_181]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) ~[?:1.8.0_181]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[?:1.8.0_181]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[?:1.8.0_181]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[?:1.8.0_181]
at java.util.TreeMap.writeObject(TreeMap.java:2438) ~[?:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) ~[?:1.8.0_181]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) ~[?:1.8.0_181]
有什么想法吗?
【问题讨论】:
-
好像型号名称不一样。
Error receiving Notification Task control message : Failed to serialize 'home.test.service.model.Task'和public class Tasks implements Serializable -
@HadiJ 模型名称已找到。 接收通知任务控制消息时出错:无法序列化 'home.test.service.model.Task' 此消息来自我的 try{} catch(Exception e){},异常消息:“无法序列化'home.test.service.model.Task"
标签: java serialization java-8 apache-camel hazelcast