본문 바로가기
Web Program/Java Lecture

OC4J 환경설정 - 하나의 인스턴스에서 여러 포트로 서

by 현이빈이 2008. 8. 13.
반응형
 POPORENA | poporena
원문 http://blog.naver.com/poporena/70011935935

2003-4년 겨울, 산림청 프로젝트를 했을 때 WAS로 OC4J를 썼었다.
당시까지만 해도 레퍼런스도 별로 없고 뭐 이런 변변찮은 와스가 다 있나 하고 생각했었다.
어찌나 불편하던지... 아쉽게도 그러한 생각은 지금도 변함이 없다.
여러 와스에서 개발을 해 봤지만 개인적으로 Weblogic이 가장 사용이 편하다.

그건 그렇고 기억을 더듬어 OC4J 세팅법 적어본다.
벌써 많이 까먹었지만 그 당시 만들어 놓은 문서를 참조했다.
웹으로 구동하기 위한 기본 설정과 포트를 구분하여 서비스를 띄울 수 있는 정도의 수준이다.
 

1. OC4J 설정파일

  1.1. $OC4J_HOME/j2ee/home/config 디렉토리 하위에 여러가지 설정파일이 위치함.
  1.2. data-sources.xml : datasource 정보를 설정함.
  1.3. application.xml : 웹모듈 등 OC4J에 올라갈 application들의 전역설정파일.
  1.4. server.xml : global application, web-site 등의 정보를 설정함.
  1.5. http-web-site.xml : Web Module에 대한 설정을 하며 웹모듈이 추가될 경우 파일 추가생성.

2. data-source 설정

   - 다음과 같은 설정을 적절하게 변경하여 추가하면 됨.
   - 전역 트랜잭션을 위해서는 ejb-location에 설정된 값을 jndi로 가져다 사용해야 함.

    <data-source
      class="com.evermind.sql.DriverManagerDataSource"
      name="kna"
      location="jdbc/OracleCoreDSKna"
      xa-location="jdbc/xa/OracleXADSKna"
      ejb-location="jdbc/kna"
      connection-driver="oracle.jdbc.driver.OracleDriver"
      username="${userid}"
      password="${password}"
      url="jdbc:oracle:thin:@${DB_SERVER_IP}:1521:%{DB_SID}"
      inactivity-timeout="60"
      min-connections="20"
      max-connections="20"
      stmt-cache-size="5"
     /> 


3. application.xml 설정

  - 포트를 추가로 띄운다고 가정하고 해당 웹모듈을 다음과 같이 추가함.

     <web-module id="kna" path="../../home/KNA"/>
     <web-module id="kna_admin" path="../../home/KNA_ADMIN"/>
     <web-module id="kna_rare" path="../../home/KNA_RARE"/>

  - 위에서 id는 웹 모듈 이름, path는 상대경로로 해당 웹모듈 루트의 위치이다.

4. server.xml 설정

  - 다음과 같이 web-site들의 설정파일 위치를 지정함

    <web-site path="./kna-web-site.xml"/>
    <web-site path="./kna-admin-web-site.xml"/>
    <web-site path="./kna-rare-web-site.xml"/>
 

5. 웹사이트 세부설정

  - 여기에서는 kna-web-site.xml, kna-admin-web-site.xml, kna-rare-web-site.xml 이렇게 세 개의 웹 사이트 관련 설정파일이 추가되었다.  간단하게 핵심설정만 본다.

  - kna-web-site.xml

    <web-site port="80" display-name="KNA_HOME">
     <default-web-app application="default" name="defaultWebApp" />
     <web-app application="default" name="kna" root="/"/>    
     <access-log path="../log/kna-web-access.log" />
    </web-site>

  - kna-admin-web-site.xml

     <web-site port="8800" display-name="KNA_ADMIN">
      <default-web-app application="default" name="defaultWebApp" />
      <web-app application="default" name="kna_admin" root="/"/>
      <access-log path="../log/kna-admin-web-access.log" />
     </web-site>

  - kna-rare-web-site.xml

    <web-site port="8000" display-name="KNA_RARE">
     <default-web-app application="default" name="defaultWebApp" />
     <web-app application="default" name="kna_rare" root="/"/>
     <access-log path="../log/kna-rare-web-access.log" />
    </web-site>

  - 위에서 보듯이 포트와 application, 이름과 경로, access 로그파일 등을 설정한다.



위처럼 설정 자체가 전혀 복잡하지는 않다.
하지만 웹로직 등과 비교했을 때 설정이 직관적이지 못하고 레퍼런스가 부족해서 저 때 당시에 애를 좀 먹었었다.
검색하는 정보마다 OC4J 인스턴스를 여러 개 띄워야 한다고 해서 좀 당황스러웠어다. ㅋㅋ



- 발췌 : riosung.egloos.com 리오의 이야기

반응형