如何将旧的可执行文件集成到Spring Integration应用程序中?

时间:2016-02-12 15:30:33

标签: spring spring-integration

我在C中有一些基于输入文件工作的遗留程序,结果转到输出文件。这两个文件都在程序参数中指定。因此呼叫如下所示:

prj.exe  a.dat a.out

根据Artem Bilan的建议,我使用以下Spring配置文件创建了该项目。它适用于调用可执行文件!但是,我仍然遇到出站频道的问题。首先,它什么都没有,我收到错误“不支持的消息有效载荷类型”。其次,更重要的是,我需要通过Java程序处理输出文件a.out。组织此工作流程的最佳方法是什么?是否有可能将无效的inbound-channel-adapter替换为有用的东西?

<int-file:inbound-channel-adapter id="producer-file-adapter"
    channel="inboundChannel" directory="file:/Users/anarinsky/springint/chem"
    prevent-duplicates="true">
    <int:poller fixed-rate="5000" />
</int-file:inbound-channel-adapter>

<int:channel id="inboundChannel" />
<int:channel id="outboundChannel" />
<int:service-activator input-channel="inboundChannel"  output-channel="outboundChannel"
expression="new ProcessBuilder('/Users/anarinsky/springint/chem/prj', '/Users/anarinsky/springint/chem/a.dat', '/Users/anarinsky/springint/chem/a.out').start()">
</int:service-activator>

<int-file:outbound-channel-adapter
    channel="outboundChannel" id="consumer-file-adapter"
    directory="file:/Users/anarinsky/springint/chem"/>

1 个答案:

答案 0 :(得分:1)

这样的事情:

<int:service-activator expression="new ProcessBuilder('prj.exe', 'a.dat', 'a.out').start()"/>