我正在尝试测试连接到数据库的 Web 应用程序 - 我的 Junit 代码不执行连接。
设置按照 https://github.com/h-thurow/Simple-JNDI
InitialContext() 失败
抛出许多这样的错误:
严重:路径:[路径][类].java ctxt:javax.naming.InitialContext@5e29e202 子名称: 2019 年 9 月 16 日上午 10:24:39 org.osjava.sj.loader.NioBasedJndiLoader$MySimpleFileVisitor 访问文件 严重的: javax.naming.NotContextException:rConfig已被新的RequestConfig(config,logger)占用;
这些不是 JNDI 名称。
jndi.properties 已正确放置并在运行时定位。 datasource.properties 也已设置。
正在测试的代码(即无法更改)是
cntxt = new InitialContext();
DataSource ds = (DataSource) cntxt.lookup(databaseResource);
conn = ds.getConnection();
最佳答案
看起来有两个属性,即 org.osjava.sj.root 目录中的 xml 或 ini 文件,其中包含“rConfig”条目,并且这些文件位于同一子目录中。找到的第一个文件将“new RequestConfig(config, logger)”应用于“rConfig”,例如克。
rConfig = new RequestConfig(config, logger)
也许 org.osjava.sj.root 没有指向您期望它指向的位置。
关于java - 使用 Simple-jndi (simple-jndi-0.18.2.jar) 调用 InitialContext() 时 Junit 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57980967/