0

我正在使用以下配置来处理带有 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>

问题是,在出队之后,我得到了具有 INTEGER 的字段的 java 端 null 值和其他字段的非 null 值。

MyMappedClass@649fe46f[
  id=<null>
  id2=<null>
  time=2013-02-22 14:57:11.0
  user=LUKAS
]

在队列表中,这些值作为非空值存在。

可能是什么原因。我预计映射不好,但我看不出有什么问题。这些字段映射为 Types.INTEGER。

你知道可能是什么原因吗?

4

1 回答 1

0

最后我发现生成的映射文件有错误。对于 Long 字段,我有 Integer setter。这就是转换过程中反射api将这些字段视为不可写的原因。所以这不是库版本或配置问题。

于 2013-02-23T14:24:49.100 回答