2015년 2월 26일 목요일

이클립스 + jeus 5 + 오라클 프로젝트 구성


[출처:http://blog.naver.com/PostView.nhn?blogId=yruyo&logNo=80105185296]
출처에서 가져온 내용을 임의로 편집을 하겠습니다.
회사에 제우스5 라이센스가 많이 놀고 있어서 제우스를 써야한다.ㅜㅜ
제우스의 성능 차이가 톰캣과는 넘사벽일까? 

아래를 참조해서 이클립스에 제우스 플러그인을 설치를 완료한다.
http://kyjmagic.tistory.com/entry/JEUS-60%EA%B3%BC-Eclipse-35-%EA%B0%88%EB%A6%B4%EB%A0%88%EC%98%A4-%EC%97%B0%EB%8F%99

Eclipse+Tomcat 셋팅에서 JEUS 셋팅 갈아타기 

1. JEUS WEBMain.xml 설정
일반적으로 JEUS 폴더의 config 폴더내에 있다.
<?xml version="1.0" encoding="UTF-8"?><jeus-system xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
   <node>
      <name>WAS</name>
      <engine-container>
         <name>container1</name>
         <id>9</id>
         <base-port>9841</base-port>
         <command-option>-Xms256m -Xmx1024m -XX:MaxPermSize=256m</command-option>
         <user-class-path>/source/app/war/WEB-INF/message:/source/app/war/WEB-INF/conf</user-class-path>
         <engine-command>
            <type>servlet</type>
            <name>engine1</name>
         </engine-command>
         <sequential-start>true</sequential-start>
      </engine-container>
      <class-ftp>true</class-ftp>
      <sequential-start>true</sequential-start>
      <enable-webadmin>true</enable-webadmin>
      <system-logging>
         <level>INFO</level>
         <handler>
            <file-handler>
               <name>fileHandler</name>
               <level>INFO</level>
               <valid-day>1</valid-day>
            </file-handler>
         </handler>
      </system-logging>
   </node>
   <resource>
      <data-source>
         <database>
            <vendor>oracle</vendor>
            <export-name>jdbc/oracle</export-name>
            <data-source-class-name>oracle.jdbc.pool.OracleConnectionPoolDataSource</data-source-class-name>
            <data-source-type>ConnectionPoolDataSource</data-source-type>
            <database-name>데이터베이스명</database-name>
            <port-number>1521</port-number>
            <server-name>서버 아이피</server-name>
            <user>데이터베이스 계정</user>
            <password>계정 비밀번호</password>
            <property>
               <name>driverType</name>
               <type>java.lang.String</type>
               <value>thin</value>
            </property>
            <connection-pool>
               <pooling>
                  <min>20</min>
                  <max>40</max>
                  <step>5</step>
                  <period>3600000</period>
               </pooling>
               <check-query>select 1 from dual</check-query>
            </connection-pool>
         </database>
      </data-source>
   </resource>
   <application>
      <name>web</name>
      <path>/source/app/war</path>
      <deployment-type>COMPONENT</deployment-type>
      <web-component/>
      <deployment-target>
         <target>
            <engine-container-name>WAS_container1</engine-container-name>
            <web-context-group>
               <name>MyGroup</name>
            </web-context-group>
         </target>
      </deployment-target>
   </application>
</jeus-system>


우선 command-option 부분은 Eclipse에 Tomcat Plug-In을 붙여서 사용했던 분들은 아시겠지만
Eclipse의 Window>Preferences에서 Tomcat>JVM Settings>Append to JVM Parameters에
해당하는 부분이며 user-class-path 부분은 Tomcat>JVM Settings>Classpath에 해당하는 부분이다. 위의 2곳을 Eclipse에 동일하게 맞춰서 engine-container을 셋팅해 주고 data-source 부분은
oracle 이면 거의 대부분이 동일한데 database-name, port-number, server-name, user, password
이정도만 확인해 줘도 충분할 것이다. 각 사항은 직관적이니 설명은 스킵한다. 그리고 application 부분에서는 JEUS WebAdmin에서 디플로이하면 설정되는 부분인데 구분하기 위한 name을 설정하고
실제 소스의 home 디렉토리를 path에 설정하면 WEBMain.xml 설정은 끝.


2. 개별 엔진의 WEBMain.xml 설정
<?xml version="1.0"?>
<web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
    <context-group>
        <group-name>MyGroup</group-name>
        <webserver-connection>
            <http-listener>
                <listener-id>http1</listener-id>
                <port>8091</port>
                <thread-pool>
                    <min>10</min>
                    <max>10</max>
                    <step>1</step>
                </thread-pool>
            </http-listener>
<!--
            <webtob-listener>
                <listener-id>webtob1</listener-id>
                <port>9900</port>
                <output-buffer-size>8192</output-buffer-size>
                <thread-pool>
                   <min>30</min>
                   <max>30</max>
                   <step>1</step>
                   <max-idle-time>30000</max-idle-time>
                </thread-pool>
                <webtob-address>localhost</webtob-address>
                <registration-id>MyGroup</registration-id>
            </webtob-listener>
-->
        </webserver-connection>
        <logging>
            <access-log>
                <handler>
                    <file-handler>
                        <name>handler1</name>
                        <valid-day>1</valid-day>
                    </file-handler>
                </handler>
            </access-log>
        </logging>
    </context-group>
</web-container>


JEUS의 config 폴더의 개별 엔진의 폴더에 들어가면 위에서 설명한 같은 이름의 WEBMain.xml이
존재하는데 열어보면 내용은 차이가 있다. webtob를 셋팅을 하지 않기로 했으니 주석처리가 되어있
으며 1번에서 설명한 WEBMain.xml의 web-context-group/name과 개별 엔진의 WEBMain.xml의 group-name이 같은지 확인하고 사용할 port 번호를 port에 설정한다. 보통 80이지만 개발임으로 8091로 셋팅했다.


3. 소스의 WEB-INF의 jeus-web-dd.xml  설정
보통 JEUS WebAdmin에서 디플로이 시키면 자동으로 소스의 WEB-INF에 jeus-web-dd.xml가 생기는거 같은데 JEUS WebAdmin을 사용하지 않는다면 아래를 참조해서 만들어주면 된다.

<?xml version="1.0" encoding="UTF-8"?>
<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
    <context-path>/portal</context-path>
    <enable-jsp>true</enable-jsp>
    <auto-reload>
        <enable-reload>false</enable-reload>
        <check-on-demand>false</check-on-demand>
    </auto-reload>
</jeus-web-dd>


여러 옵션이 있지만 기본적으로 두고 사용 될 context path를 context-path에 지정해 준다.




4. 소스의 WEB-INF의 web.xml 설정
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
  <display-name>iKEP Portal</display-name>
                               .
                               .
                               .
   <resource-ref>
      <description>iKEP portal DB Connection</description>
      <res-ref-name>jdbc/oracle</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>
    <jsp-config>
      <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <el-ignored>true</el-ignored>
      </jsp-property-group>
    </jsp-config>

</web-app>

보통 시작이 <web-app>로 되어있는데 JEUS에서 사용하려면 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"> 라고 해줘야 한다. 그렇지 않으면 jboot 시에 web-app 어쩌구 저쩌구 에러 메세지를 발견할 수 있다. res-ref-name는 1번 설명에서 data-source/database/export-name 에서 같은 이름인지 확인을 해야 하고 jsp에서 jstl을 이용해서 코딩한 경우 낮은 버전을 호환하도록 하기 위해 jsp-config 이하 부분을 모두 추가해 주도록 한다.




5. lib 확인
Tomcat>lib 에서 사용했던 라이브러리 파일들은 그대로 복사하여서 JEUS 폴더의 lib>application 폴더로 복사해 주면 되고 나머지 사용된 라이브러리 파일들은 소스의 WEB-INF>lib로 모두 위치시켜 주면 된다. 소스의 WEB-INF>lib의 라이브러리 파일과 JEUS 폴더의 lib>application의 라이브러리 파일들이 서로 겹치지 않는지 확인해 주면 된다.

>>>당연한 이야기지만 ojdbc14.jar파일이 있어야 한다.



이정도면 어느정도 기본적인 셋팅 방법이라고 할 수 있겠는데 그래도 안된다 싶으면 JEUS의 로그 파일을 살펴봐서 에러에 따라 처리를 해주는 것이 좋을 것이다. 그 이외의 문제는 정말 정말 정말 검색 또는 아는 사람에게 물어보는게 현명할 듯. 정 안되면 티맥스소프트에 문의하면 원격으로도 지원이 된다고 하나. 어디까지나 제우스를 구입해야지 지원이 가능할거라 예상된다. -ㅅ-a
[출처] Eclipse+Tomcat 셋팅에서 JEUS 셋팅 갈아타기|작성자 이루



추가적인 오류해결법 >>>
http://openwdev.blogspot.kr/2013/09/jeus-jeusmainxml-jsp-compile.html

jeus에서 JEUSMain.xml 잘못 세팅으로 인한 jsp compile 안되는 현상 발생

War배포시 잘되는제 프로젝트를 직접 배포 할경우 다음과 같은 오류 발생.
War배포가 아닌 직접 프로젝트로 배포 할경우 WebContent까지 경로를 잡아줘야 한다.

[2013.09.12 11:03:04][1][b068] [container1-10] fail to parse jsp file : /WebContent/main.jsp

--------------JEUSMain.xml-----------
<application>
      <name>test_web</name>
      <path>D:\test_web\</path>   <===== 여기를       <path>D:\test_web\WebContent</path> 잡아줘야 한다.(난 아마추어다 -_-)
      <deployment-type>COMPONENT</deployment-type>
      <web-component/>
      <deployment-target>
         <target>
            <engine-container-name>XXX_container1</engine-container-name>
            <web-context-group>
               <name>MyGroup</name>
            </web-context-group>
         </target>
      </deployment-target>
   </application>
---------------------------------------

댓글 없음:

댓글 쓰기