将 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,然后重试。