【发布时间】:2013-01-03 16:09:08
【问题描述】:
我想将使用 Springs Jaxb2marshaller 和 jmsTemplate.convertAndSend(object) 从对象生成的 XML 发送到 oracle 队列 (AQ)。出于某种原因,当我发送消息时,将 null 插入到 oracle 队列中。当我从该对象类中删除一些字段或这些字段为空时 - 消息正常传递。随着这些字段的返回 - 再次为空。调试时,我看到形成了正确的 xml 消息,但不知道为什么数据库中有 null。没有抛出异常(或者至少我找不到它们)。有什么想法吗?
谢谢!
【问题讨论】:
-
你需要做两件事。首先,接受代码中的错误比 Spring 或消息系统中的错误更可能发生。
-
第二,缩小调试范围。您说“形成了正确的 XML 消息”。你在哪里看到的?如果它在接收方,那么您不必担心发送方的任何事情。然后你说“为什么数据库中有空值”。这是您唯一的问题迹象吗?如果是,则意味着问题出在您从消息中提取字段并将它们写入数据库的位置。那是你应该花时间的地方。
标签: java spring jaxb jms advanced-queuing