将 MongoDB java 驱动程序与 MobileFirst Platform 8 Beta JavaScript Adapter 一起使用
Posted
技术标签:
【中文标题】将 MongoDB java 驱动程序与 MobileFirst Platform 8 Beta JavaScript Adapter 一起使用【英文标题】:Using MongoDB java driver with MobileFirst Platform 8 Beta JavaScript Adapter 【发布时间】:2016-05-25 12:32:48 【问题描述】:我正在尝试实现一个使用 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: 调用过程时引发异常:getFeed in 适配器:MongoAdapter org.mozilla.javascript.EcmaError: TypeError: [JavaPackage com.mongodb.MongoClient] 不是函数,它是对象。 (MongoAdapter-impl.js#20)
看起来,jar 没有正确加载,即使适配器构建没有错误。
我已经上传了一个小的示例适配器项目here。
【问题讨论】:
【参考方案1】:我采用示例适配器并将其构建并部署到 MobileFirst Server 8.0 beta。然后,我使用 MobileFirst 控制台 -> 适配器 -> 资源中的 Swagger 对其进行了测试。成功运行 getFeed 过程。
我看到您使用的 MongoDB .jar 是使用 Java 8 构建的。可能是您在本地运行 Java 7,这可能是失败的原因。
确认您使用的是 Java 8,然后重试。
【讨论】:
谢谢,使用 Java 8 构建适配器并在 Java 8 上运行 MFP 工作正常。以上是关于将 MongoDB java 驱动程序与 MobileFirst Platform 8 Beta JavaScript Adapter 一起使用的主要内容,如果未能解决你的问题,请参考以下文章