我正在使用JNDI创建tomcat连接池。它在Web应用程序中很有用。我相信InitialContext是由tomcat服务器提供的。独立Java程序中的Initialcontext
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
dataSource = (DataSource)envContext.lookup("jdbc/testdb");
但是,当我尝试从独立的Java程序调用相同的实用程序时,initContext对象为空。我如何显式提供Context对象所需的所有必要属性。
错误:javax.naming.NoInitialContextException:需要环境或系统属性指定类 名,或者作为一个小程序参数,或 应用程序中的资源文件:java.naming.factory.initial的
请注意,当你链接的文章最后评论指出,该解决方案是马车:如果名称为空或没有找到, – Lonzak
嘿,@Lonzak我加了一个StackOverflowException为查找过程中抛出更新。 –