我已经通过以下方式在tomcat 8.5.29中为oracle数据库配置了一个数据源:
第1步:
在tomcat中编辑server.xml如下:
<GlobalNamingResources>
<Resource name="jdbc/personapp" global="jdbc/personapp" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.xa.client.OracleXADataSource"
url="jdbc:oracle:thin:<host_name>:1521:<db_name>"
username="my_user_name" password="my_pwd"
maxActive="100"
maxIdle="20"
minIdle="5"
maxWait="10000"/>
</GlobalNamingResources>
第2步: 编辑了context.xml,如下所示:
<ResourceLink name="jdbc/personappLocalDB"
global="jdbc/personapp"
auth="Container"
type="javax.sql.DataSource" />
我有DBUtility.java
课程如下:
public class DBUtility {
@Resource(lookup="java:/comp/env/jdbc/personappLocalDB")
private static DataSource dataSource;
public static Connection getConnection() {
try {
connection = dataSource.getConnection();
System.out.println("connection="+connection);
} catch(Exception e){
e.printStackTrace();
}
return connection;
}
}
我遇到以下异常:
java.lang.NullPointerException
at com.adv.dao.DBUtility.getConnection(DBUtility.java:27)
DataSource没有被注入Java类。
有人能解决问题吗?
答案 0 :(得分:1)
您的实用程序类不是@Named
或@EJB
。如果@Resource
注释位于常规POJO中,则不会对其进行处理。