Spring integration int jms:inbound gateway request destination的DSL版本是什么

Spring integration int jms:inbound gateway request destination的DSL版本是什么,spring-integration,spring-integration-dsl,Spring Integration,Spring Integration Dsl,我正在尝试创建一个应用程序,它将侦听JMS队列,处理消息并向另一个JMS队列发送响应。根据我对文档的理解,我可以使用JMS入站网关和一些处理程序来处理请求,如下所示: return IntegrationFlows.from( Jms.inboundGateway(connectionFactory) .destination("inQueue")

我正在尝试创建一个应用程序,它将侦听JMS队列,处理消息并向另一个JMS队列发送响应。根据我对文档的理解,我可以使用JMS入站网关和一些处理程序来处理请求,如下所示:

return IntegrationFlows.from(
                Jms.inboundGateway(connectionFactory)
                        .destination("inQueue")
                        .defaultReplyQueueName(responseQueue))
                .handle(handler)
                .get();
IntegrationFlows.from(Jms.inboundGateway(connectionFactory).defaultReplyQueueName(responseQueue)).handle(handler.get();
但是,我不知道如何通过DSL设置输入JMS队列。我发现通过XML可以做到以下几点:



遗憾的是
Jms.inboundGateway()
不允许设置请求目标。如何设置它?

在该
规范中有两个目的地选项:

    /**
     * @param destination the destination
     * @return the spec.
     * @see JmsListenerContainerSpec#destination(Destination)
     */
    public JmsInboundGatewayListenerContainerSpec<S, C> destination(Destination destination) {
        this.spec.destination(destination);
        return _this();
    }

    /**
     * @param destinationName the destinationName
     * @return the spec.
     * @see JmsListenerContainerSpec#destination(String)
     */
    public JmsInboundGatewayListenerContainerSpec<S, C> destination(String destinationName) {
        this.spec.destination(destinationName);
        return _this();
    }
我不知道为什么你看不见

另一方面,我明白你的意思。可能最好将该选项命名为
requestDestination
,以便与
replyQueueName
和XML DSL中的相同选项保持一致。您可以随意提出GH问题,甚至可以就此事提供意见,反对现有的
目的地
选项

请参见此处的修复程序: