2016-04-21 42 views
1

我正在使用Spring批量集成,我必須動態傳遞作業參數。以下是我的服務激活器類,它將我的消息轉換爲JobLaunchRequest。工作啓動 - 網關動態作業參數

注意:沒有指定通道名稱,因爲它在鏈中。

<int:service-activator id="msgToJob"> 
    <bean class="org.xyz.transformer.MessageToJob"> 
     <property name="job" ref="myJob"/> 
    </bean> 
</int:service-activator> 

如何從有效載荷或頭等動態地傳遞作業參考? 請建議合適的解決方案。

我有計劃使用路由器來確定作業並使用相應的服務激活器通道。有沒有更好的方法?

回答

1
<int:header-enricher ... > 
    <int:header name="jobRef" expression="@someJob" /> 
</int:header-enricher> 

對於Spring Integeration中的運行時SpEL表達式,@在應用程序上下文中引用了一個bean。

+0

試過上面的例子,它的作品就像一個魅力!一個更快的問題:@someJob - 這可以是動態的。簡而言之,有些豆豆將在稍後由動態輸入標識。 –

+0

請忽略上面的評論,我從應用程序上下文中取得jobId並將其傳遞給...感謝您的快速回復。 –