如何使用java类中tomee.xml中声明的数据源

时间:2013-08-07 12:21:15

标签: java datasource tomee

您好我在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();

2 个答案:

答案 0 :(得分:1)

在Servlet环境中,您已经有一个servlet引擎已经设置的上下文。当您在这样的环境之外运行时,您需要自己设置上下文。

查看示例here.

答案 1 :(得分:0)

您访问此链接可以为您的解决方案提供解决方案。 http://poolofjava.blogspot.in/2013/08/how-to-bind-datasource-with.html