Adt 消息转换器 - INTEGERS 作为空值出现
Posted
技术标签:
【中文标题】Adt 消息转换器 - INTEGERS 作为空值出现【英文标题】:Adt message converters - INTEGERS come as nulls 【发布时间】:2013-02-22 14:03:09 【问题描述】:我正在使用以下配置来处理带有 adt 有效负载的 OracleAQ...
<bean id="messageConverter"
class="org.springframework.data.jdbc.jms.support.converter.oracle.MappingAdtMessageConverter">
<constructor-arg>
<bean class="org.springframework.data.jdbc.jms.support.oracle.StructDatumMapper">
<constructor-arg index="0" value="MY_QUEUE"/>
<constructor-arg index="1" value="MyMappedClass"/>
</bean>
</constructor-arg>
</bean>
问题是,在出队后,我在 java 端获得了具有 INTEGER 的字段的 null 值和其他字段的非 null 值。
MyMappedClass@649fe46f[
id=<null>
id2=<null>
time=2013-02-22 14:57:11.0
user=LUKAS
]
在队列表中,这些值作为非空值存在。
可能是什么原因。我预计映射不好,但我看不出有什么问题。 这些字段映射为 Types.INTEGER。
你知道可能是什么原因吗?
【问题讨论】:
【参考方案1】:最后我发现生成的映射文件有错误。对于 Long 字段,我有 Integer setter。这就是转换过程中反射api将这些字段视为不可写的原因。所以这不是库版本或配置问题。
【讨论】:
以上是关于Adt 消息转换器 - INTEGERS 作为空值出现的主要内容,如果未能解决你的问题,请参考以下文章
如何使用空值将字符串转换为日期时间 - python,pandas?