Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Delphi中的Java函数/类_Java_Delphi - Fatal编程技术网

使用Delphi中的Java函数/类

使用Delphi中的Java函数/类,java,delphi,Java,Delphi,在delphi中,我试图从外部Java程序调用函数。有什么办法吗?如果它是一个正在运行的Java应用程序,您需要公开对该函数的访问。有无数种可能的解决方案 如果它只有一个功能或功能非常有限,那么监听普通的套接字或命名管道是一个目前被低估和遗忘的解决方案 在集成的下一步中,我将研究异步消息传递。嵌入activemq服务器或类似服务器或在单独的进程中启动它很容易。这有许多优点,例如,只需使用一个侦听线程,就可以轻松地在Java进程中同步请求,并且在Java程序不可用或Delphi程序不可用时,可以很

在delphi中,我试图从外部Java程序调用函数。有什么办法吗?

如果它是一个正在运行的Java应用程序,您需要公开对该函数的访问。有无数种可能的解决方案

如果它只有一个功能或功能非常有限,那么监听普通的套接字或命名管道是一个目前被低估和遗忘的解决方案

在集成的下一步中,我将研究异步消息传递。嵌入activemq服务器或类似服务器或在单独的进程中启动它很容易。这有许多优点,例如,只需使用一个侦听线程,就可以轻松地在Java进程中同步请求,并且在Java程序不可用或Delphi程序不可用时,可以很好地定义行为。它非常容易管理,并且您可以免费获得仪器

嵌入式Jetty Web服务器是一个简单、可靠的解决方案,它实现了一个servlet来满足您的需求。同样,许多复杂性现在都是通过使用普遍存在的标准协议来处理的


还有像COM、Corba、SOAP这样的同步RPC方法,我个人认为这些方法太复杂,容易出错,而且不利于维护,无法用于进程之间的临时通信。如果你想建立一个完整的基础设施,让人们互相交谈,这可能是值得的,但不是让两个程序交谈

调用本机代码的标准过程是通过。在JNI和Delphi上搜索将显示多个页面,详细说明如何完成此操作,如和


更可取的做法是(设置一些进程外服务器(比如Peter已经详细介绍过了,所以我跳过了),还是使用JNI调用库取决于调用频率(以及实时性)您需要这样做,并且在允许的安装/配置复杂性上检查此项。您可能会发现一些帮助SOAP服务器可以通过几行代码在标准Java 6中实现,请参阅“使用Web服务的Delphi和Java集成”-