Tomcat 에서는 server.xml 과 context.xml 에 리소스와 리소스 링크 추가해주면 잘 찾는데,
이상하게 Jeus 에서는 계속 네이밍 못찾는다고 나와서 요것조것 해보다 보니,

Jeus 에서는 web.xml 에 resource-ref 를 추가 안해주면 못찾는구나.. 라는 결론이 나왔다.

아래와 같이 Jeus 와 web.xml 을 모두 세팅 해줘야 하더라..

1. JEUSMain.xml 설정

  
   <resource>
      <data-source>
         <database>
            <vendor>mysql</vendor>
            <export-name>cserverdb</export-name>
            <data-source-class-name>jeus.jdbc.driver.blackbox.BlackboxConnectionPoolDataSource</data-source-class-name>
            <data-source-type>ConnectionPoolDataSource</data-source-type>
            <stmt-query-timeout>60000</stmt-query-timeout>
            <property>
               <name>DriverClassName</name>
               <type>java.lang.String</type>
               <value>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</value>
            </property>
            <property>
               <name>URL</name>
               <type>java.lang.String</type>
               <value>jdbc:mysql://192.168.1.X:3306/cserverdb?autoReconnect=true</value>
            </property>
            <property>
               <name>User</name>
               <type>java.lang.String</type>
               <value>XXXXXX</value>
            </property>
            <property>
               <name>Password</name>
               <type>java.lang.String</type>
               <value>XXXXXX</value>
            </property>
            <action-on-connection-leak>Warning</action-on-connection-leak>
            <connection-pool>
               <pooling>
                  <min>2</min>
                  <max>30</max>
                  <step>1</step>
                  <period>3600000</period>
               </pooling>
               <wait-free-connection>
                  <enable-wait>true</enable-wait>
               </wait-free-connection>
            </connection-pool>
         </database>
      </data-source>
   </resource>

2.WAR 의 web.xml 에 아래와 같이 추가

	
       <resource-ref>
		<description>Datasource Contents Server</description>
		<res-ref-name>cserverdv</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

3. iBatis 의 sqlmapConfig.xml 을 아래와 같이 설정
	<transactionManager type="JDBC" >
		<dataSource type="JNDI">
			<property name="DataSource" value="cserverdb"/>
		</dataSource>
	</transactionManager>

위에서, DataSource 에, java:comp/env/cserverdb 가 아니고, 그냥 cserverdb 임에 반드시 주의하자~! 요것땜에 많이 헤맸네~?

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,
이번에 Tomcat / Eclipse 에서 개발하던 환경이 Jeus 로 올라가면서 동작하지 않아 난감한 상황이었는데,
결국 사소한 문제 때문에 작동하지 못한거여서 참으로 황당하네..

struts.xml 에서, package 정의와 include 시에 아래와 같은 사항에 주의해야 하겠다.

1. namespace 에 root 를 지정할 경우 주의점

 package 의 attribute 중에, namespace 를 지정할 때에, root 요소를 지정하는 경우, namespace="/" 가 아니라
 namespace="" 로 주어야 한다.
 즉, 값 안에 / 가 있어서는 안된다.

2. include 시에 주의 점

include file="/demo/db/user-navi.xml" 과 같이 해서는 안되고,
include file="demo/db/user-navi.xml" 과 같이, 앞의 "/" 를 빼도록 한다.
아직 테스트는 안했지만, 앞에 / 가 붙으면 절대 경로로 찾는 듯 하다. 절대경로 찾을 시 root 는 system 루트가 되는 듯 함.

이상 사소한 것들이지만, 작동이 안되는 우를 범하지 말도록 하자.




반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,
Oracle 은 뭐 대충 Webadmin 에서 입력하면 되는데, MySQL 은 조금 헤멨다..

Database Name, Server Name, User, Password 등을 Webadmin 의 Form 필드에 넣지 말고,
아래의 커스텀 Property 부분에만 지정해주니 잘 된다.

참고로, 아래에 세팅된 예제 나간다.

Jeus 4.x 대 부터 모두 통용되는 듯 하다.

<resource>
   <data-source>
      <database>
         <vendor>mysql</vendor>
         <export-name>cserverdb</export-name>
         <data-source-class-name>jeus.jdbc.driver.blackbox.BlackboxConnectionPoolDataSource</data-source-class-name>
         <data-source-type>ConnectionPoolDataSource</data-source-type>
         <stmt-query-timeout>60000</stmt-query-timeout>
         <property>
            <name>DriverClassName</name>
            <type>java.lang.String</type>
            <value>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</value>
         </property>
         <property>
            <name>URL</name>
            <type>java.lang.String</type>
            <value>jdbc:mysql://192.168.1.X:3306/cserverdb?autoReconnect=true</value>
         </property>
         <property>
            <name>User</name>
            <type>java.lang.String</type>
            <value>XXXXXXXX</value>
         </property>
         <property>
            <name>Password</name>
            <type>java.lang.String</type>
            <value>XXXXXXXX</value>
         </property>
         <action-on-connection-leak>Warning</action-on-connection-leak>
         <connection-pool>
            <pooling>
               <min>2</min>
               <max>30</max>
               <step>1</step>
               <period>3600000</period>
            </pooling>
            <wait-free-connection>
               <enable-wait>true</enable-wait>
            </wait-free-connection>
         </connection-pool>
      </database>
   </data-source>
</resource>

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,