2012-10-30 2 views
1
<route> 
    <from uri="direct:insert"/> 
    <setHeader headerName="SolrOperation"> 
     <constant>INSERT</constant> 
    </setHeader> 
    <setHeader headerName="SolrField.id"> 
     <simple>${body}</simple> 
    </setHeader> 
    <to uri="solr://localhost:8983/solr"/> 
</route> 

이것은 'id'필드에 $ {body}를 설정하는 샘플 코드이지만 SolrInputDocument 또는 이와 동등한 XML로 메시지 본문을 지원하므로 위의 XML 경로에서 어떻게 처리해야할까요?SollInputDocument 또는 XML을 camel-solr xml route에 값으로 추가하려면 어떻게합니까?

답변

0

당신이 SolrInputDocument이있는 경우, 다음 단지

//example producer code 
SolrInputDocument doc = new SolrInputDocument(); 
doc.addField("id", "MA147LL/A", 1.0f); 
template.sendBodyAndHeader("direct:start", doc, SolrConstants.OPERATION, SolrConstants.OPERATION_INSERT); 

//simplified route that just expects the message body and OPERATION header are setup appropriately 
<from uri="direct:insert"/> 
<to uri="solr://localhost:8983/solr"/> 

자세한 내용은 단위 테스트를 참조 ... 경로에 메시지의 본문으로 전달하고 작동 헤더가 적절하게 설정되어 있는지 확인합니다. ..

https://svn.apache.org/repos/asf/camel/trunk/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrUpdateTest.java

+0

당신의 답장을 보내 주셔서 감사합니다 수 있지만, 나는 위와 같이, 일반 XML에 그 설정? 아니면 JAVA 코드를 사용해야합니까? – simonxy

+0

경로가 XML 또는 Java 일 수 있습니다. –

관련 문제