当前位置: 首页 > 知识库问答 >
问题:

如何将遗留可执行文件集成到Spring集成应用程序中?

弓嘉纳
2023-03-14

我有一些C语言的遗留程序,它们基于输入文件工作,结果进入输出文件。这两个文件都在程序参数中指定。因此,调用如下所示:

prj.exe  a.dat a.out

根据Artem Bilan的建议,我用下面的Spring配置文件创建了这个项目。它可以调用可执行文件!然而,我仍然存在出站通道的问题。首先,它不包含任何内容,我得到错误“不支持的消息负载类型”。其次,更重要的是,我需要用Java程序处理输出文件a.out。组织此工作流的最佳方式是什么?在这种情况下,是否可以将无用的入站通道适配器替换为有用的?

<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个答案

皇甫敏达
2023-03-14

像这样的东西:

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

?

 类似资料:
  • 我很难将spring-boot应用程序作为另一个java(非Spring)应用程序的依赖项。 我被要求用一些方法和对Oracle数据库的访问来开发一个新的REST API。为此,我使用了Spring-boot,应用程序本身或部署在服务器上都运行良好。经过几次调整,我把它分成了几个模块,如下所示: models:包含业务代码的模型对象 API:包含业务代码和实际API 对模型有依赖关系 包含连接到数

  • 我有一个遗留的应用程序,它是建立在一个旧的自定义MVC框架上的,我想最终远离它。这个框架不依赖于单个前端控制器,所以大多数页面仍然有专用的php文件来调用受人尊敬的控制器,其他的是混合的php/html。我已经阅读了使用各种方法(https://symfony.com/doc/current/migration.html)将应用程序迁移到symfony,但是我对这两种方法都有问题,并且意识到我并不

  • 现在我面临的问题是如何实现On-Prem和云应用程序之间的集成。我想了几个选择。 直接将消息从遗留的Tibco主题复制到。NET应用程序将消息发布到GCP中的pub/sub主题。我不是Tibco专家,不确定这是否得到支持。我找到了下面的链接,但不确定这是否适合我的用例。另外,客户想要离开Tibco,并且不确定数据中心上的遗留Tibco EMS是否支持下面的Tibco连接器功能。https://ww

  • 看来我在pom.xml的当前设置中遗漏了一些东西。目前,我有一个使用启动程序配置的Spring Boot应用程序。 现在我要将这个应用程序与Spring Cloud brixton.m1集成。根据文档,我需要添加以下块: 线程“main”java.lang.nosuchmethoderror中出现异常:org.springframework.core.resolvabletype.forinsta

  • 问题内容: 我有一个使用Spring Batch和Spring MVC的应用程序。我可以将Spring Batch Admin单独部署,并与我的应用程序使用的数据库一起使用,尽管我想将其集成到我自己的应用程序中,还可能会修改其中一些视图。 有没有简单的方法可以做到这一点,还是我必须将其分叉然后从那里去? 问题答案: 根据这个线程显然有一个简单的方法; 在以下位置为Batch Admin定义Disp

  • 问题内容: 我想将paytm钱包集成到我的android应用程序中。我在Google上发现了很多建议和文档,但没有任何效果。如果您知道任何文档,代码示例或有用的建议,请告诉我。提前致谢。 问题答案: 注意:以下是1.0版的内容,现在paytm更新了其sdk,因此您需要相应地进行更改。 转到链接: http://paywithpaytm.com/developer/ 并下载Android + SDK