第一次连接后,Mule4 上的 MongoDb 连接器 5 出错



我正在新的 Mule 运行时 4 上移动流,但我对 MongoDB 连接器版本 5 有问题。在第一个连接工作正常之后,从第二个连接开始,它会抛出错误:

ERROR 2018-01-15 10:37:53,319 [[MuleRuntime].io.02: [Payments].PaymentsFlow.BLOCKING @6f02d89b] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler: 
********************************************************************************
Message               : An exception occurred while converting from java.io.ByteArrayInputStream@1a1e83e.
Element               : PaymentsFlow/processors/0 @ Payments:Payments.xml:69 (Find one document)
Element XML           : <mongo:find-one-document collectionName="Errors" doc:name="Find one document" doc:id="401053b0-2e5d-4c56-adcf-2ee07f8c67d6" config-ref="MongoDB_Config" failOnNotFound="false">
                        <mongo:find-query>{"Process":true}</mongo:find-query>
                        </mongo:find-one-document>
Error type            : MULE:UNKNOWN
--------------------------------------------------------------------------------
Root Exception stack trace:
org.bson.BsonInvalidOperationException: readStartDocument can only be called when CurrentBSONType is DOCUMENT, not when CurrentBSONType is END_OF_DOCUMENT.
    at org.bson.AbstractBsonReader.verifyBSONType(AbstractBsonReader.java:655)
    at org.bson.AbstractBsonReader.checkPreconditions(AbstractBsonReader.java:687)
    at org.bson.AbstractBsonReader.readStartDocument(AbstractBsonReader.java:421)
    at org.bson.codecs.DocumentCodec.decode(DocumentCodec.java:138)
    at org.bson.codecs.DocumentCodec.decode(DocumentCodec.java:45)
    at org.bson.Document.parse(Document.java:105)
    at org.bson.Document.parse(Document.java:90)
    at org.mule.modules.mongo.internal.util.ConverterUtils.toDocument(ConverterUtils.java:69)
    at org.mule.connectors.atlantic.commons.builder.execution.GenericExecutionBuilder.withParam(GenericExecutionBuilder.java:23)
    at org.mule.modules.mongo.internal.operation.DocumentOperations.findOneDocument(DocumentOperations.java:295)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:203)
    at org.mule.runtime.module.extension.internal.runtime.execution.ReflectiveMethodComponentExecutor.lambda$execute$0(ReflectiveMethodComponentExecutor.java:76)
    at org.mule.runtime.core.api.util.ExceptionUtils.tryExpecting(ExceptionUtils.java:215)
    at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:847)
    at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:813)
    at org.mule.runtime.module.extension.internal.runtime.execution.ReflectiveMethodComponentExecutor.execute(ReflectiveMethodComponentExecutor.java:75)
    at org.mule.runtime.module.extension.internal.runtime.operation.ReflectiveMethodOperationExecutor.execute(ReflectiveMethodOperationExecutor.java:64)
    at org.mule.runtime.module.extension.internal.runtime.execution.InterceptableOperationExecutorWrapper.execute(InterceptableOperationExecutorWrapper.java:60)
    at org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$null$3(DefaultExecutionMediator.java:142)
    at org.mule.runtime.core.api.util.ExceptionUtils.tryExpecting(ExceptionUtils.java:215)
    at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:847)
    at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:813)
    at org.mule.runtime.module.extension.internal.runtime.operation.DefaultExecutionMediator.lambda$executeWithInterceptors$9(DefaultExecutionMediator.java:142)
    at reactor.core.* (23 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at org.mule.runtime.core.internal.processor.interceptor.ReactiveInterceptionAction.proceed(ReactiveInterceptionAction.java:70)
    at com.mulesoft.mule.debugger.server.DebuggerInterceptor.around(DebuggerInterceptor.java:70)
    at org.mule.runtime.core.internal.processor.interceptor.ReactiveAroundInterceptorAdapter.lambda$doAround$3(ReactiveAroundInterceptorAdapter.java:93)
    at org.mule.runtime.core.api.util.ExceptionUtils.tryExpecting(ExceptionUtils.java:215)
    at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:847)
    at org.mule.runtime.core.api.util.ClassUtils.withContextClassLoader(ClassUtils.java:813)
    at org.mule.runtime.core.internal.processor.interceptor.ReactiveAroundInterceptorAdapter.doAround(ReactiveAroundInterceptorAdapter.java:92)
    at org.mule.runtime.core.internal.processor.interceptor.ReactiveAroundInterceptorAdapter.lambda$null$1(ReactiveAroundInterceptorAdapter.java:59)
    at reactor.core.* (31 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at org.mule.runtime.core.privileged.processor.chain.* (1 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at reactor.core.* (40 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at org.mule.runtime.core.privileged.processor.chain.* (1 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at reactor.core.* (46 elements filtered from stack; set debug level logging or '-Dmule.verbose.exceptions=true' for everything)(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.mule.service.scheduler.internal.AbstractRunnableFutureDecorator.doRun(AbstractRunnableFutureDecorator.java:93)
    at org.mule.service.scheduler.internal.RunnableFutureDecorator.run(RunnableFutureDecorator.java:56)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

有人可以提示正在发生的事情吗?我真的被困住了。

由于它收集了文档,我认为它被挂起了集合中的下一个对象。

你能尝试使用

<mongo:find-documents>

代替

and let me now if it works..

好的,我已经想通了。mongo 查询(位于标签 <mongo:find-query>{"Process":true}</mongo:find-query> 之间(无法解析 mongo 形状。在 mongo 形状之前将其放入转换中,解决问题

最新更新