An error occurred while trying to connect to the Java server (127.0.0.1:25333)
lakshmiravalir opened this issue · comments
Hi,
I am trying to use Py4j in a code where java and python code deployed as one AWS lambda:
Java code:
package example;
import com.mypackage.RunClass;
import py4j.GatewayServer;
public class CallClass{
private RunClass runclass;
public CallClass()
{
System.out.println("Starting CallClass");
runclass = new RunClass();
}
public RunClass getRunClass(){
return runclass;
}
public static void main(String[] args) {
GatewayServer gatewayServer = new GatewayServer(new CallClass());
gatewayServer.start();
System.out.println("Gateway Server Started");
}
}
Python lambda code:
def handle_request():
input = "ravali1245"
gateway = JavaGateway()
java_object = gateway.entry_point.getRunClass()
res = java_object.runMethod(input)
print(res)
However I am getting below error:
{
"errorMessage": "An error occurred while trying to connect to the Java server (127.0.0.1:25333)",
"errorType": "Py4JNetworkError",
"stackTrace": [
" java_object = gateway.entry_point.getRunClass()\n",
" File \"/var/task/py4j/java_gateway.py\", line 1284, in __call__\n answer = self.gateway_client.send_command(command)\n",
" File \"/var/task/py4j/java_gateway.py\", line 1012, in send_command\n connection = self._get_connection()\n",
" File \"/var/task/py4j/java_gateway.py\", line 960, in _get_connection\n connection = self._create_connection()\n",
" File \"/var/task/py4j/java_gateway.py\", line 966, in _create_connection\n connection.start()\n",
" File \"/var/task/py4j/java_gateway.py\", line 1108, in start\n raise Py4JNetworkError(msg, e)\n"
]
}
JDK11
Python3
Py4J = 0.10.x
I am using default ports from Java and Python.
Is there anything I am missing here?
Would be helpful if you check just a regular socket server/client works in your env (e.g., https://github.com/ParadropLabs/python-socket-example)