【发布时间】:2023-03-17 04:42:01
【问题描述】:
我怀疑是否可以解析 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 目标是使用 jndi-lookup 配置的 我尝试了一些变化,但都失败了。我认为必须将标头值传递给 BeanFactory,但不知道如何创建表达式,有人知道表达式应该是什么样子吗?
问候。
【问题讨论】:
-
对不起,代码 sn-p 的一些错别字...代码写在这里...
标签: java spring expression integration