java提供server能力

首先java服务中引用 依赖

    <dependency>
      <groupId>net.sf.py4j</groupId>
      <artifactId>py4j</artifactId>
      <version>0.10.7</version>
    </dependency>

首先java端定义使用pythonServer网关入口

com.test.EntryPoint

入口

package com.test;

import py4j.GatewayServer;

public class EntryPoint {

private Stack stack;

public EntryPoint() {

stack = new Stack();

stack.push("Initial Item");

}

public Stack getStack() {

return stack;

}

public static void main(String[] args) {

// EntryPoint 为暴露的服务

GatewayServer gatewayServer = new GatewayServer(new EntryPoint(),11111);

gatewayServer.start();

System.out.println("Gateway Server Started");

}

}

python调用java服务。

python调用

推荐基于venv 运行处理

from py4j.java_gateway import JavaGateway, GatewayParameters

// 注意访问端口,需要和暴露的一致

gateway = JavaGateway(gateway_parameters=GatewayParameters(port=11111))

stack = gateway.entry_point.getStack()

random = gateway.jvm.java.util.Random()

value = random.nextInt(10)

stack.push("First %s" % ('item'))

item = stack.pop()

print(item)

print(value)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐