Чтобы быть честным, такого решения нет, потому что с РСУБД есть узкое место schema
. Даже если бы мы могли сделать что-то вроде этого:
insert into headers value (:headers)
Мы должны указать любой новый столбец в целевой таблице БД.
Именно поэтому любая база данных NOSQL лучше для этого случая. Например. MongoDb может просто принять целое Message
и сохраняет его на Document
со всеми заголовками.
Даже если мы можем Spring Integration сценарий сделать с JPA адаптеров просто использовать <jpa:outbound-channel-adapter>
, где сообщение payload
является entity
для нашего заголовка, мы должны добавить новое свойство к entity
, чтобы позволить JPA, чтобы получить сделку с ними.
Однако, я думаю, что new columns in DB
не собственной эмиссии для вашего, а с другой стороны MessageHeader
является Map
, так что вы можете перебирать свои записи и построить INSERT INTO...
заявление во время выполнения для каждого сообщения.
Надеюсь, что-то не пропустил ...
Спасибо за ответ. Я надеялся, что есть и другие решения. Теперь я знаю, что рабочее решение onyl состоит в том, чтобы взаимодействовать через элементы заголовка и сохранять их в db. Недостатком этого решения является то, что вам нужно написать свой собственный Java-код, чтобы сделать это, и нет встроенного решения для этой проблемы. –
M-m-m. Знаете ли вы аналогичное решение для чего-то другого, а не нашего «Карты» с заголовками? –