将 MongoDB java 驱动程序与 MobileFirst Platform 8 Beta JavaScript 适配器一起使用
Using MongoDB java driver with MobileFirst Platform 8 Beta JavaScript Adapter
我正在尝试实现一个使用 mongodb java 驱动程序的 JavaScript 适配器。
我已经下载了 mongodb driver.
我的 pom.xml 中的依赖项如下所示:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/mongo-java-driver-3.2.2.jar</systemPath>
</dependency>
在实现中,我尝试实例化 MongoClient:
var mongoClient = new com.mongodb.MongoClient();
如果我尝试调用适配器,我收到一个错误:
25.05.16 14:13:45:301 MESZ] 0000bb8c
com.ibm.mfp.server.js.adapter.internal.JavascriptManagerImpl E
FWLST0904E: Exception was thrown while invoking procedure: getFeed in
adapter: MongoAdapter
org.mozilla.javascript.EcmaError: TypeError: [JavaPackage
com.mongodb.MongoClient] is not a function, it is object.
(MongoAdapter-impl.js#20)
似乎 jar 没有正确加载,即使适配器构建没有错误。
我上传了一个小型示例适配器项目 here。
我获取了示例适配器并将其构建并部署到 MobileFirst Server 8.0 beta。然后,我使用 Swagger 从 MobileFirst 控制台 -> 适配器 -> 资源对其进行了测试。 运行 getFeed 程序成功运行。
我看到您正在使用的 MongoDB .jar 是使用 Java 8 构建的。可能是您在本地是 运行 Java 7 并且这可能是失败的原因。
确认您使用的是 Java8,然后重试。
我正在尝试实现一个使用 mongodb java 驱动程序的 JavaScript 适配器。 我已经下载了 mongodb driver.
我的 pom.xml 中的依赖项如下所示:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/mongo-java-driver-3.2.2.jar</systemPath>
</dependency>
在实现中,我尝试实例化 MongoClient:
var mongoClient = new com.mongodb.MongoClient();
如果我尝试调用适配器,我收到一个错误:
25.05.16 14:13:45:301 MESZ] 0000bb8c com.ibm.mfp.server.js.adapter.internal.JavascriptManagerImpl E FWLST0904E: Exception was thrown while invoking procedure: getFeed in adapter: MongoAdapter org.mozilla.javascript.EcmaError: TypeError: [JavaPackage com.mongodb.MongoClient] is not a function, it is object. (MongoAdapter-impl.js#20)
似乎 jar 没有正确加载,即使适配器构建没有错误。
我上传了一个小型示例适配器项目 here。
我获取了示例适配器并将其构建并部署到 MobileFirst Server 8.0 beta。然后,我使用 Swagger 从 MobileFirst 控制台 -> 适配器 -> 资源对其进行了测试。 运行 getFeed 程序成功运行。
我看到您正在使用的 MongoDB .jar 是使用 Java 8 构建的。可能是您在本地是 运行 Java 7 并且这可能是失败的原因。
确认您使用的是 Java8,然后重试。