Java 无法反序列化JMS消息
我想获取JMS消息时遇到问题。在我的日志中,我有: 2016-02-19 09:39:54979信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831))信息-已收到 信息: 2016-02-19 09:39:54979信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831)信息-消息重复: HornetQMessage[ID:53e7685a-d6e4-11e5-93ae-0800279925ab]:持久性 2016-02-19 09:39:54995信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831)信息-Id de l'objet §traiter:8A80828F52F89E850152F8A9AF87001 2016-02-19 09:39:54995信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831) de l'objet persisitéayant浇注Id:8A80828F52F89E850152F8A9AF87001 2016-02-19 09:39:54995信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831)信息-hibernate 会话ouverte 2016-02-19 09:39:54995信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831)信息-先锋 恢复id:8A80828F52F89E850152F8A9AF87001 我发送了iDJava 无法反序列化JMS消息,java,netbeans,jboss,jms,Java,Netbeans,Jboss,Jms,我想获取JMS消息时遇到问题。在我的日志中,我有: 2016-02-19 09:39:54979信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831))信息-已收到 信息: 2016-02-19 09:39:54979信息[标准输出](线程-0 (组:HornetQ-client-global-threads-29471831)信息-消息重复: HornetQMessage[ID:53e7685a-d6e4-11e5-93ae-08002
8a80828f52f89e850152f8a9af870001
,这样他就可以得到值(我想)。但在那之后,我有一个错误:
2016-02-19 09:39:54995信息
[org.hibernate.event.def.DefaultLoadEventListener](线程-0
(组:HornetQ-client-global-threads-29471831))执行加载时出错
命令:org.hibernate.type.SerializationException:无法执行
反序列化
但我不知道为什么
关于netbeans上的调试模式,我还有一个问题。我想调试jms消息到达的部分。我知道它在我的代码中的位置,但当我设置一个细分点时,它就不起作用了。我正在使用Netbeans和JBoss
提前谢谢
编辑:
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
messageProducer = session.createProducer(queue);
TextMessage oMessage = session.createTextMessage(myString);
messageProducer.send(oMessage); //The error happens here
获取ID的文件的代码为:
if (message instanceof TextMessage) {
TextMessage messageReceived = (TextMessage) message;
logger.info("Message recu: " + message);
logger.info("Id de l'objet à traiter: " + messageReceived.getText());
idPersistSimulation = messageReceived.getText();
// récupération de l'objet correspondant en base
logger.info("Récupération de l'objet persisité ayant pour Id: "
+ messageReceived.getText());
PersistanceSimulation pSimulation = null;
// Début Hibernate
hSession.beginTransaction();
logger.info("Avant recuperation id: " + messageReceived.getText());
//它一直工作到这里,因为我可以在日志上看到它
pSimulation = (PersistanceSimulation) hSession.get(PersistanceSimulation.class,
idPersistSimulation);
// hSession.
hSession.getTransaction().commit();
logger.info("Nom de la simulation récupérée : " + pSimulation.getNomSimulation());
if (!pSimulation.getEtatAvancement().equals(EtatAvancementSimulEnum.ECHEC)) {
//lancement simulation
pSimulation = systemeCultureSrv.lancerSimulations(pSimulation, hSession);
}
hSession.close();
完整的stacktrace非常大,我不能复制到这里,我把最重要的部分放在这里
编辑2:
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
messageProducer = session.createProducer(queue);
TextMessage oMessage = session.createTextMessage(myString);
messageProducer.send(oMessage); //The error happens here
2016-02-19 09:39:54995信息
[org.hibernate.event.def.DefaultLoadEventListener](线程-0
(组:HornetQ-client-global-threads-29471831))执行加载时出错
命令:org.hibernate.type.SerializationException:无法
反序列化
org.hibernate.util.SerializationHelper.doDeserialize(SerializationHelper.java:247)
[:3.6.6.最终版本]
org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:306)
[:3.6.6.最终版本]
org.hibernate.type.descriptor.java.SerializableTypeScriptor.fromBytes(SerializableTypeScriptor.java:130)
[:3.6.6.最终版本]
org.hibernate.type.descriptor.java.SerializableTypeScriptor.wrap(SerializableTypeScriptor.java:116)
[:3.6.6.最终版本]
org.hibernate.type.descriptor.java.SerializableTypeScriptor.wrap(SerializableTypeScriptor.java:39)
[:3.6.6.最终版本]
org.hibernate.type.descriptor.sql.VarbinaryTypeDescriptor$2.doExtract(VarbinaryTypeDescriptor.java:62)
[:3.6.6.最终版本]
org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64)
[:3.6.6.最终版本]
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:254)
[:3.6.6.最终版本]
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:250)
[:3.6.6.最终版本]
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:230)
[:3.6.6.最终版本]
org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:331)
[:3.6.6.最终版本]
org.hibernate.persister.entity.AbstractEntityPersister.hydroge(AbstractEntityPersister.java:2283)
[:3.6.6.最终版本]
org.hibernate.loader.loader.loadFromResultSet(loader.java:1527)
[:3.6.6.最终版本]
org.hibernate.loader.loader.InstanceNodeLoaded(loader.java:1455)
[:3.6.6.最终版本]
org.hibernate.loader.loader.getRow(loader.java:1355)[:3.6.6.Final]
位于org.hibernate.loader.loader.getRowFromResultSet(loader.java:611)
[:3.6.6.最终版本]
org.hibernate.loader.loader.doQuery(loader.java:829)[:3.6.6.Final]
在
org.hibernate.loader.loader.doQueryAndInitializeNonLazyCollections(loader.java:274)
[:3.6.6.最终版本]
org.hibernate.loader.loader.loadEntity(loader.java:2037)
[:3.6.6.最终版本]
org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
[:3.6.6.最终版本]
org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
[:3.6.6.最终版本]
org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
[:3.6.6.最终版本]
org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
[:3.6.6.最终版本]
org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
[:3.6.6.最终版本]
org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
[:3.6.6.最终版本]
org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
[:3.6.6.最终版本]
org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
[:3.6.6.最终版本]
fireLoad(SessionImpl.java:1090)
[:3.6.6.最终版本]
org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005)
[:3.6.6.最终版本]
org.hibernate.impl.SessionImpl.get(SessionImpl.java:998)
[:3.6.6.最终版本]
eu.akka.labs.server.mdb.JobManagerMDB.onMessage(JobManagerMDB.java:81)
[:]位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
[:1.7.0_79]
invoke(NativeMethodAccessorImpl.java:57)
[:1.7.0_79]
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[:1.7.