'jeus5.0'에 해당되는 글 1건

  1. [2009/11/05] [JEUS5 fix27] 웹어플리케이션 배치부터 DB 셋팅 까지 총정리

[JEUS5 fix27] 웹어플리케이션 배치부터 DB 셋팅 까지 총정리

[■Application Programing/OO JAVA OO]

야근으로 인해 자세한 설명은 생략..

[웹어플리케이션 배치]
JEUSMain.xml
    <application>
        <absolute-path>C:/TmaxSoft/JEUS5.0/webhome/app_home</absolute-path>
        <name>모듈명</name>
        <path>모듈명</path>
        <deployment-type>COMPONENT</deployment-type>
        <web-component/>
        <deployment-target>
            <target>
                <engine-container-name>darkhorse_container1</engine-container-name>
                <web-context-group>
                    <name>MyGroup</name>
                </web-context-group>
            </target>
        </deployment-target>
    </application>

[JDBC]
JEUSMain.xml에 아래내용 넣기
WSMain.xml에는 넣지 않는다.
....
 <resource>
        <data-source>
            <database>
                <vendor>oracle</vendor>
                <export-name>kfda_nutri</export-name> <!-- 실제로 뽑아 쓸 이름 -->
                <data-source-class-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-class-name>
                <database-name>orcl</database-name> <!-- oracle SiD 이름 -->
                <data-source-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-name>
                <port-number>1521</port-number> <!-- 오라클 포트 -->
                <server-name>{IP||ServerName}</server-name>
                <user>DB User</user>
                <driver-type>thin</driver-type>
                <password>DB Pwd</password>
                <data-source-type>ConnectionPoolDataSource</data-source-type>
                <connection-pool>
                <pooling>
                        <min>1</min>
                        <max>2</max>
                        <step>1</step>
                        <period>10</period>
                    </pooling>
                    <wait-free-connection>
                        <enable-wait>true</enable-wait>
                    </wait-free-connection>
                </connection-pool>
            </database>
        </data-source>
    </resource>
...

[JSP DB 셋팅]
DBCPInit.java

package com.cin_nutri.init;

import java.util.StringTokenizer;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

public class DBCPInit extends HttpServlet
{

    /**
  *
  */
 private static final long serialVersionUID = 1L;

 public DBCPInit()
    {
    }

    public void init(ServletConfig config)
        throws ServletException
    {
        try
        {
            String drivers = config.getInitParameter("jdbcdriver");
            String jdbcDriver;
            for(StringTokenizer st = new StringTokenizer(drivers, ","); st.hasMoreTokens(); Class.forName(jdbcDriver))
                jdbcDriver = st.nextToken();

            Class.forName("org.apache.commons.dbcp.PoolingDriver");
            //System.setProperty("org.xml.sax.driver","org.apache.xerces.parsers.SAXParser"); // APACHE(Tomcat)
            System.setProperty("org.xml.sax.driver","jeus.apache.xerces.parsers.SAXParser"); // JEUS
        }
        catch(Exception ex)
        {
            throw new ServletException(ex);
        }
    }
}

DBManager.java
package com.cin_nutri.db;

import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import com.cin_nutri.util.LogUtil;
    
public class DBManager{
 public DBManager() {}
    public static Connection getConnection() throws SQLException {
        Connection conn = null;
        //String url = "jdbc:oracle:thin:@192.168.0.xxx:xxx:oracle sid";
        //conn = DriverManager.getConnection(url, "id", "pwd");

         try{
            Context ctx = new InitialContext();
            //System.out.println(ctx) ==> javax.naming.InitialContext@190a0d6
            //System.out.println(envCtx) ==> org.apache.naming.NamingContext@2f729e
            //Context envCtx = (Context)envCtx.lookup("java:comp/env"); //APACHE(Tomcat)
            //if(envCtx != null ){  //APACHE(Tomcat)
            if(ctx != null ){
                DataSource ds = (DataSource)ctx.lookup("DB 셋팅할 때 <export-name>을 써준다.");
                if (ds != null) {
                    conn = ds.getConnection();
                }
            }
     } catch (NamingException e) {
          // e.printStackTrace(System.out);
      LogUtil.error(e.toString());
     } catch (SQLException ee) {
          // ee.printStackTrace(System.out);
      LogUtil.error(ee.toString());
      }

        return conn;
    }
}

[The End]
온갖 뻘짓과 구글링을 통해서 셋팅했습니다.

더 편한방법을 아시는 분은 엮어주세요.~

PS. Tip..
C:\TmaxSoft\JEUS5.0\config\컨테이너\컨테이너_ws_engine1\WSMain.xml 에 uri 추가
        <uri>
            <name>uri4</name>
            <uri-def>/모듈명</uri-def>
            <svr-type>JSV</svr-type>
        </uri>
c:\TmaxSoft\JEUS5.0\webserver\config\wsconfig.m 에 uri 추가
uri4  
   SvrType = "JSV",
   uri = "/모듈명"

WEB-INF/web.xml
 -- 생략

WEB-INF/jeus-web-dd.xml
<?xml version="1.0" encoding="UTF-8"?>
<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
 <context-path>/모듈명</context-path>
 <enable-jsp>true</enable-jsp>
    <auto-reload>
        <enable-reload>false</enable-reload>
        <check-on-demand>false</check-on-demand>
    </auto-reload>
    <max-instance-pool-size>-1</max-instance-pool-size>
    <url-rewriting>false</url-rewriting>
    <enable-default-login>false</enable-default-login>
    <webinf-first>false</webinf-first>
    <jndi-properties>
        <local-bindings>false</local-bindings>
    </jndi-properties>
</jeus-web-dd>

참고 사이트
http://cafe.naver.com/tonkjsp.cafe?ifra ··· id%3D531 (JDBC 셋팅)
http://blog.daum.net/turnnig-pointer/15289862 (제우스 DB 연동)
http://czar.tistory.com/321 (제우스셋팅 & 자바 jdbc 드라이버별 셋팅)


리얼 끝~ 퇴근이다 후훗

크리에이티브 커먼즈 라이센스
Creative Commons License