【发布时间】:2019-11-27 08:16:19
【问题描述】:
我正在构建一个 Java REST 应用程序,该应用程序通过我在 Ubuntu 上运行的 Rserve 调用 R 函数。我正在调用的 R 函数通过 RJDBC 数据库调用 Oracle,收集数据等等。
根据我理解的文档,如果我在 linux 系统上运行 Rserve,我不需要在不同的端口上启动单独的实例,并且运行一个 Rserve 实例就足够了。
所以我正在创建这样的连接:
public static synchronized RConnection getConnection() throws RserveException {
if(connection == null || !connection.isConnected()) {
connection = new RConnection(HOST);
init(connection);
}
return connection;
}
对于 1 个用户来说一切正常,但同时出现错误:
Error in .jcall("java/sql/DriverManager", "Ljava/sql/Connection;", "getConnection", :
ignoring SIGPIPE signal
我应该为每个呼叫创建单独的连接还是应该在一个连接中拨打电话?
【问题讨论】:
标签: java r parallel-processing rserve