웹어플리케이션을 작성할때 어플리케이션서버(AS)에서 제공하는 Resource 관리기능을 사용한다.
JDBC 커넥션관리를 위해서 Connection Pool을 작성하고, 해당 Connection Pool에 접근하기 위해서
JDBC Resource에 경로를 등록하여 웹어플리케이션에서 접근한다.
아키텍쳐측면에서 AS : GlassFish 에 클라이언트가 jdbc Connetion을 생성하여 데이타를 조회할수 있는
환경을 구축하기 위해 필요한 것을 나열해 나갈것이다.
전 blog에 MySQL 데이타베이스에 대한 Connection Pool 작성과 JDBC Resource 등록하는 방법이 기술되어 있다.
1. 클라언트에서 JDBC Resource를 얻기위해 필요한 Jar파일이 존재한다.
try to set the classpath manually with the following jars:
<gf>\lib\javaee.jar;
<gf>\lib\appservrt.jar;
<gf>\lib\appservadmin.jar;
<gf>\lib\install\applications\jmsra\imqjmsra.jar
appserv-rt.jar contains a jndi.properties that configures the client-side naming service provider, and is equivalent to build\classes\jndi.properties in Jboss Example
2. 클라언트 자바 소스코드
public void testGetConn() throws NamingException, SQLException {
final String sql = "select version()";
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("jdbc/JbpmDS");
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
con = ds.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("Query '" + sql + "' returned " + rs.getString(1));
}
} finally {
if(rs != null)
rs.close();
if(stmt != null)
stmt.close();
if(con != null)
con.close();
}
}
Jboss AS : Access JBoss DataSource Remotely from Java Applications
GlassFish AS : Access Glassfish DataSource Remotely from Java Applications