Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Mongo Java驱动程序迭代器身份验证问题_Mongodb_Spring Boot_Ssl_Iterator_Mongo Java Driver - Fatal编程技术网

Mongodb Mongo Java驱动程序迭代器身份验证问题

Mongodb Mongo Java驱动程序迭代器身份验证问题,mongodb,spring-boot,ssl,iterator,mongo-java-driver,Mongodb,Spring Boot,Ssl,Iterator,Mongo Java Driver,我在尝试迭代集合时遇到了一个奇怪的问题。 我使用SpringBoot和MongoJava驱动程序,可以在docker compose上很好地连接和验证MongoDB,并进行验证。 但当这部分代码运行时,它会给出一个错误 @Autowired 私人MongoCollection收藏; @计划(initialDelay=112500,fixedRate=3600000)//1小时3600000 公共作废sendEngagementNotification(){ 日期时间现在=新日期(); findI

我在尝试迭代集合时遇到了一个奇怪的问题。 我使用SpringBoot和MongoJava驱动程序,可以在docker compose上很好地连接和验证MongoDB,并进行验证。 但当这部分代码运行时,它会给出一个错误

@Autowired
私人MongoCollection收藏;
@计划(initialDelay=112500,fixedRate=3600000)//1小时3600000
公共作废sendEngagementNotification(){
日期时间现在=新日期();
findItemerable=collection.find();
MongoCursor=iterable.iterator();
试一试{
while(cursor.hasNext()){
...
}
}
它给了我这个堆栈跟踪:

mongo | 2020-03-30T18:01:18.044+0000 I  NETWORK  [listener] connection accepted from 192.168.240.20:56152 #2 (2 connections now open)
mongo | 2020-03-30T18:01:18.058+0000 I  NETWORK  [conn2] received client metadata from 192.168.240.20:56152 conn2: { driver: { name: "mongo-java-driver|sync", version: "3.12.2" }, os: { type: "Linux", name: "Linux", architecture: "amd64", version: "4.19.76-linuxkit" }, platform: "Java/IcedTea/1.8.0_212-b04" }
mongo | 2020-03-30T18:01:18.062+0000 I  SHARDING [conn2] Marking collection admin.system.users as collection version: <unsharded>
mongo | 2020-03-30T18:01:18.289+0000 I  ACCESS   [conn2] SASL SCRAM-SHA-1 authentication failed for user on notification from client 192.168.240.20:56152 ; AuthenticationFailed: SCRAM authentication failed, storedKey mismatch
mongo | 2020-03-30T18:01:18.445+0000 I  NETWORK  [conn2] end connection 192.168.240.20:56152 (1 connection now open)

notification  | 2020-03-30 18:01:18.450  INFO 20 --- [   scheduling-1] org.mongodb.driver.connection            : Closed connection [connectionId{localValue:2}] to mongo-notification:27017 because there was a socket exception raised by this connection.
notification  | 2020-03-30 18:01:18.456 ERROR 20 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task
notification  | 
notification  | com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='user', source='notification', password=<hidden>, mechanismProperties=<hidden>}
notification  |     at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:201) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:78) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:207) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:156) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:398) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:101) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:92) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:126) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.operation.FindOperation$1.call(FindOperation.java:728) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.operation.FindOperation$1.call(FindOperation.java:725) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.operation.OperationHelper.withReadConnectionSource(OperationHelper.java:463) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.operation.FindOperation.execute(FindOperation.java:725) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.operation.FindOperation.execute(FindOperation.java:89) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:196) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.client.internal.MongoIterableImpl.execute(MongoIterableImpl.java:143) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.client.internal.MongoIterableImpl.iterator(MongoIterableImpl.java:92) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at notification_service.EngagementTask.sendEngagementNotification(EngagementTask.java:42) ~[classes!/:na]
notification  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_212]
notification  |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_212]
notification  |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212]
notification  |     at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
notification  |     at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ~[spring-context-5.2.2.RELEASE.jar!/:5.2.2.RELEASE]
notification  |     at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.2.2.RELEASE.jar!/:5.2.2.RELEASE]
notification  |     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_212]
notification  |     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_212]
notification  |     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_212]
notification  |     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_212]
notification  |     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
notification  |     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
notification  |     at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
notification  | Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server mongo-notification:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
notification  |     at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:303) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:259) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator.sendSaslContinue(SaslAuthenticator.java:162) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator.access$200(SaslAuthenticator.java:40) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:67) ~[mongo-java-driver-3.12.2.jar!/:na]
notification  |     ... 34 common frames omitted
mongo | 2020-03-30T18:01:18.044+0000 I网络[侦听器]连接已从192.168.240.20:56152#2接受(2个连接现已打开)
mongo | 2020-03-30T18:01:18.058+0000 I网络[conn2]从192.168.240.20:56152接收客户端元数据conn2:{驱动程序:{名称:“mongo java驱动程序|同步”,版本:“3.12.2”},操作系统:{类型:“Linux”,名称:“Linux”,体系结构:“amd64”,版本:“4.19.76-linuxkit”},平台:“java/IcedTea/1.8.0212-b04”}
mongo | 2020-03-30T18:01:18.062+0000 I切分[conn2]将collection admin.system.users标记为集合版本:
mongo | 2020-03-30T18:01:18.289+0000 I访问[conn2]根据客户端192.168.240.20:56152的通知,用户的SASL SCRAM-SHA-1身份验证失败;身份验证失败:SCRAM身份验证失败,存储密钥不匹配
mongo | 2020-03-30T18:01:18.445+0000 I网络[conn2]端连接192.168.240.20:56152(1个连接现在打开)
通知| 2020-03-30 18:01:18.450信息20-[scheduling-1]org.mongodb.driver.connection:关闭连接[connectionId{localValue:2}]到mongo通知:27017,因为此连接引发了套接字异常。
通知| 2020-03-30 18:01:18.456错误20---[scheduling-1]o.s.s.s.TaskUtils$LoggingErrorHandler:计划任务中出现意外错误
通知|
通知| com.mongodb.MongoSecurityException:验证MongoCredential的异常{mechanism=SCRAM-SHA-1,userName='user',source='notification',password=,mechanismProperties=}
通知|位于com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:201)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:78)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.SaslAuthenticator.doassobject(SaslAuthenticator.java:207)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:156)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:398)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:101)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:92)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:126)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.operation.findoOperation$1.call(findoOperation.java:728)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.operation.findoOperation$1.call(findoOperation.java:725)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.operation.OperationHelper.withReadConnectionSource(OperationHelper.java:463)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.operation.findoOperation.execute(findoOperation.java:725)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在com.mongodb.operation.findoOperation.execute(findoOperation.java:89)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:196)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.client.internal.mongoiterableempl.execute(mongoiterableempl.java:143)~[mongo-java-driver-3.12.2.jar!/:na]
通知|位于com.mongodb.client.internal.mongoiterableempl.iterator(mongoiterableempl.java:92)~[mongo-java-driver-3.12.2.jar!/:na]
通知|在通知处_service.engagenttask.sendeengagentnotification(engagenttask.java:42)~[classes!/:na]
通知|在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_212]
通知
    Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='user', source='notification', password=<hidden>, mechanismProperties=<hidden>}
    spring.data.mongodb.authentication-database=admin