Know/WAS

WebLogic Setting

Marine™ 2005. 12. 21. 10:37
반응형
1. Path Setting

1) CLASSPATH
① 자바의 기본Path는 잡혀있어야 합니다.
C:\jdk1.2.2\lib\tools.jar

② WebLogic 의 ClassPath
set JAVA_HOME=C:\jdk1.2.2
set WL_HOME=C:\weblogic
set ORACLE=c:\oracle_driver
set CLASSPATH=.
set CLASSPATH=%CLASSPATH%;%WL_HOME%\classes\boot
set CLASSPATH=%CLASSPATH%;%WL_HOME%\lib\weblogic510sp8boot.jar
CLASSPATH=%CLASSPATH%;%WL_HOME%\eval\cloudscape\lib\cloudscape.jar
set WLCLASSPATH=%WL_HOME%\classes
set WLCLASSPATH=%WLCLASSPATH%;%WL_HOME%\license
set WLCLASSPATH=%WLCLASSPATH%;%WL_HOME%\lib\weblogicaux.jar
set WLCLASSPATH=%WLCLASSPATH%;%WL_HOME%\lib\weblogic510sp8.jar
set CLASSPATH=%CLASSPATH%;%WLCLASSPATH%;%ORACLE%

오라클 드라이버가 Class Path 안에 있는것이 보통(예외 c:\jdk1.2.2\jre\lib\ext 안에 드라이버가 있으면 상관없음.)

2) Path
PATH=%PATH%;%JAVA_HOME%\bin;%WL_HOME%\bin;%WL_HOME%\bin\oci734_7
이 Path 에서 뒤의 oci734_7 은 WebLogic 상에서 dbConnection Pool 을 올리기 위해서 필요한 Path 입니다. 이것이 빠지면 user 가 Setting 해놓은 Pool이 Loading이 되지 않음.(꼭 oci734_7 만 쓰는건 아니구 oci driver 를 쓰려면 이 Path 를 사용, 다른것 을 쓰려면 bin 폴더 안에 있는 다른게 사용)

2. WebLogic 의 환경설정(weblogic.properties)
1) document root 설정
WebLogic 상에서 처리할 html문서나 jsp, .gif 등 같은 이미지를 처리할 경로를 설정하는 부분
Weblogic 이 설치된 폴더에 보면 weblogic.properties 파일 존재
하위 document root 설정 이라는 부분 weblogic.httpd.documentRoot = public_html/ 로 되어있음.
이것은 WebLogic 이 보는 default html directory로서 이대로 쓰게되면
c:\weblogic\myserver\public_html을 기본폴더로 사용하게됨.
이것을 사용자가 바꿀수 있습니다.

절대 경로를 써줘야 원하는 곳으로 바꿀수 있습니다.
예로 C:\weblogic\jsp 라는 폴더를 만들고 그것을 기본 html,jsp,.gif 등를 처리하는 곳으로 setting 하고 싶으면
weblogic.httpd.documentRoot= c:/weblogic/jsp하면 됨

2) Servlet 의 경로설정
WebLogic 상에서 Servlet 을 처리하기위한 폴더 설정하는 부분.
이것 역시 weblogic.properties file 을 보게되면
weblogic.httpd.servlet.classpath=c:\weblogic\myserver\servletclasses
가 defalult 로 잡혀 있음.
이것을 user 가 c:\weblogic\servlet 이라는 폴더를 만들고
이것을 servlet 처리 폴더로 설정 하려면
weblogic.httpd.servlet.classpath=C:/weblogic/servlet로 하면 됨.

그리고 servlet 을 처리하기 위해서는 #부분을 삭제하여야함.
weblogic.httpd.register.servlets=weblogic.servlet.ServletServlet
이부분이 주석 처리 되어있는데 앞의 # 부분을 없애부면 됨.

3) JSP 설정
Jsp 쓰기 위해서는
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# WEBLOGIC JSP PROPERTIES
# ------------------------------------------------
# Sets up automatic page compilation for JSP. Adjust init args for
# directory locations and uncomment to use.
# weblogic.httpd.register.*.jsp=# weblogic.servlet.JSPServlet
# weblogic.httpd.initArgs.*.jsp=# pageCheckSeconds=1,# compileCommand=c:/java/bin/javac.exe,# workingDir=C:/weblogic/myserver/classfiles,# verbose=true

이 부분을 찾아 위부분의 주석을 모두 삭제, 수정할 것은
compoileCommand=c:/java/bin/javac.exe인데 c:/java 는 jdk1.2.2(또는 jdk1.3) 가 설치된 폴더를 가르킨다.
따라서 jdk1.2.2 가 루트에 설치 되 있으면 c:/java 를 c:/jdk1.2.2 로 바꾸면 됩니다.

다음은 바꾼 예 입니다.
# WEBLOGIC JSP PROPERTIES
# ------------------------------------------------
# Sets up automatic page compilation for JSP. Adjust init args for
# directory locations and uncomment to use.
 weblogic.httpd.register.*.jsp= weblogic.servlet.JSPServlet
weblogic.httpd.initArgs.*.jsp= pageCheckSeconds=1, compileCommand=c:/jdk1.2.2/bin/javac.exe, workingDir=C:/weblogic/myserver/classfiles, verbose=true
encoding=EUC-KR

그리고,encoding=EUC-KR 한글 사용을 위해서 필요한 것입니다.
그것은 맨 밑에 직접 추가 시켜 주세요
이걸 하게 되면 jsp 내에서
<%@ page contentType=”text/html; charset=euc-kr” %>
를 할 필요가 없습니다.(하게 되면 오류가 나오더라구요 제경험으로는)

이상으로 jsp 및 servlet setting 을 마치겠습니다.

다음은 weblogic.properties 에서 웹로직 일반 setting 을 설명하겠습니다.
Weblogic.system.listenPort=7001 : 이것은 weblogic 이 기동 되면서 쓰게될
Port 번호를 지정하는 부분입니다.
기본은 7001 입니다.
Weblogic.password.system=11111111 : 이것은 웹로직 설치할 때 입력한 암호가 있는곳입니다. 여기서 바꿀수 있습니다.8자 이상입니다.(설정에 따라 달라집니다)
Weblogic.security.ssl.enable=true : SSL 을 사용할지 여부를 설정
SSL 이 머냐면 저 두 잘 모릅니다.(^^a;;)
기본으로 설정되 있기에 그냥 씁니다.
Weblogic.system.SSLListenPort=7002 : 웹로직 SSL TCP/IP 포트 번호
Weblogic.httpd.enable=true : 웹로직을 웹서버로써 사용할지 여부를 설정한다
IIS,Netscape 를 웹서버로 사용하고 웹로직을
Application 서버로만 사용할때는 이 값을 false
로 설정합니다.
이것을 true 로 쓰실거면 listenPort 를
80 으로 주세요 그러면,port 번호 안넣어도
됩니다.
Weblogic.system.enableConsole=true : 웹로직 콘솔 사용여부를 결정
Weblogic.system.maxLogFileSize=1024 : System 로그파일 의 최대크기를
설정합니다.(단위 Kbytes)
weblogic.system.minPasswordLen=8 : password 의 최소길이 결정

다음은 Oracle 을 쓰기 위한 DB Setting 을 설명하겠습니다.

WebLogic DB Connection Pool Setting (for Oracle)
이제부터 dbconnection pool 을 설정하겠습니다.
마찬가지로 weblogic.properties 를 살펴보시면
# WEBLOGIC JDBC CONNECTION POOL MANAGEMENT 이라는 항목이 있습니다.
그 부분이 머냐 하면 oci driver 쓰는부분입니다.
Oci 는 WebLogic 에서 지원하는 겁니다.
일단 oci driver 먼저 setting 해 보겠습니다.
먼저 default 로
#weblogic.jdbc.connectionPool.oraclePool=# url=jdbc:weblogic:oracle,# driver=weblogic.jdbc.oci.Driver,# loginDelaySecs=1,# initialCapacity=4,# maxCapacity=10,# capacityIncrement=2,# allowShrinking=true,# shrinkPeriodMins=15,# refreshMinutes=10,# testTable=dual,# props=user=SCOTT;password=tiger;server=DEMO
이렇게 되 있습니다.

여기서 #을 없애서 주석을 없앤다음
weblogic.jdbc.connectionPool.oraclePool=\ 요부분에서
oraclePool 이라고 되 있는데 이것이 WebLogic 이 start 되면서 loading 하는
pool 이름이 됩니다. 이것을 user 가 임의로 줄 수 있습니다.
그러면 프로그램에 서 Class.forName 을 쓸 때 이 이름으로 loading 하게 됩니다.
예제 는 제가 밑에서 보여드리겠습니다.
그리고, props=user=SCOTT;password=tiger;server=DEMO 부분은
아시다시피 user 와 password 를 넣는 부분입니다.
이것만 설정하면 pool 이 loading 이 됩니다.
Server=DEMO 는 sqlnet 을 통해서 원격 데이터 베이스 에 접근 할 때 씁니다.
Local 데이터 베이스라면 server 부분은 생략해도 됩니다.
Sqlnet 에서 tns name 을 생성한 그 이름이 server= 에 들어가게 됩니다.
Oracle net easy configuration 에서 tns name 을 생성할수 있습니다.
그리고,원격에 접근할 때 initialCapacity 부분을 없애야 됩니다. 아니면
원격 데이터 베이스 와 맞춰주든가요…

이상은 oci driver 를 쓸때였습니다.
이제부터는 Oracle에 서 지원하는 driver를 써서 pool 을 작성 해보겠습니다.
weblogic.jdbc.connectionPool.misPool= url=jdbc:oracle:thin:@150.1.202.46:1521:mis1db, driver=oracle.jdbc.driver.OracleDriver, loginDelaySecs=1, initialCapacity=3, maxCapacity=9, capacityIncrement=2, allowShrinking=true, shrinkPeriodMins=15, refreshMinutes=10, testTable=dual,props=user=scott;password=tiger;
weblogic.allow.reserve.weblogic.jdbc.connectionPool.misPool=everyone
자 보시면 아마 Oracle 을 써보셨으면 아실 겁니다.
달라진 부분이 머냐 하면 url 과 driver 부분이 달라졌죠?
물론 misPool 은 user가 임의로 줄 수 있는 Pool Name 입니다.
그리고, url=jdbc:oracle:thin:@150.1.202.46:1521:testdb,\ 에서
testdb 는 sid 입니다. SqlPlus 에 서 로긴 할 때 hoststring에 들어갈 부분의 이름입니다. Local 데이터 베이스 라면 ORCL 이 보통입니다.(셋팅에 따라 다름)weblogic.allow.reserve.weblogic.jdbc.connectionPool.misPool=everyone
부분은 misPool 에 접근 권한을 모두에게 준다는 겁니다.
나머지는 그냥 두시면 되는데 부수적으로 설명을 드리면
initialCapacity=3,\ 는 처음 생성할 pool 의 개수를 말합니다.
maxCapacity=9,\ 는 최대 9개 까지 만들수 있다는 겁니다.
capacityIncrement=2,\ 는 최대 pool 개수를 넘으면 2개씩 증가 하라는 겁니다.

다 아시겠지만 thin 다음에 나오는 ip 는 데이터 베이스 서버가 위치한
시스템 의 ip 입니다.
Local 데이터 베이스 라면(고정 ip인 경우) local 시스템의 ip 를, 유동 ip 라면 127.0.0.1 을 쓰면 됩니다(localhost)

이상 WebLogic 의 Setting 및 DB Connection Pool 설정에 대한 설명이었습니다.

다음은 프로그램에서 사용방법입니다.
보통 direct 로 Oracle 에 연결할 때...

Connection Con = null;
String url = “jdbc:oracle:thin:@127.0.0.1:1521:mis1d”;
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Con = DriverManager.getConnection(url,”scott”,”tiger”);

이렇게 해서 Oracle 과 연결을 합니다.

이렇게 프로그램에서 하나하나 해주게 되면 매 프로그램마다 loading
을 하게 되므로 서버에 엄청난 부하를 주게 됩니다.

그래서,main Programmer 들이 pool 을 만들어 던가 아니면 pool class 를 직접 만들어서 connection 을 얻어오도록 하는게 보통입니다.
WebLogic 에서는 간편합니다.
WebLogic 이 start 할 때만 pool 을 가져 오기 때문에 driver class 를
프로그램 실행 시 마다 가져 오지 않습니다.

아래는 WebLogic에 서의 driver loading 예제 입니다.

Driver Drv = null;
Connection Con = null;
Drv = (Driver)Class.forName(“weblogic.jdbc.pool.Driver”).newInstance();
Con = Drv.connect(“jdbc:weblogic:oci:misPool”,null); “misPool” 은 user 가 지정한 Pool 이름 입니다.

이상 connection 을 여는 방법입니다.
이하, 이제 PreparedStatement 나 Statement 를 통해서 ResultSet 을 받아서 프로그램을 작성하면 됩니다.


출처: http://www.dakorsys.com
반응형