繁体   English   中英

NextGen (Mirth) Connect & MongoDB java 驱动程序错误

[英]NextGen (Mirth) Connect & MongoDB java driver error

我正在尝试配置 Mirth Connect Server 3.10.1(Java 版本:1.8.0_181),将 FHIR JSON 文档写入 MongoDB。 我已按照这篇文章中的说明进行操作,并将这些驱动程序放在custom-lib/

  • bson-4.2.0.jar
  • mongodb-driver-3.9.1.jar
  • mongodb-driver-core-4.2.0.jar

我的conf/dbdrivers.xml有这样的条目,

<driver class"org.mongodb.Driver" name="MongoDB" template="mongodb://localhost:27017/" selectLimit="" />

我已经使用JavaScript Writer器连接器类型设置了我的通道目标并使用了这个 JS,

var mongoClient = new Packages.com.mongodb.MongoClient("localhost", 27017);
var database = mongoClient.getDatabase("synthea");
var collection = database.getCollection("synthea");                   
var jsonDoc = JSON.stringify(connectorMessage.getEncodedData(msg));
var doc = Packages.org.bson.Document.parse(jsonDoc);

collection.insertOne(doc);
var myDoc = collection.find().first();
logger.debug(myDoc.toJson());

mongoClient.close();

return;

当我部署频道时,我收到了这个错误。

谁能告诉我这是什么意思?

非常感谢任何帮助或指导(谦虚地)。

JavaScript Writer error
ERROR MESSAGE: Error evaluating JavaScript Writer
java.lang.NoSuchMethodError: 'com.mongodb.connection.ConnectionPoolSettings$Builder com.mongodb.connection.ConnectionPoolSettings$Builder.maxWaitQueueSize(int)'
    at com.mongodb.MongoClientOptions.<init>(MongoClientOptions.java:149)
    at com.mongodb.MongoClientOptions.<init>(MongoClientOptions.java:57)
    at com.mongodb.MongoClientOptions$Builder.build(MongoClientOptions.java:1612)
    at com.mongodb.MongoClient.<init>(MongoClient.java:155)
    at com.mongodb.MongoClient.<init>(MongoClient.java:145)
    at jdk.internal.reflect.GeneratedConstructorAccessor135.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
    at org.mozilla.javascript.MemberBox.newInstance(MemberBox.java:171)
    at org.mozilla.javascript.NativeJavaClass.constructInternal(NativeJavaClass.java:268)
    at org.mozilla.javascript.NativeJavaClass.constructSpecific(NativeJavaClass.java:207)
    at org.mozilla.javascript.NativeJavaClass.construct(NativeJavaClass.java:169)
    at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1713)
    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1009)
    at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:412)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3545)
    at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:121)
    at com.mirth.connect.server.util.javascript.JavaScriptTask.executeScript(JavaScriptTask.java:150)
    at com.mirth.connect.connectors.js.JavaScriptDispatcher$JavaScriptDispatcherTask.doCall(JavaScriptDispatcher.java:230)
    at com.mirth.connect.connectors.js.JavaScriptDispatcher$JavaScriptDispatcherTask.doCall(JavaScriptDispatcher.java:190)
    at com.mirth.connect.server.util.javascript.JavaScriptTask.call(JavaScriptTask.java:113)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:832)

我感觉这是由于驱动程序版本不匹配造成的。 3.9版有错误中指出的方法,但4.2版没有。

一旦你把它整理好,你就会想要改变这条线

var jsonDoc = JSON.stringify(connectorMessage.getEncodedData(msg));

对此

var jsonDoc = connectorMessage.getEncodedData();

Javascript Writer 中不存在msgconnectorMessage.getEncodedData()不接受任何参数并返回一个字符串。 connectorMessage是来自 Mirth 用户 API 的ImmutableConnectorMessage的一个实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM