1
@JmsListener(destination = "myListener")
    public void receive(Event even) {

            if (event.myObj().isComp()) {
                service1.m1(even);
            }
            if (event.myObj2().isdone()) {
                service2.m2(event);
            }
    }

我尝试了各种组合,其中一种如下

@Bean
    public IntegrationFlow flow1() {
        return IntegrationFlows
                .from(Jms.messageDrivenChannelAdapter(connectionFactory).destination("incomingQueue"))
                .<Event>filter(e -> ((Event)e).myObj().isComp()).handle(service1, "m1")
                .<Event>filter(e -> ((Event)e).myObj2().isdone()).handle(service2, "m2")//looks like its not called
                .get();
    }

但它不会在第二个过滤器/条件下执行。请建议我在这里缺少什么

4

1 回答 1

1

在我将 @ServiceActivator 注释放在 m1 和 m2 上之后,它起作用了。我的错,我在将代码转换为 SI 时错过了这个注释

于 2016-09-02T18:54:15.260 回答