본 부록에서는 IPv6 설정에 대해 설명한다.
IPv6 환경에서 JEUS의 설정은 다음과 같은 절차로 이루어진다.
jeus.properties, jeusadmin, startDomainAdminServer, startDomainAdminServerNM, startManagedServer, stopServer, startNodeManager, stopNodeManager, startderby, stopderby, mcastReceiver, mcastSender 스크립트 변경
domain.xml 변경
동작 확인
설정하려는 서버의 hosts 파일에 loopback address는 '::1'로 설정되어 있어야 한다.
hosts 파일은 운영체제에 따라 다음의 경로에 위치한다.
Windows
C:\WINDOWS\system32\drivers\etc
UNIX 계열
/etc/hosts
hosts 파일에 대한 예제는 다음과 같다.
[예 B.1] <<hosts>>
[jeusqa@ipv6linux /home/jeusqa]$ cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. #127.0.0.1 localhost #::1 localhost6.localdomain6 localhost6 ::1 localhost
windows에서 JDK 6을 사용하는 경우 JAVA 버그로 인해 IPv6환경이 정상동작하지 않을 수 있다. JDK7 사용을 권장한다. 자세한 내용은 http://bugs.java.com/view_bug.do?bug_id=6230761을 참고한다.
IPv6 사용을 위한 환경설정에 대해 설명한다. IPv6 환경은 파일에 따라 설정 방법이 다르다.
파일명 : startDomainAdminServer, startManagedServer, startNodeManager
-classpath 가 작성되어 있는 부분에 -Djava.net.preferIPv6Addresses=true와 -Djava.net.preferIPv4Stack=false 내용을 추가한다.
예제
-classpath ......... \ -Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
파일명 : mcastReceiver, mcastSender
기존
-Djava.net.preferIPv4Stack=true \
변경
-Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
파일명 : jeusadmin, startDomainAdminServerNM, stopNodeManager, stopServer
기존
"${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION} \
변경
"${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION} \ -Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
파일명 : jeus.properties
기존
TOOL_OPTION="-Djeus.tm.not_use=true -Djava.net.preferIPv4Stack=true"
변경
TOOL_OPTION="-Djeus.tm.not_use=true -Djava.net.preferIPv6Addresses=true -Djava.net.preferIPv4Stack=false"
파일명 : startderby, stopderby
기존
-Dderby.system.home="${JEUS_HOME}/derby/databases" \
변경
-Dderby.system.home="${JEUS_HOME}/derby/databases" \ -Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
JEUS_HOME/domains/DOMAIN_NAME/config/domain.xml 파일의 내용을 아래와 같이 변경 및 추가 한다.
listen-address의 주소가 IPv4로 설정되어 있다면 IPv6로 변경한다.
예제
<listeners> <base>BASE</base> <listener> <name>BASE</name> <listen-address>0:0:0:0:0:0:0:0</listen-address> <listen-port>9736</listen-port> <use-nio>true</use-nio> <selectors>1</selectors> <use-dual-selector>false</use-dual-selector> <backlog>128</backlog> <select-timeout>120000</select-timeout> <read-timeout>30000</read-timeout> <reserved-thread-num>0</reserved-thread-num> </listener>
heartbeat-address의 address가 IPv4로 설정되어 있다면 아래와 같이 IPv6로 변경하여야 하며, 설정이 없다면 아래의 내용을 추가한다.
예제
<group-communication-info> <heartbeat-address>FF02:0:0:0:0:0:0:0</heartbeat-address> <heartbeat-port>3030</heartbeat-port> <use-virtual-multicast>false</use-virtual-multicast> </group-communication-info>
각 서버별로 vm-option에 java.net.preferIPv4Stack=false와 java.net.preferIPv6Addresses=true를 추가한다.
예제
<jvm-config> <jvm-option>-Xmx1024m -XX:MaxPermSize=256m</jvm-option> <jvm-option>java.net.preferIPv4Stack=false</jvm-option> <jvm-option>java.net.preferIPv6Addresses=true</jvm-option> </jvm-config>