MongoDB查詢報錯:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential...

  異常日志:

2019-05-30 10:10:24,252 [http-nio-8080-exec-1] DEBUG [java.sql.Connection] - ooo Connection Opened
2019-05-30 10:10:24,258 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - ==>  Executing: insert into client_config ( appid, uid, config, created_time, creater, client_type, status ) values ( ?, ?, ?, now(), ?, ?, ? ) 
2019-05-30 10:10:24,259 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - ==> Parameters: 1234(String), wulinfeng(String), By continuing to use our website, you agree with our use of cookies in accordance with our Cookie Policy.You can reject cookies by changing your browser settings.(String), 系統管理員(String), 1(String), 1(String)
key=business:businessclientconfig:1:1234:wulinfeng
2019-05-30 10:10:24,960 [http-nio-8080-exec-1] DEBUG [java.sql.Connection] - ooo Connection Opened
2019-05-30 10:10:24,961 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - ==>  Executing: select id,data_key,description,valid_time,status,created_time from cache_memcache_data where data_key like 'business:businessclientconfig:1:1234:wulinfeng%' 
2019-05-30 10:10:24,961 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - ==> Parameters: 
2019-05-30 10:12:02,921 [http-nio-8080-exec-1] INFO  [org.mongodb.driver.connection] - Closed connection [connectionId{localValue:10}] to localhost:27017 because there was a socket exception raised by this connection.
2019-05-30 10:12:45,796 [http-nio-8080-exec-1] DEBUG [java.sql.Connection] - ooo Connection Opened
2019-05-30 10:12:45,799 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - ==>  Executing: INSERT INTO log_web_exception ( op_user, op_user_name, error_level, page_name, class_name, method, input_params, log_desc, log_stack, create_time,source_type) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, now(),'1'); 
2019-05-30 10:12:45,800 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - ==> Parameters: 系統管理員(String), admin(String), 1(String), 客戶端配置(String), com.wlf.musicbox.business.controller.ClientConfigController(String), saveClientConfig(String), {"id":0,"appid":"1234","config":"By continuing to use our website, you agree with our use of cookies in accordance with our Cookie Policy.You can reject cookies by changing your browser settings.","creater":"系統管理員","status":"1","uid":"wulinfeng","clientType":"1"}(String), 保存客戶端配置信息異常(String), class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='', source='admin', password=<hidden>, mechanismProperties={}}
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: wrapException,行數: 173 
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: access$300,行數: 40 
類名: com.mongodb.internal.connection.SaslAuthenticator$1, 方法名: run,行數: 70 
類名: com.mongodb.internal.connection.SaslAuthenticator$1, 方法名: run,行數: 47 
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: doAsSubject,行數: 179 
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: authenticate,行數: 47 
類名: com.mongodb.internal.connection.InternalStreamConnectionInitializer, 方法名: authenticateAll,行數: 151 
類名: com.mongodb.internal.connection.InternalStreamConnectionInitializer, 方法名: initialize,行數: 64 
類名: com.mongodb.internal.connection.InternalStreamConnection, 方法名: open,行數: 127 
類名: com.mongodb.internal.connection.UsageTrackingInternalConnection, 方法名: open,行數: 50 
類名: com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection, 方法名: open,行數: 390 
類名: com.mongodb.internal.connection.DefaultConnectionPool, 方法名: get,行數: 106 
類名: com.mongodb.internal.connection.DefaultConnectionPool, 方法名: get,行數: 92 
類名: com.mongodb.internal.connection.DefaultServer, 方法名: getConnection,行數: 85 
類名: com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource, 方法名: getConnection,行數: 115 
類名: com.mongodb.operation.OperationHelper, 方法名: withConnectionSource,行數: 460 
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='', source='admin', password=<hidden>, mechanismProperties={}}
類名: com.mongodb.operation.OperationHelper, 方法名: withConnection,行數: 406 
類名: com.mongodb.operation.FindOperation, 方法名: execute,行數: 696 
類名: com.mongodb.operation.FindOperation, 方法名: execute,行數: 83 
類名: com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor, 方法名: execute,行數: 179 
類名: com.mongodb.client.internal.MongoIterableImpl, 方法名: execute,行數: 132 
類名: com.mongodb.client.internal.MongoIterableImpl, 方法名: iterator,行數: 86 
類名: com.ll.musicbox.commonlibmongo.MongoDBUtil, 方法名: findAllCommonRecordsWithFiled,行數: 539 
類名: com.ll.musicbox.commonlibmongo.MongoDBUtil, 方法名: findAllCommonRecords,行數: 519 
類名: com.wlf.musicbox.system.service.MemCacheService, 方法名: getMemFromMongoForBlur,行數: 287 
類名: com.wlf.musicbox.business.service.CommonService, 方法名: delMemFromMongoForBlur,行數: 1025 
類名: com.wlf.musicbox.business.service.CommonService, 方法名: delMemByKeyValue,行數: 1284 
類名: com.wlf.musicbox.business.controller.ClientConfigController, 方法名: saveClientConfig,行數: 238 
類名: sun.reflect.NativeMethodAccessorImpl, 方法名: invoke0,行數: -2 
類名: sun.reflect.NativeMethodAccessorImpl, 方法名: invoke,行數: 62 
類名: sun.reflect.DelegatingMethodAccessorImpl, 方法名: invoke,行數: 43 
類名: java.lang.reflect.Method, 方法名: invoke,行數: 498 at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:173)
類名: org.springframework.web.method.support.InvocableHandlerMethod, 方法名: invoke,行數: 212 at com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40)
類名: org.springframework.web.method.support.InvocableHandlerMethod, 方法名: invokeForRequest,行數: 126 at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:70)at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47)
類名: org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod, 方法名: invokeAndHandle,行數: 96 at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:179)
類名: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter, 方法名: invokeHandlerMethod,行數: 617 
類名: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter, 方法名: handleInternal,行數: 578 at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47)
類名: org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter, 方法名: handle,行數: 80 at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:151)
類名: org.springframework.web.servlet.DispatcherServlet, 方法名: doDispatch,行數: 900 at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:64)
類名: org.springframework.web.servlet.DispatcherServlet, 方法名: doService,行數: 827 at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127)
類名: org.springframework.web.servlet.FrameworkServlet, 方法名: processRequest,行數: 882 at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50)
類名: org.springframework.web.servlet.FrameworkServlet, 方法名: doPost,行數: 789 at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:390)
類名: javax.servlet.http.HttpServlet, 方法名: service,行數: 660 at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:106)
類名: javax.servlet.http.HttpServlet, 方法名: service,行數: 741 at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:92)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 231 at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:85)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:115)
類名: org.apache.tomcat.websocket.server.WsFilter, 方法名: doFilter,行數: 53 at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:460)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:406)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 at com.mongodb.operation.FindOperation.execute(FindOperation.java:696)at com.mongodb.operation.FindOperation.execute(FindOperation.java:83)
類名: org.springframework.web.filter.CharacterEncodingFilter, 方法名: doFilterInternal,行數: 88 at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:179)
類名: org.springframework.web.filter.OncePerRequestFilter, 方法名: doFilter,行數: 76 at com.mongodb.client.internal.MongoIterableImpl.execute(MongoIterableImpl.java:132)at com.mongodb.client.internal.MongoIterableImpl.iterator(MongoIterableImpl.java:86)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 at com.ll.musicbox.commonlibmongo.MongoDBUtil.findAllCommonRecordsWithFiled(MongoDBUtil.java:539)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 at com.ll.musicbox.commonlibmongo.MongoDBUtil.findAllCommonRecords(MongoDBUtil.java:519)
類名: com.wlf.musicbox.filter.HttpRequestFitler, 方法名: doFilter,行數: 44 at com.wlf.musicbox.system.service.MemCacheService.getMemFromMongoForBlur(MemCacheService.java:287)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 at com.wlf.musicbox.business.service.CommonService.delMemFromMongoForBlur(CommonService.java:1025)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 at com.wlf.musicbox.business.service.CommonService.delMemByKeyValue(CommonService.java:1284)
類名: org.apache.shiro.web.servlet.ProxiedFilterChain, 方法名: doFilter,行數: 61 at com.wlf.musicbox.business.controller.ClientConfigController.saveClientConfig(ClientConfigController.java:238)
類名: org.apache.shiro.web.servlet.AdviceFilter, 方法名: executeChain,行數: 108 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
類名: org.apache.shiro.web.servlet.AdviceFilter, 方法名: doFilterInternal,行數: 137 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
類名: org.apache.shiro.web.servlet.OncePerRequestFilter, 方法名: doFilter,行數: 125 at java.lang.reflect.Method.invoke(Method.java:498)
類名: org.apache.shiro.web.servlet.ProxiedFilterChain, 方法名: doFilter,行數: 66 at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212)
類名: org.apache.shiro.web.servlet.AbstractShiroFilter, 方法名: executeChain,行數: 449 
類名: org.apache.shiro.web.servlet.AbstractShiroFilter$1, 方法名: call,行數: 365 at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
類名: org.apache.shiro.subject.support.SubjectCallable, 方法名: doCall,行數: 90 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
類名: org.apache.shiro.subject.support.SubjectCallable, 方法名: call,行數: 83 at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
類名: org.apache.shiro.subject.support.DelegatingSubject, 方法名: execute,行數: 383 at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
類名: org.apache.shiro.web.servlet.AbstractShiroFilter, 方法名: doFilterInternal,行數: 362 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
類名: org.apache.shiro.web.servlet.OncePerRequestFilter, 方法名: doFilter,行數: 125 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
類名: org.springframework.web.filter.DelegatingFilterProxy, 方法名: invokeDelegate,行數: 346 
類名: org.springframework.web.filter.DelegatingFilterProxy, 方法名: doFilter,行數: 259 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
類名: org.apache.catalina.core.StandardWrapperValve, 方法名: invoke,行數: 199 
類名: org.apache.catalina.core.StandardContextValve, 方法名: invoke,行數: 96 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
類名: org.apache.catalina.authenticator.AuthenticatorBase, 方法名: invoke,行數: 475 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
類名: org.apache.catalina.core.StandardHostValve, 方法名: invoke,行數: 140 
類名: org.apache.catalina.valves.ErrorReportValve, 方法名: invoke,行數: 80 at com.wlf.musicbox.filter.HttpRequestFitler.doFilter(HttpRequestFitler.java:44)
類名: org.apache.catalina.valves.AbstractAccessLogValve, 方法名: invoke,行數: 651 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
類名: org.apache.catalina.core.StandardEngineValve, 方法名: invoke,行數: 87 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
類名: org.apache.catalina.connector.CoyoteAdapter, 方法名: service,行數: 342 at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
類名: org.apache.coyote.http11.Http11Processor, 方法名: service,行數: 498 at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
類名: org.apache.coyote.AbstractProcessorLight, 方法名: process,行數: 66 at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
類名: org.apache.coyote.AbstractProtocol$ConnectionHandler, 方法名: process,行數: 796 
類名: org.apache.tomcat.util.net.NioEndpoint$SocketProcessor, 方法名: doRun,行數: 1374 at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
類名: org.apache.tomcat.util.net.SocketProcessorBase, 方法名: run,行數: 49 at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
類名: java.util.concurrent.ThreadPoolExecutor, 方法名: runWorker,行數: 1142 at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
類名: java.util.concurrent.ThreadPoolExecutor$Worker, 方法名: run,行數: 617 at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
類名: org.apache.tomcat.util.threads.TaskThread$WrappingRunnable, 方法名: run,行數: 61 at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
類名: java.lang.Thread, 方法名: run,行數: 745 at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
(String)at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
2019-05-30 10:12:45,814 [http-nio-8080-exec-1] ERROR [com.wlf.musicbox.business.controller.ClientConfigController] - 添加客戶端配置異常:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='', source='admin', password=<hidden>, mechanismProperties={}}at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: wrapException,行數: 173 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: access$300,行數: 40 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
類名: com.mongodb.internal.connection.SaslAuthenticator$1, 方法名: run,行數: 70 
類名: com.mongodb.internal.connection.SaslAuthenticator$1, 方法名: run,行數: 47 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: doAsSubject,行數: 179 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
類名: com.mongodb.internal.connection.SaslAuthenticator, 方法名: authenticate,行數: 47 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
類名: com.mongodb.internal.connection.InternalStreamConnectionInitializer, 方法名: authenticateAll,行數: 151 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
類名: com.mongodb.internal.connection.InternalStreamConnectionInitializer, 方法名: initialize,行數: 64 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
類名: com.mongodb.internal.connection.InternalStreamConnection, 方法名: open,行數: 127 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
類名: com.mongodb.internal.connection.UsageTrackingInternalConnection, 方法名: open,行數: 50 
類名: com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection, 方法名: open,行數: 390 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
類名: com.mongodb.internal.connection.DefaultConnectionPool, 方法名: get,行數: 106 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
類名: com.mongodb.internal.connection.DefaultConnectionPool, 方法名: get,行數: 92 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
類名: com.mongodb.internal.connection.DefaultServer, 方法名: getConnection,行數: 85 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
類名: com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource, 方法名: getConnection,行數: 115 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1374)
類名: com.mongodb.operation.OperationHelper, 方法名: withConnectionSource,行數: 460 at org.apache.tomcat.類名: com.mongodb.operation.OperationHelper, 方法名: withConnection,行數: 406 
util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
類名: com.mongodb.operation.FindOperation, 方法名: execute,行數: 696 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
類名: com.mongodb.operation.FindOperation, 方法名: execute,行數: 83 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
類名: com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor, 方法名: execute,行數: 179 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
類名: com.mongodb.client.internal.MongoIterableImpl, 方法名: execute,行數: 132 at java.lang.Thread.run(Thread.java:745)
類名: com.mongodb.client.internal.MongoIterableImpl, 方法名: iterator,行數: 86 
Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server localhost:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }
類名: com.ll.musicbox.commonlibmongo.MongoDBUtil, 方法名: findAllCommonRecordsWithFiled,行數: 539 at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:179)
類名: com.ll.musicbox.commonlibmongo.MongoDBUtil, 方法名: findAllCommonRecords,行數: 519 at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:299)
類名: com.wlf.musicbox.system.service.MemCacheService, 方法名: getMemFromMongoForBlur,行數: 287 at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255)
類名: com.wlf.musicbox.business.service.CommonService, 方法名: delMemFromMongoForBlur,行數: 1025 at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
類名: com.wlf.musicbox.business.service.CommonService, 方法名: delMemByKeyValue,行數: 1284 at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
類名: com.wlf.musicbox.business.controller.ClientConfigController, 方法名: saveClientConfig,行數: 238 at com.mongodb.internal.connection.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:130)
類名: sun.reflect.NativeMethodAccessorImpl, 方法名: invoke0,行數: -2 at com.mongodb.internal.connection.SaslAuthenticator.access$100(SaslAuthenticator.java:40)
類名: sun.reflect.NativeMethodAccessorImpl, 方法名: invoke,行數: 62 at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:54)
類名: sun.reflect.DelegatingMethodAccessorImpl, 方法名: invoke,行數: 43 ... 86 more
類名: java.lang.reflect.Method, 方法名: invoke,行數: 498 
類名: org.springframework.web.method.support.InvocableHandlerMethod, 方法名: invoke,行數: 212 
類名: org.springframework.web.method.support.InvocableHandlerMethod, 方法名: invokeForRequest,行數: 126 
類名: org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod, 方法名: invokeAndHandle,行數: 96 
類名: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter, 方法名: invokeHandlerMethod,行數: 617 
類名: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter, 方法名: handleInternal,行數: 578 
類名: org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter, 方法名: handle,行數: 80 
類名: org.springframework.web.servlet.DispatcherServlet, 方法名: doDispatch,行數: 900 
類名: org.springframework.web.servlet.DispatcherServlet, 方法名: doService,行數: 827 
類名: org.springframework.web.servlet.FrameworkServlet, 方法名: processRequest,行數: 882 
類名: org.springframework.web.servlet.FrameworkServlet, 方法名: doPost,行數: 789 
類名: javax.servlet.http.HttpServlet, 方法名: service,行數: 660 
類名: javax.servlet.http.HttpServlet, 方法名: service,行數: 741 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 231 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 
類名: org.apache.tomcat.websocket.server.WsFilter, 方法名: doFilter,行數: 53 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 
類名: org.springframework.web.filter.CharacterEncodingFilter, 方法名: doFilterInternal,行數: 88 
類名: org.springframework.web.filter.OncePerRequestFilter, 方法名: doFilter,行數: 76 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 
類名: com.wlf.musicbox.filter.HttpRequestFitler, 方法名: doFilter,行數: 44 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 
類名: org.apache.shiro.web.servlet.ProxiedFilterChain, 方法名: doFilter,行數: 61 
類名: org.apache.shiro.web.servlet.AdviceFilter, 方法名: executeChain,行數: 108 
類名: org.apache.shiro.web.servlet.AdviceFilter, 方法名: doFilterInternal,行數: 137 
類名: org.apache.shiro.web.servlet.OncePerRequestFilter, 方法名: doFilter,行數: 125 
類名: org.apache.shiro.web.servlet.ProxiedFilterChain, 方法名: doFilter,行數: 66 
類名: org.apache.shiro.web.servlet.AbstractShiroFilter, 方法名: executeChain,行數: 449 
類名: org.apache.shiro.web.servlet.AbstractShiroFilter$1, 方法名: call,行數: 365 
類名: org.apache.shiro.subject.support.SubjectCallable, 方法名: doCall,行數: 90 
類名: org.apache.shiro.subject.support.SubjectCallable, 方法名: call,行數: 83 
類名: org.apache.shiro.subject.support.DelegatingSubject, 方法名: execute,行數: 383 
類名: org.apache.shiro.web.servlet.AbstractShiroFilter, 方法名: doFilterInternal,行數: 362 
類名: org.apache.shiro.web.servlet.OncePerRequestFilter, 方法名: doFilter,行數: 125 
類名: org.springframework.web.filter.DelegatingFilterProxy, 方法名: invokeDelegate,行數: 346 
類名: org.springframework.web.filter.DelegatingFilterProxy, 方法名: doFilter,行數: 259 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: internalDoFilter,行數: 193 
類名: org.apache.catalina.core.ApplicationFilterChain, 方法名: doFilter,行數: 166 
類名: org.apache.catalina.core.StandardWrapperValve, 方法名: invoke,行數: 199 
類名: org.apache.catalina.core.StandardContextValve, 方法名: invoke,行數: 96 
類名: org.apache.catalina.authenticator.AuthenticatorBase, 方法名: invoke,行數: 475 
類名: org.apache.catalina.core.StandardHostValve, 方法名: invoke,行數: 140 
類名: org.apache.catalina.valves.ErrorReportValve, 方法名: invoke,行數: 80 
類名: org.apache.catalina.valves.AbstractAccessLogValve, 方法名: invoke,行數: 651 
類名: org.apache.catalina.core.StandardEngineValve, 方法名: invoke,行數: 87 
類名: org.apache.catalina.connector.CoyoteAdapter, 方法名: service,行數: 342 
類名: org.apache.coyote.http11.Http11Processor, 方法名: service,行數: 498 
類名: org.apache.coyote.AbstractProcessorLight, 方法名: process,行數: 66 
類名: org.apache.coyote.AbstractProtocol$ConnectionHandler, 方法名: process,行數: 796 
類名: org.apache.tomcat.util.net.NioEndpoint$SocketProcessor, 方法名: doRun,行數: 1374 
類名: org.apache.tomcat.util.net.SocketProcessorBase, 方法名: run,行數: 49 
類名: java.util.concurrent.ThreadPoolExecutor, 方法名: runWorker,行數: 1142 
類名: java.util.concurrent.ThreadPoolExecutor$Worker, 方法名: run,行數: 617 
類名: org.apache.tomcat.util.threads.TaskThread$WrappingRunnable, 方法名: run,行數: 61 
類名: java.lang.Thread, 方法名: run,行數: 745 

  調用鏈有點長,關鍵看標黃那一行,無非admin數據庫做用戶驗證失敗了。先看看系統啟動時建立MongoDB數據庫連接時的用戶名和密碼設置:

            MongoDBUtil.getInstance().init(Cfg.get("configinfo.mongo.addr"),Integer.valueOf(Cfg.get("configinfo.mongo.pool")),3000, Cfg.get("configinfo.mongo.user"), Cfg.get    ("configinfo.mongo.pwd"), null);

  這里的配置均從application.properties文件中讀取:

configinfo.mongo.addr=localhost:27017
configinfo.mongo.pool=20
configinfo.mongo.user=
configinfo.mongo.pwd=

  從上面看到我一開始并未設置用戶名和密碼,導致校驗失敗。那么我們來給admin設置一下用戶名和密碼:

> use admin
switched to db admin
>  db.createUser({user:"wlf",pwd:"123",roles:["readWrite"]})
Successfully added user: { "user" : "wlf", "roles" : [ "readWrite" ] }
> db.auth("wlf","123")
1

  對應的配置項也改下:

configinfo.mongo.user=wlf
configinfo.mongo.pwd=123

  然后重啟下tomcat讓配置生效,再跑下看看,這次沒有再報錯了。但有一點我覺得比較奇怪的是,我并未設置數據庫為admin,為啥MongoDB默認就跑到admin了?看了MongoDBUtil類我才恍然大悟:

    public synchronized void initWithTimeOutAndIsAuth(String address, int poolSize, int timeOut, String user, String pwd, ReadPreference readPreference, boolean isAuth) throws UnknownHostException, MongoException {if (poolSize == -1) {poolSize = 200;}System.setProperty("MONGO.POOLSIZE", String.valueOf(poolSize));if (this.mongo == null) {List<ServerAddress> saddrs = new ArrayList();String[] addrs = address.split(";");String[] var13 = addrs;int var12 = addrs.length;for(int var11 = 0; var11 < var12; ++var11) {String addr = var13[var11];String[] tmp = addr.split(":");if (tmp.length == 2) {ServerAddress a = new ServerAddress(tmp[0], Integer.valueOf(tmp[1]));saddrs.add(a);}}Builder builder = new Builder();builder.connectionsPerHost(poolSize).connectTimeout(timeOut).socketTimeout(timeOut).heartbeatConnectTimeout(3000).heartbeatSocketTimeout(3000).serverSelectionTimeout(timeOut).maxWaitTime(timeOut).maxConnectionIdleTime(timeOut);if (readPreference != null) {builder.readPreference(readPreference);}MongoClientOptions options = builder.build();MongoCredential mongoCredential = null;if (isAuth) {mongoCredential = MongoCredential.createCredential(user, "admin", pwd.toCharArray());}if (saddrs.size() == 1) {if (isAuth) {this.mongo = new MongoClient((ServerAddress)saddrs.get(0), mongoCredential, options);} else {this.mongo = new MongoClient((ServerAddress)saddrs.get(0), options);}} else if (isAuth) {this.mongo = new MongoClient(saddrs, mongoCredential, options);} else {this.mongo = new MongoClient(saddrs, options);}}}

?

轉載于:https://www.cnblogs.com/wuxun1997/p/10948615.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247861.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動態添加后的數據轉換 — 后臺接收數據

let data this.projectPersonnel.map(item > {let obj {}obj.member item.people.map(info > {return info.id})obj.member JSON.stringify(obj.member)obj.projectId idobj.teamId item.name.idreturn obj})

iOS開發--地圖與定位

iOS開發--地圖與定位 概覽 現在很多社交、電商、團購應用都引入了地圖和定位功能&#xff0c;似乎地圖功能不再是地圖應用和導航應用所特有的。的確&#xff0c;有了地圖和定位功能確實讓我們的生活更加豐富多彩&#xff0c;極大的改變了我們的生活方式。例如你到了一個陌生的地…

CTO、技術總監、首席架構師的區別

項目經理是項目的直接負責人&#xff0c;這個角色相當于一個中間接口&#xff0c;不管是團隊成員還是需求方&#xff08;客戶&#xff09;&#xff0c;或者是上級領導&#xff0c;有事都直接找他&#xff0c;所以這個職位著重 于管理與溝通。一般來說&#xff0c;項目經理的工作…

iview組件庫 - 穿梭欄設置

<Modalv-model"modal1"title"項目藥品上下架維護"width"1020":mask-closable"false"on-ok"addOk()"><Col span"36"><Selectfilterableon-change"onChangeProject"placeholder"請先…

如何優雅地使用Sublime Text3

Sublime Text&#xff1a;一款具有代碼高亮、語法提示、自動完成且反應快速的編輯器軟件&#xff0c;不僅具有華麗的界面&#xff0c;還支持插件擴展機制&#xff0c;用她來寫代碼&#xff0c;絕對是一種享受。相比于難于上手的Vim&#xff0c;浮腫沉重的Eclipse&#xff0c;VS…

題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13... 求出這個數列的前20項之和。...

題目&#xff1a;有一分數序列&#xff1a;2/1&#xff0c;3/2&#xff0c;5/3&#xff0c;8/5&#xff0c;13/8&#xff0c;21/13... 求出這個數列的前20項之和。 程序分析&#xff1a;請抓住分子與分母的變化規律。 public class 第二十題求數列之和 {public static void mai…

iview 組件 設置頭像更換

基于iview 組件 設置頭像更換 <!-- 頭像更換 --><div style"width: 100%;height:100%;"><div style"height: 100%;"><Upload :on-success"uploadSuccess" :show-upload-list"false" accept"image/png, i…

HTML的target屬性中_blank、_self、_parent、_top含義

_blank 瀏覽器會另開一個新窗口顯示鏈接_self&#xff0c;在同一框架或窗口中打開所鏈接的文檔。 此參數為默認值&#xff0c;通常不用指定。 _parent&#xff0c;將鏈接的文件載入含有該鏈接框架的父框架集或父窗口中。 如果含有該鏈接的框架不是嵌套的&#xff0c;則在瀏覽…

Windows 聚焦的鎖屏壁紙設置為桌面壁紙

需求&#xff1a; Windows的鎖屏壁紙偶爾遇到非常喜歡的壁紙&#xff0c;想設置為桌面壁紙。 步驟如下&#xff1a; 1. “Windows 聚焦”的鎖屏壁紙都保存在隱藏文件夾 --- Assets里。 a. 打開“資源管理器 b. 在地址欄復制粘貼下方路徑后按回車鍵&#xff0c;即可快速跳轉至這…

VUE藥監碼掃描

<!-- 藥監碼 --><div class"divContent"><div class"headDiv"><div class"spanA">請掃描相關藥監碼</div></div><button class"scanBtn" clickscan_img()>掃描藥監碼</button><bu…

Chrome 控制臺的console用法收集

Chrome 控制臺console的用法 大家都有用過各種類型的瀏覽器&#xff0c;每種瀏覽器都有自己的特色&#xff0c;本人拙見&#xff0c;在我用過的瀏覽器當中&#xff0c;我是最喜歡Chrome的&#xff0c;因為它對于調試腳本及前端設計調試都有它比其它瀏覽器有過之而無不及的地方。…

面向對象思想封裝狙擊手狙擊敵人

需求&#xff1a;狙擊手xxx使用xx槍&#xff0c;射擊敵人xxx,敵人生命值歸0&#xff0c;應聲倒下分析設計類&#xff1a; 封裝狙擊手類 屬性&#xff1a; 名字 行為&#xff1a;撿槍   裝彈   射擊封裝槍類 屬性&#xff1a; 型號 行為&#xff1a;射擊封裝彈夾類 屬性&…

JavaScript 字符串處理方法總結

變量從字符串轉換成int和float型 var weightincrease "2.5kg";undefinedparseInt(weightincrease);2parseFloat(weightincrease);2.5 字符串處理方法var words "魚神是個帥哥";undefinedwords.length6words.charAt(0);"魚"words.charAt(words.…

【js】vue 2.5.1 源碼學習(二) 策略合并

一、 整體思路1 首先是代碼的大體構造&#xff0c;先判斷引入代碼的環境&#xff0c;即對應amd 和cmd的處理2 vue_init 需要借助 initMinxin >>> // 初始化選項1: 規范 2: 合并策略。3 mergeOptions 選項合并 一個或者多個對象合并&#xff0c;并且生成一個…

解決公眾號的加載問題

相關組件內設置的方法&#xff08;方法可以多處組件運用&#xff09; <x-input on-change"changeinp" on-blur"temporaryRepair();" on-enter"temporaryRepair();" name"mobile" :show-clear"false" placeholder"…

JavaScript 數組處理方法總結

數組處理方法//定義數組var array [];undefined//查看類型typeof(array);"object"//往數組里添加數據array [first,second,third]["first", "second", "third"]//數組長度array.length3//索引array[0]"first"//添加數組新…

今天第一次開通blog

紀念第一次開通轉載于:https://www.cnblogs.com/struggle-star/p/10960491.html

前端設置,驗證碼登錄

<group class"shadow" gutter"0"><x-input v-model"mobileCaptcha" placeholder"請輸入手機驗證碼" class"weui-vcode" keyboard"number" :max"6"></x-input><button click"…

JQuery實現頁面跳轉

$(function(){ var pn $("#gotopagenum").val();//#gotopagenum是文本框的id屬性 location.href "NewList.aspx?pagenum"pn;//location.href實現客戶端頁面的跳轉 }); 今天我們就來說一說如何在jQuery中跳轉到另外一個網頁HTML。其實下面我列舉的幾…

pycharm安裝lxml

今天下午剛學爬蟲&#xff0c;要安好多庫的感覺&#xff0c;崩潰 requests 首先我們用pip安裝完成后&#xff0c;在pycharm里面還要導入進去&#xff0c;沒有的話是會報錯的 文件--設置--Project Interpreter 然后點擊pip進去&#xff0c;搜索requests&#xff0c;再安裝進去就…