将spring header信息保存到数据库中最简单,最好的解决方案是什么? 我知道出站组件不是问题。
问题是我如何在没有逐一指定sql中的头元素的情况下做到这一点?
是否有针对该问题的内置解决方案,可以在将新标题元素添加到邮件标题时采用这些更改?
答案 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
不是您的问题,而另一方MessageHeader
是Map
,因此您可以迭代其条目并构建每个消息在运行时的INSERT INTO...
语句。
希望我没有错过任何东西......