java连接mongodb3.2验证失败

在Java项目中尝试使用MongoClient连接MongoDB 3.2时遇到验证失败的问题。通过查阅官网API,发现在数据库验证机制为SCRAM-SHA-1的情况下,需要将创建凭据的方法从createMongoCRCredential()更改为createScramShalCredential(),应用修改后的代码后成功解决了验证问题。
摘要由CSDN通过智能技术生成
     

    一、错误描述

                   在项目中使用java连接mongodb数据库,使用的是mongoclient连接,代码如下:

public  void mongodbTest (String ip,int port,String user,String password,String dbname){
		  MongoDatabase db=null;
		  MongoClient client=null;
		  try{
		     MongoClientOptions.Builder build = new MongoClientOptions.Builder();  
		        //与数据最大连接数50  
		        build.connectionsPerHost(50);  
		        //如果当前所有的connection都在使用中,则每个connection上可以有50个线程排队等待  
		        build.threadsAllowedToBlockForConnectionMultiplier(50);  
		        build.connectTimeout(1*60*1000);  
		        build.maxWaitTime(2*60*1000);  
		        MongoClientOptions options = build.build();	
                         //设置服务器信息	        
		        ServerAddress serverAddress = new ServerAddress(ip, port);  
	                List<ServerAddress> seeds = new ArrayList<ServerAddress>();  
	                seeds.add(serverAddress);  
                         //设置验证信息
	                MongoCredential credentials = MongoCredential.createMongoCRCredential(user, dbname,  
	            		password.toCharArray());  
	                List<MongoCredential> credentialsList = new ArrayList<MongoCredential>();  
	                credentialsList.add(credential); 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值