我对MongoDB Java驱动程序(使用3.0.4版本的驱动程序和3.2.3版本的MongoDB)有一个问题。我正在尝试检查是否有连接打开到MongoDB服务器,如果没有打开,则抛出异常。我应该可以抓住它:
servName = "Username";
servPW = "Password";
try {
MongoCredential cred = MongoCredential.createCredential(servName, "DatabaseName", servPW.toCharArray());
MongoClient mongo = new MongoClient(new ServerAddress("localhost", 27017), Arrays.asList(cred));
} catch (MongoException e){
System.out.println("ERROR");
}
System.out.println("WE ARE HERE");
我遇到的问题是抛出的异常没有被捕获,它似乎来自一个我无法访问的线程?对于测试,我没有运行Mongo服务器来查看抛出的异常。与本问题中的问题类似(MongoDB java driver 3.0在身份验证时无法捕获异常)。这是输出:
JulLogger日志信息:使用设置{hosts=[localhost:27017],mode=single,requiredclustertype=unknown,serverselectiontimeout='30000毫秒‘,maxwaitqueuesize=500}创建的群集。我们在这里。Loggger日志信息:连接到服务器时监视器线程出现异常localhost:27017 com.MongoDB.MongoSocketOpenException:在com.MongoDb.Connection.SocketStream.Open(SocketStream.java:63)打开套接字时出现异常.Connection.InternalStreamConnection.Open(InternalStreamConnection.java:114)在com.mongodb.Connection.defaultServerMonitor$ServerMonitorRunnable.Run(DefaultServerMonitor.java:127)在java.lang.thread.Run(thread.java:745)由:java.net.Connection Exception:连接被拒绝:在java.net.DualStackPlainSockeTimpl.WaitForConnect(本机方法)在java.net.DualStackPlainSockeTimpl.SocketConnect(DualStackPlainSockeTimpl.java:85)在java.net.AbstractPlainsockeTimpl.doConnect(AbstractPlainSockeTimpl.java:350)在java.net.AbstractPlainSockeTimpl.connectToAddress(AbstractPlainSockeTimpl.java:206)在java.net.AbstractPlainSockeTimpl.connect(AbstractPlainSockeTimpl.java:188)在java.net.PlainSockeTimpl.connect(AbstractPlainSockeTimpl.java:172)在java.net.PlainSockeTimpl.connect(PlainSockSockeTimpl.java:392)在java.net.SocksSockeTimpl.connect()在com.mongodb.connection.socketstream.open(socketstream.java:58)...还有3个
我尝试过捕捉“com.mongodb.mongosocketopenexception”、“exception”和其他一些代码,但似乎都不起作用!有没有人能帮我弄错的地方?
这个问题我找不到答案,自己也搞不出来。为了解决这个问题,我降级到驱动程序版本2.11.1并使用它!
我的目标是使用聚合框架创建一个管道来对我的数据进行分组,然后将这个管道与java驱动程序一起使用。MongoDB v4.0.3 我使用MongoDB Compass创建了以下管道(减少到重要部分): 这导致以下(生成的)Java代码: 集合中$组阶段之前的数据如下所示: $组阶段应返回以下数据结构: 问题所在 Mongo Compass按预期预览了阶段的结果,但使用java驱动程序的阶段的结果非常
我尝试用的一个实例替换错误处理程序,但没有成功。 我尝试创建自己的CustomErrorHandler,但这也不合适,因为在重新路由到自定义错误控制器时,原始异常已不再存在于该异常中。为了向客户端返回适当的响应,需要这些信息。 吾如何曰: 使SpringBoot不将异常转发到异常控制器。 还原@ControllerAdvice异常处理程序,这样我就可以返回适当的响应正文和状态代码。
未处理的异常:System.BadiMageFormatException:无法加载文件或程序集'Microsoft.cis.ite.Mixed,Version=6.0.0.0,Culture=Neutrice,PublicKeyToken=365143BB27E7AC8B'或其依赖项之一。试图加载格式不正确的程序 当我运行project.exe时会出现这个异常,它引用了很少的二进制文件(不是直接
问题内容: 我一直在概念上为我的项目决定异常处理结构。 假设您有一个示例: 还有两个子类FileData和StaticData,它们从某些指定的文件中读取数据,StaticData仅返回一些预定义的常量数据。 现在,在读取文件时,可能会在FileData中引发IOException,但是StaticData将永远不会抛出。大多数样式指南建议在调用堆栈上传播Exception,直到有足够的上下文可以
问题内容: 嗨,我收到尝试通过php文件连接到sqlite时 找不到驱动程序 错误的消息。我已将权限设置为777 … PHP 5.2.16版,已安装模块。任何找不到驱动程序的原因,php.ini都显示了已安装的扩展名pdo.so和pdo_mysql.so。 PDO 已启用PDO支持的PDO驱动程序mysql pdo_mysql 适用于MySQL的PDO驱动程序,客户端库版本5.0.92 问题答案:
我有以下项目结构: 这最初是一个Eclipse项目,我需要在IntelliJ中导入它。 然而,每次我试图导入它时,IntelliJ都与源根文件夹完全混淆了。 查看java源文件,我在包声明中得到以下错误: 错误:包名称“com.company”与文件路径“src/com.company”不对应 和 错误:包名“com.company”与文件路径“test-src/com.company”不对应 我