2014-02-26 54 views
0

我具有限定在配置方法下列路線的爪哇駱駝例如:如何在線程池中使用apache-camel DSL?

public final void configure() throws OperationNotSupportedException{ 
    RouteDefinition route = from("xmpp://localhost:5222/?blablabla..."); 

    // apply pre-processing filter 
    FilterDefinition filterDefinition = route.filter().method(...); 

    // apply main processor 
    ExpressionNode expressionNode = filterDefinition.process(...); 

    //apply post-processing filter 
    filterDefinition = expressionNode.filter().method(...); 

    // set destination 
    expressionNode = filterDefinition.to("esper://session_X"); 
} 

然而這一段代碼也是一個瓶頸,我想提高其效率。爲了實現這一點,我嘗試使用線程池:

RouteDefinition route = from("xmpp://localhost:5222/?blablabla...").threads(10); 

但是,我總是得到一個錯誤。在這種情況下,我得到一個「無法從RouteDefinition轉換爲ThreadsDefinition」錯誤。我怎樣才能讓這段代碼與線程池一起工作以提高其效率?

+0

火焰:你是怎麼解決這個問題? – Sri

+0

我用'ThreadsDefinition'iirc替換了'RouteDefinition'。它已經有一段時間了xD –

回答

2

您可以簡單地改變你的代碼:

ThreadsDefinition route = from("...").threads(10); 


RouteDefinitionThreadsDefinition兩個延伸ProcessorDefinition<Type>

+0

但是如果我這樣做了,我的代碼將在後面爆炸,因爲它們不一樣。這是我的主要問題。 –

+0

你的意思是「他們不一樣」。你可以發佈你的堆棧跟蹤 –

+0

當然,給一個短信編輯帖子! –