我可以使用apache骆驼获得多个输出吗?

时间:2018-10-24 12:10:47

标签: java rest apache-camel netty

我正在使用apache骆驼路线。我在其中编写了一个套接字,其套接字参数为netty的编码器和解码器。

我将输入作为字符串提供,我想获得两个字符串作为输出。编码器和解码器正在产生两个输出,但是在路线上,我只获得第一个输出,而不是第二个。

有没有办法在apache骆驼路线中为单个输入获取多个输出?

这是我的路线:

<post uri="/testaddstring">
     <route id="testaddstring">
            <script>
               <groovy>
                  <![CDATA[
                    String originalFileContent =(String)exchange.getIn().getBody(String.class);
                                    exchange.getIn().setBody(originalFileContent)
                                    System.out.println("in test add");
                                ]]>
                                </groovy>
                            </script>
                             <to uri="netty4:tcp://localhost:5030?sync=true&amp;encoder=#i8583Encoder&amp;decoder=#i8583Decoder"/> 
                        </route>
                    </post>

套接字:

<route id="i8583SocketService">
    <from
        uri="netty4:tcp://localhost:5030?sync=true&amp;encoder=#iEncoder&amp;decoder=#iDecoder" />
    <to
        uri="log:i8583SocketService?level=INFO&amp;showAll=true&amp;multiline=true" />      
</route>

1 个答案:

答案 0 :(得分:0)

我不太了解您的问题,但是如果您发送1条消息到骆驼路线,并且想要从中获得2条消息,则通常必须使用Splitter EIP将原始邮件分为多个部分,并将这些部分作为单独的邮件进行路由。