您好我在tomee.xml文件和web.xml文件中配置数据源。这将在我执行我的项目时工作正常,但我实施了测试用例,当我在那里使用时我需要使用它然后它将提供异常javax。 naming.NoInitialContextException:需要在环境或系统属性中指定类名,或在applet参数中或在应用程序资源文件中指定类名:java.naming.factory.initial
这是我的tomee.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<tomee>
<Resource id="jdbc/mydb" type="DataSource">
JdbcDriver com.mysql.jdbc.Driver
JdbcUrl jdbc:mysql://localhost:3306/test
UserName root
Password root
JtaManaged false
InitialSize 50
MaxActive 100
MaxIdle 3
</Resource>
</tomee>
这段代码在Servlet中工作正常,但是当我在java类中编写时,它给出了异常 这是我的访问
的java类 Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/mydb");
con = ds.getConnection();
答案 0 :(得分:1)
在Servlet环境中,您已经有一个servlet引擎已经设置的上下文。当您在这样的环境之外运行时,您需要自己设置上下文。
查看示例here.
答案 1 :(得分:0)
您访问此链接可以为您的解决方案提供解决方案。 http://poolofjava.blogspot.in/2013/08/how-to-bind-datasource-with.html