Connection reset은 DB 서버측에서 커넥션이 종료되었으나 WAS는 그것을 알아차리지 못할때 발생합니다. TOMCAT의 경우 , evicator라는 것이 있어 정기적으로 비정상종료된 커넥션을 없애주는 옵션이 있습니다. 아래 스크립트를 참고하세요

 

- validationQuery="SELECT 1 FROM DUAL"

- testWhileIdle="true"

- timeBetweenEvictionRunsMillis="3000"

 

<Resource name="WmsPool" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:oracle:thin:@<ip>:<port>:<sid>" username="<유저>" password="<패스워드>" initialSize="5" validationQuery="SELECT 1 FROM DUAL" testOnReturn="true" testWhileIdle="true" timeBetweenEvictionRunsMillis="3000" maxActive="5" maxIdle="2" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" />


출처 : http://www.javaservice.net/~java/bbs/read.cgi?b=qna2&c=r_p&n=1235977153

Connection : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (IO 예외 상황: The Network Adapter could not establish the connection)

==> 로컬에서 원격 서버에 위치한 DB에 연결 시 발생되는 오류임.

     문제는 서버에 방화벽문제.. 회사나, 연구소의 경우 내부 스위치장비의 교체 등으로

     방화벽 설정이 수정되는 경우 발생 가능함.


==> 방화벽 문제가 아니라면 이클립스의 서버 Tab에 있는 Tomcat Server에 대해 Clean을 선택한다.


한 IP에 도메인을 두개 이상 받았을 경우를 이야기 한다.
Apache conf에서 httpd.conf 수정한다.
=============== 이하 수정부분 ===============
#현재 서버의 IP 지정
ServerName 203.000.000.000:80

#=== 톰캣연동과 관련한 JkWorker 설정 공통부분 : 각자 맞춰서 알아서 작성===
#workers 위치 지정
JkWorkersFile /usr/local/apache2/conf/workers.properties

#jk 로그 파일 위치 지정
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkShmFile /usr/local/apache2/logs/mod_jk.shm

#로그 레벨 지정
JkLogLevel debug

#로그 시간 포맷 지정
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

#로그 내용 포맷 지정
JkRequestLogFormat "%w %V %T"
#=================================================
# 가상 호스트 지정할 IP 지정
NameVirtualHost 203.000.000.000:80
# 첫번째 가상 호스트
<VirtualHost 203.000.000.000:80>
 ServerAdmin xxxxx@xxxx.co.kr
 DocumentRoot /var/www/html/xxxx/
 ServerName xxxx.co.kr
 CustomLog logs/xxxx.co.kr-access_log common
 JkMount /*.jsp worker1
</VirtualHost>
# 두번째 가상 호스트
<VirtualHost 203.000.000.000:80>
 ServerAdmin oooo
@oooo.co.kr
 DocumentRoot /var/www/html/oooo/
 ServerName oooo.co.kr
 CustomLog logs/oooo.co.kr-access_log common
 JkMount /*.jsp worker1
</VirtualHost>

Tomcat의 경우 Apache에서 가상호스트를 설정하였다면,
Tomcat 폴더의 Conf 디렉토리에 위치한 server.xml을 수정한다.
아래와 같이 두개의 URL 별로 HOST를 설정한다.
<Host name="xxxx.co.kr"  appBase="/var/www/html/xxxx/"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="" reloadable="true" />

<Host name="oooo.co.kr"  appBase="/var/www/html/oooo"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="" reloadable="true" />

만약 OZ를 특정위치에서 서비스 한다면
OZ의 폴더를 해당 URL 아래로 이동시킨 후
oz/conf/db.properties에서 URL을 변경해준다.
또한 oz/WEB-INF/classess에 있는 ozserver.properties의
oz server의 home 위치를 해당 URL로 변경시켜준다.


1. /oz/WEB-INF/classes/ozserver.properties 변경
   path.oz.server.home="변경된 위치" 로 수정

2. Tomcat 재시작

+ Recent posts