簡體   English   中英

用於應用程序上下文的Bean引用的Spring集成表達式

[英]Spring Integration Expression For Bean References on Application Context

我懷疑是否有可能解析JMS目標的Bean引用以配置JMS適配器。

我在Spring上配置了以下幾個目標:

<jee:jndi-lookup id="BeanID" jndi-name="jms/QUEUE" lazy-init="false"/>

然后我在消息標題上放一個值,如:

@ServiceActivator
public Message<?> sendToJms(Message<?> messageInput){ 
    String queueName = solveQueueName(refToSolveBeanID); 
    return MessageBuilder.withPayload(messageInput.getPayLoad()).setHeader("beanIdHeaderRef, queueName ).builder();
}

現在,我的問題是如何構造表達式以解決以下配置在Spring Context上的bean引用。

<int:chain input-channel="jmsChannel">
        <jms:outbound-channel-adapter  
            connection-factory="solicitacaoConnFactory"   destination-expression="headers.beanIdHeaderRef">
        </jms:outbound-channel-adapter>
    </int:chain>

如您所見,JMS Destination是使用jndi-lookup配置的,我嘗試了一些更改,但都失敗了。 我以為必須將標頭值傳遞給BeanFactory,但不知道如何創建表達式,有人知道表達式應該是什么樣子嗎?

問候。

查看您的代碼,我看不到有理由從SpEL訪問BeanFactory的原因。 您可以將refToSolveBeanID解析為目標Destination並將該對象直接放置在headers

但是您的SpEL相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM