2013-02-27 62 views
2

我有這樣一個代碼 -如何訪問(獲取)駱駝頭在Java DSL

 // use streaming to increase index throughput 
      .setHeader(SolrConstants.OPERATION, 
        constant(SolrConstants.OPERATION_INSERT_STREAMING)) 
      // define solr endpoint and options 
      .to("solr://" 
        + getSolrEndPoint() 
        + "?defaultMaxConnectionsPerHost=500&streamingThreadCount=500&maxRetries=3") 
      .log(LoggingLevel.INFO, "Successfully indexed document id [" +header(BatchHeaders.DOCUMENT_ID) +"]") 
      // end this route 
      .end(); 

但我m如果您在日誌中 -

severity="INFO " thread="Camel (camel-1) thread #123 - seda://insert" category="route2" Successfully indexed document id [header{DOC_ID}] 

我不是得到實際的標題值(文檔ID)。
所以我的問題是 - 如何在這裏訪問Java DSL中的頭文件?

回答

3

日誌中的DSL使用簡單的語言:http://camel.apache.org/simple

所以,你需要做這樣的

.log(LoggingLevel.INFO, "Successfully indexed document id [${header." + BatchHeaders.DOCUMENT_ID + "}]") 

例如$ {} header.xxx用簡單的語言是在運行時評估。