例:jvmRouteにホスト名を付加させる
ポイント
* ${HOSTNAME}で、ホスト名を取得可能
* setenv.sh と CATALINA_OPTS を利用する
設定手順
/usr/local/tomcatにインストールされ、所有者は「tomcat」でインストールされている場合
[1] %CATALINA_BASE%/bin 配下に setenv.sh を作成
# 1-1) setenv.sh を作成
sudo vi /usr/local/tomcat/bin/setenv.sh
# 編集内容は下記「setenv.sh」を参照
# 1-2) 所有者を「tomcat」に変更
sudo chown tomcat:tomcat /usr/local/tomcat/bin/setenv.sh
# 1-3) アクセス権を変更
sudo chmod 750 /usr/local/tomcat/bin/setenv.sh
[2] server.xml を修正
sudo vi /usr/local/tomcat/conf/server.xml
# 編集内容は下記「server.xml」を参照
[3] 動作確認(下記「動作確認用サイト」を参照)
setenv.sh
#!/bin/sh
# その他、任意の VM オプション
CATALINA_OPTS="-DjvmRouteParts=${HOSTNAME}"
server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm_${jvmRouteParts}">
動作確認用サイト
* 以下のサイトにアクセスし、セッションIDを確認する
【出力例】[Site 1] session id = E83366C60750614A47D880EC559A4BF2.jvm_localhost.localdomain
sessionExam.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Session Exam</title>
</head>
<body>
[Site 1]
session id = <%= session.getId() %>
<br>
<% Integer counter = (Integer)session.getAttribute("counter");
counter = ( counter == null )
? new Integer(1) : new Integer(counter.intValue() + 1);
session.setAttribute("counter",counter);
%>
counter = <%= session.getAttribute("counter") %><br>
Host = <%= java.net.InetAddress.getLocalHost() %><br>
</body>
</html>