4
나는 JDBC 연결을 얻기위한 클래스를 다음 있습니다 : 올바른 JNDI @Resource (이름)
package util;
import java.sql.Connection;
import java.sql.SQLException;
import javax.annotation.Resource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class OracleConnection implements AutoCloseable{
private final String oracle_DS_CTX = "java:jboss/oracleDS";
// @Resource(name="java:jboss/oracleDS")
// private DataSource ds;//doesn't work
private Connection _conn;
public OracleConnection() throws SQLException, NamingException{
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(oracle_DS_CTX);
_conn = ds.getConnection();
}
@Override
public void close() throws Exception {
if(_conn != null){
_conn.close();
}
}
public Connection getConnection() throws SQLException {
return _conn;
}
}
내가 @Resource 주석을 사용하여 문제가 있습니다. InitialContext를 통해 얻은 데이터 소스 witohout 문제가 작동하지만 문자열을 내가 (내 코드에서 주석으로) 리소스 이름에 넣어야할지 모르겠습니다.
I는 시도 :
@Resource (NAME = "자바 : 보스/oracleDS")
@Resource (NAME = "oracleDS")
을 JBOSS AS7
웹 콘솔 : 9990 포트로 생성했습니다. 하지만 standalone.xml을 살펴 보았고 올바른 이름 인 pool-name 속성이 있습니다. 고맙습니다. – Joe