323.11.2. 본문 및 헤더를 텍스트로 저장
Camel 2.11에서 사용 가능
메시지 본문을 저장하고 (ed) 헤더를 별도의 열에서 String로 선택하도록 JdbcAggregationRepository
을 구성할 수 있습니다. 예를 들어 본문을 저장하고 다음 두 개의 헤더 companyName
및 accountName
은 다음 SQL을 사용합니다.
CREATE TABLE aggregationRepo3 ( id varchar(255) NOT NULL, exchange blob NOT NULL, body varchar(1000), companyName varchar(1000), accountName varchar(1000), constraint aggregationRepo3_pk PRIMARY KEY (id) ); CREATE TABLE aggregationRepo3_completed ( id varchar(255) NOT NULL, exchange blob NOT NULL, body varchar(1000), companyName varchar(1000), accountName varchar(1000), constraint aggregationRepo3_completed_pk PRIMARY KEY (id) );
그런 다음 다음과 같이 이 동작을 활성화하도록 리포지토리를 구성합니다.
<bean id="repo3" class="org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository"> <property name="repositoryName" value="aggregationRepo3"/> <property name="transactionManager" ref="txManager3"/> <property name="dataSource" ref="dataSource3"/> <!-- configure to store the message body and following headers as text in the repo --> <property name="storeBodyAsText" value="true"/> <property name="headersToStoreAsText"> <list> <value>companyName</value> <value>accountName</value> </list> </property> </bean>