【发布时间】:2022-01-12 09:07:49
【问题描述】:
我希望在多台机器上运行 Java 进程,每台机器都需要启动本地 OrientBD 服务器、加载图表、执行我们的进程,然后关闭。因此,我需要能够在 Java 中嵌入 OServer 启动进程。
有很多关于如何执行此操作的建议,包括 SA 问题,但大多数似乎已过时(因此请不要过早地将其标记为重复)。最直接相关的似乎是this,但它不起作用——至少对我来说。使用下面的代码,我得到了后续错误:
try {
final OServer server = OServerMain.create();
server.startup(server.getClass().getResourceAsStream("/orientdb-server-config.xml"));
server.activate();
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
2021-12-07 21:47:39:323 INFO Loading configuration from input stream [OServerConfigurationLoaderXml]
2021-12-07 21:47:39:633 INFO OrientDB Server v3.2.3 (build dc98198215aa57baf29b32adb657dc3733acdb55, branch develop) is starting up... [OServer]java.lang.NullPointerException
at com.orientechnologies.orient.core.Orient.onEmbeddedFactoryInit(Orient.java:957)
at com.orientechnologies.orient.core.db.OrientDBEmbedded.<init>(OrientDBEmbedded.java:97)
at com.orientechnologies.orient.core.db.OrientDBInternal.embedded(OrientDBInternal.java:119)
at com.orientechnologies.orient.server.OServer.startupFromConfiguration(OServer.java:388)
at com.orientechnologies.orient.server.OServer.startup(OServer.java:314)
at ems.definitions.instance.Graph.<init>(Graph.java:47)
我使用的是 OrientDB 3.2.3 版;从here 下载的“全部”.jar。注意这个jar不包含参数文件orientdb-server-config.xml,所以我直接从源GitHub下载了。
我的具体实现、我的一般方法或我正在使用的默认配置文件是否存在问题?我期待听到您的想法。
【问题讨论】:
标签: java orientdb graph-databases orientdb3.0