如何将spring集成消息头保存到数据库中

时间:2014-11-23 17:51:34

标签: spring header integration message

将spring header信息保存到数据库中最简单,最好的解决方案是什么? 我知道出站组件不是问题。

问题是我如何在没有逐一指定sql中的头元素的情况下做到这一点?

是否有针对该问题的内置解决方案,可以在将新标题元素添加到邮件标题时采用这些更改?

1 个答案:

答案 0 :(得分:0)

说实话,没有这样的解决方案,因为在RDBMS中我们有schema瓶颈。 即使我们可以做这样的事情:

insert into headers value (:headers)

我们必须在目标数据库表中指定任何新列。

这就是为什么NOSQL DB在这种情况下更好的原因。例如。 MongoDb可以简单地接受整个Message并将其存储到Document所有标题中。

即使我们可以使用JPA适配器进行Spring集成方案,只需使用<jpa:outbound-channel-adapter>,其中消息payload是我们标题的entity,我们需要添加一个新属性entity允许JPA与他们打交道。

但是,我认为new columns in DB不是您的问题,而另一方MessageHeaderMap,因此您可以迭代其条目并构建每个消息在运行时的INSERT INTO...语句。

希望我没有错过任何东西......