猿问

如何在go中使用java

由于某些原因,我必须将go用作新的Web项目的后端语言。

但是,我们将使用的一些API是用Java编写的,并打包在.jar文件中。

我是新手,我该如何使用go以一致的方式与Java合作,这样当HTTP请求到达时,go将处理它并将某些函数委托给Java,然后返回响应。


慕丝7291255
浏览 304回答 1
1回答

小怪兽爱吃肉

您的Java公开哪种API?如果它公开了RPC API,则可以利用Go的json-rpc模块。如果它公开了RESTful API,则可以利用Go的http模块。您还可以生成一个子进程(您的Java代码)并通过stdin和stdout管道与其进行对话。您将为此使用exec模块。那不是详尽的沟通清单,只是想到的前三个。您还可以使用XML API,共享内存或命名管道。另外,您正在寻找像0mq这样的消息队列。0mq处理IPC的许多棘手问题,例如,如果接收方过载,则使发送方回退发送请求,消息成帧以及在发生故障后重新连接。您可以通过多种方式在Java代码和Go代码之间进行通信。我认为最后通过HTTP API这样做是最常见和最简单的。在Java服务器中公开RESTful或RPC API,将其作为HTTP API服务运行,编写Go语言来处理传入的HTTP请求,然后与Go语言中的Java API连接以帮助创建响应。
随时随地看视频慕课网APP

相关分类

Go
我要回答