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 리오의 이야기