手动响应从一个调用java程序到另一个

时间:2014-07-27 18:22:25

标签: java anylogic

我有一个关于两个Java程序的通信的问题,一个嵌入另一个。

嵌入式程序是CPLEX线性程序(Java SE + CPLEX libs),它计算资源,而另一个根应用程序是仿真软件(AnyLogic)。现在的想法是模拟应该使用线性程序计算的资源。

我现在希望模拟调用线性程序,然后计算资源并将它们作为数组或对象传回,然后继续模拟。

Simulation (AnyLogic) ----> Linear Program (CPLEX)
             <--------(VALUES?)--------|

我的问题是“交出”,返回值(args)缝不够。我怎么能这样做?

目前我使用存储值的文本文件。我读到了关于RMI和套接字但不知道这是不是一个好主意。

任何帮助表示赞赏!谢谢。

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是使用Java Process启动CPLEX程序。 The first answer to this question详细说明了如何从已启动的Process获取反馈(以及如何启动它)。具体来说,它显示了如何启动打印其输出的Process,随后由启动程序读取。我想您的CPLEX程序可以打印出任何相关结果,然后AnyLogic仿真可以通过所描述的机制获取。