将事件从C#应用程序传递到Java应用程序

时间:2011-04-10 15:24:02

标签: c# java events filesystemwatcher

我有一个Java应用程序,它在客户端计算机上启动一个小型C#应用程序。

我需要一个简单的解决方案来在C#和Java应用程序之间传递事件。

为了处理相反的方向(Java-> C#)我正在使用FileSystemWatcher,它监听文件夹更改事件。 Java应用程序将空文件写入共享文件夹,C#应用程序根据(空)文件名处理这些事件(然后将其从“队列”中删除)。 无法找到与FileSystemWatcher等效的Java来解决将事件从C#传递到Java的问题。

有什么创意吗? (提醒:这只是一个Java应用程序,因此我没有Apache服务器或类似的东西)。

由于

5 个答案:

答案 0 :(得分:3)

2010年写的一篇很好的简单文章

Use Named Pipes to Communicate Between Java and .Net Processes

答案 1 :(得分:1)

http://jni4net.sourceforge.net/

这可能是你的选择。

这似乎是

的副本

IPC between .NET and Java client applications

答案 2 :(得分:1)

我会使用像ActiveMQ这样的简单JMS服务器来回传递消息。

答案 3 :(得分:1)

基本上你需要进程间通信。有很多方法。

  • 插槽
  • 命名管道
  • 任何分布式队列,如RabbitMQ,ActiveMQ,e.t.c。
  • 命名为Mutex

http://www.ikvm.net/

e.t.c。

答案 4 :(得分:1)

有许多可能的方法,但它们通常分为两类:

java< - > c#interop(如http://jni4net.sourceforge.net/) 要么 某种形式的标准化通信,如webservices(它们不需要“服务器”),例如C#中的WCF和java端的Metro。

BTW:你真的不应该使用文件系统来传递事件。