【Tomcat カスタマイズ】

１．binフォルダ
２．confフォルダ
３．libフォルダ

=============================================================
１．binフォルダ
【概要】
	openOffice の CLASSPATH の設定を有効にする。

【対応方法】
	①service.bat のCLASSPATH に、;%OG_CLASSPATH%

rem ======= IFA 2018/02/01 openoffice の CLASSPATH や、拡張フォルダ(endorsed7.0)のクラスパスを、追加しておきます。これで、ﾚｼﾞｽﾄﾘにも書き込まれます。
rem set "CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_BASE%\bin\tomcat-juli.jar"
set "CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_BASE%\bin\tomcat-juli.jar;%OG_CLASSPATH%"

	②setenv.bat	ｺﾋﾟｰ

	③setenv.sh		ｺﾋﾟｰ

=============================================================
２．confフォルダ

【概要】
	tomcat の サーバー設定を行います。
	これは、同一 tomcat環境を、複数起動する場合に、C:\opengionV6\uap\bin\init.bat を
	用意するだけで対応できるようにするための設定です。

【詳細】
	① context.xml
		Alias設定 と、FileNotFoundException 対策

	② logging.properties
		${catalina.base}/logs → ${logsDir} に置き換えるカスタマイズを行っています。

	③ server.xml
		portやサーバー名他、パラメータ化（環境変数渡し）をしています。
		これは、同一Tomcat環境を、起動スクリプト（startup.bat）を複数用意するだけで
		複数起動できるようにするための処置です。

	④ tomcat-users.xml
		manager アプリケーションを実行するにあたり、ユーザー設定をこのファイルで行います。
		通常のopenGion系アプリケーションがうまく動作しない場合でも、manager だけは
		動作させたいためです。

	⑤ web.xml
		default サーブレットの置き換えと、error-page 設定をカスタマイズしています。
		<servlet-name>default</servlet-name>
		<servlet-class>org.opengion.tomcat.CacheDefaultServlet</servlet-class>
		カスタマイズ箇所には、 IFA 文字のコメントを入れています。

	⑥ web.xml
		EmbeddedServletOptionsのカスタマイズ実装しています。
		<init-param>
			<param-name>engineOptionsClass</param-name>
			<param-value>org.opengion.tomcat.HybsServletOptions</param-value>
		</init-param>
		カスタマイズ箇所には、 IFA 文字のコメントを入れています。


【対応方法】
	tomcat/conf フォルダ以下にコピーします。
	この場合、既存の catalina.policy 、catalina.properties 、context.xml
	は、修正していないので、そのまま残っています。

	その後、各環境に合わせて、修正してください。

=============================================================
３．libフォルダ

【概要】
	Tomcat に、追加カスタマイズ設定を行います。
	クラスのメモリ不足が原因で、out of memory エラーを引き起こすことがある為、
	キャッシュすることで、不要な GC の発生を抑えます。

【対応方法】
X	① ogCache.jar
X		conf/web.xml のカスタマイズで、<servlet-class>org.opengion.tomcat.CacheDefaultServlet</servlet-class>
X		の設定で使用するクラスを、追加します。

	② tomcat-9.0.40 以降に、websocket-api.jar で、警告が出る
		警告元の jar ファイルを取り出してコピーする。

		https://search.maven.org/artifact/biz.aQute.bnd/biz.aQute.bnd.annotation
		biz.aQute.bnd.annotation-6.3.1.jar

		https://mvnrepository.com/artifact/org.osgi/osgi.annotation
		osgi.annotation-8.1.0.jar

		uap\webapps\gf\build.xml に、
			<pathelement path="${env.CATALINA_HOME}/lib/websocket-api.jar" />
	★		<pathelement path="${env.CATALINA_HOME}/lib/websocket-client-api.jar" />	<!-- tomcat10.1 から必要 -->
<!--
			<pathelement path="${env.CATALINA_HOME}/lib/biz.aQute.bnd.annotation-6.3.1.jar" />
			<pathelement path="${env.CATALINA_HOME}/lib/osgi.annotation-8.1.0.jar" />
-->
		を追記。

	③ javax.servlet → jakarta.servlet 変更に伴う。JSTL の変更と置き場所の変更
		従来は、各物件の WEB-INF\lib に置いていましたが、tomcat10.X.X\lib に変更します。

	X	https://tomcat.apache.org/download-taglibs.cgi
	X		taglibs-standard-impl-1.2.5.jar
	X		taglibs-standard-spec-1.2.5.jar
	X		taglibs-standard-jstlel-1.2.5.jar			⇒ EL 追加(2022/11/18)
	X		taglibs-standard-compat-1.2.5.jar			⇒ 追加(2022/12/28)

		https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api/3.0.0
			jakarta.servlet.jsp.jstl-api-3.0.0.jar		⇒ 追加(2022/12/28)

		https://mvnrepository.com/artifact/org.glassfish.web/jakarta.servlet.jsp.jstl/3.0.0
			jakarta.servlet.jsp.jstl-3.0.0.jar			⇒ 追加(2022/12/28)
