레이블이 datasource인 게시물을 표시합니다. 모든 게시물 표시
레이블이 datasource인 게시물을 표시합니다. 모든 게시물 표시

2014년 5월 21일 수요일

JBoss EAP 6.0 (jBoss Application Server 7.0)에서 오라클 DataSource 설정하기


** 참고: https://community.jboss.org/thread/169104

1. 오라클 JDBC 드라이버(ojdbc6.jar) 다운로드
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

2. jBoss Oracle JDBC 모듈 추가
ojdbc6.jar 파일을 ${JBOSS_HOME}/modules/com/oracle/ojdbc6/main 디렉토리에 복사
위 디렉토리에 module.xml 파일을 생성하고 아래 내용으로 저장

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc6">
    <resources>
        <resource-root path="ojdbc6.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api" />
        <module name="javax.transaction.api"/>
        <module name="javax.servlet.api" optional="true"/>
    </dependencies>
</module>



3. DataSource 설정
${JBOSS_HOME}/standalone/configuration/standalone.xml에 DataSource 정보 추가
            <datasources>
                ...
                <datasource jndi-name="java:/TestDS" pool-name="TestDS" enabled="true">
                    <connection-url>jdbc:oracle:thin:@192.168.0.1:ORCL</connection-url>
                    <driver>oracle</driver>
                    <security>
                        <user-name>scott</user-name>
                        <password>tiger</password>
                    </security>
                    <validation>
                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
                        <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
                    </validation>
                </datasource>
                <drivers>
                    ...
                    <driver name="oracle" module="com.oracle.ojdbc6">
                        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
                    </driver>
                </drivers>
            </datasources>

2011년 8월 2일 화요일

Tomcat JNDI Datasource 설정(MySQL)

출처: http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html


1. server.xml 파일에 resource 추가
(1) context 아래에 resource 추가하기
<Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true">
  <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/javatest"/></Context>

(2) GlobalNamingResources 에 추가
    <GlobalNamingResources>
        <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
            name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase" />
        <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" 
            maxActive="100" maxIdle="30" maxWait="10000" username="javauser" password="javadude"
            driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest" />
    </GlobalNamingResources>

...

<Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true">
  <ResourceLink global="jdbc/TestDB" name="jdbc/TestDB" type="javax.sql.DataSource"/>
</Context>


2. web.xml 파일 수정 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
  <description>MySQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>

      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
      </resource-ref>
</web-app>


3. test.jsp  

<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.activation.*" %>
<%
    InitialContext cxt = new InitialContext();
    javax.sql.DataSource ds = null;
    Connection conn = null;
        if ( cxt == null ) {
       throw new Exception("Uh oh -- no context!");
    }
    ds = (javax.sql.DataSource) cxt.lookup( "java:/comp/env/jdbc/TestDB" );
    if ( ds == null ) {
       throw new Exception("Data source not found!");
    }
    conn = ds.getConnection();
    out.println(conn.getMetaData().getDriverVersion());
%>