コンテンツにスキップ

Tomcatの設定

Kapplets をインストールした Tomcat に対して、「Kapplets の環境情報」や「データベースの情報」などの設定を行います。
設定は以下の 2 つのファイルで設定します。

項番 ファイル名 用途
1 kapplets.xml Kapplets が使用するスキーマ(データベース)の情報を設定
2 application.properties Spring Boot の設定ファイル。Kapplets の環境情報を設定

kapplets.xmlの設定

kapplets.xmlの設定について説明します。

kapplets.xmlの設定値について

設定値に誤りがあるとKappletsにアクセスした際にエラーが発生しますので、慎重に進めてください。
Tomcatが起動している場合は停止して進めてください。

Tomcatの停止方法

サービスを起動して、Apache Tomcat 9.0を停止します。 setvice-stop

設定手順

  1. kapplets.xml ファイルを作る

    「[Tomcat インストールフォルダ]\conf\Catalina\localhost」フォルダ配下に「kapplets.xml」ファイルを作成します。
    ※ Tomcatのインストールフォルダが通常と異なる場合は適宜読み替えてください。

    Tomcat9.0の場合の格納先

    C:\Program Files\Apache Software Foundation\<ランダムな文字列>\Tomcat 9.0\conf\Catalina\localhost
    

    kappletsxml-make

  2. kapplets.xmlにコードを設定する

    作成したxmlファイルにコードを貼り付け、環境に応じて設定値を変更します。
    テンプレートは以下になります。
    ハイライトの行を設定環境に応じて設定してください。

    アドレスの設定値について

    「MCのアドレス」と「Kappletsのアドレス」は 「localhost」または 「127.0.0.1」を利用しないでください。
    設定値としては、 「サーバーのIPアドレス」または 「サーバーのホスト名」をご利用ください。

    ブラウザでKappletsにアクセスする時は「kapplets.xml」で定義した「Kappletsのアドレス」にアクセスするため「localhost」などを設定するとユーザーの端末からKappletsにアクセスできなくなります。

    kapplets.xml

    <?xml version='1.0' encoding='utf-8'?>
    <Context useHttpOnly="true">
        <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
        <Resource name="jdbc/kapow/kapplets"
                  auth="Container"
                  type="javax.sql.DataSource"
                  initialSize="5"
                  maxTotal="100"
                  maxIdle="10"
                  maxWaitMillis="-1"
                  validationQuery="/* ping */"
                  testOnBorrow="true"
                  testWhileIdle="true"
                  username="①DB ユーザー名"
                  password="②DB のユーザーパスワード"
                  driverClassName="com.mysql.cj.jdbc.Driver"
                  url="jdbc:mysql://③DB のホスト名またはIPアドレス:④DBのポート番号/⑤Kappletsのスキーマ名?autoReconnect=true&amp;useSSL=false&amp;allowPublicKeyRetrieval=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=GMT%2B9"
                  factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"/>
        <Environment name="spring.datasource.jndi-name" value="jdbc/kapow/kapplets" type="java.lang.String" override="false"/>
        <Environment name="spring.jpa.database-platform" value="org.hibernate.dialect.MySQL8Dialect" type="java.lang.String" override="false"/>
        <Environment name="kapplets.services.mc.connection.url" value="http://⑥MCのホスト名またはIPアドレス:⑦MCのポート番号/mc" type="java.lang.String" override="false"/>
        <Environment name="kapplets.services.mc.connection.service.kapplets-base-url" value="http://⑧Kappletsのホスト名またはIPアドレス:⑨Kappletsのポート番号/kapplets" type="java.lang.String" override="false"/>
        <Environment name="kapplets.services.mc.connection.service.mc-base-url" value="http://⑥MCのホスト名またはIPアドレス:⑦MCのポート番号/mc" type="java.lang.String" override="false"/>
        <Environment name="kapplets.app.default.language" value="ja" type="java.lang.String" override="false"/>
    </Context>
    
    No 項目
    DB ユーザー名 Kapplets SCHEMAにログインするユーザー名
    DB のユーザーパスワード 上記DB ユーザー名のパスワード
    DB のホスト名またはIPアドレス 例 machine_name または 192.168.1.123
    DBのポート番号 例 3306
    Kappletsのスキーマ名 例 kapplets
    MCのホスト名またはIPアドレス 例 machine_name または 192.168.1.123
    MCのポート番号 例 8080
    Kappletsのホスト名またはIPアドレス 例 machine_name または 192.168.1.123
    Kappletsのポート番号 例 8080

以上でkapplets.xmlの設定は完了です。
設定を反映する場合は、各設定項目を編集しファイルを上書き保存した後にTomcatを起動してください。

service-start

application.propertiesの設定

下記の3つのKappletsの設定について説明します。
但し、これらの設定は必須ではありませんので、必要に応じて設定してください。

プロキシサーバー利用時の注意点

プロキシサーバーを利用する場合「プロキシサーバーの有効化」を必ず実施してください。
初期設定では、プロキシサーバーの設定は“無効”です。

application.propertiesファイルの格納先

「Tomcat インストールフォルダ」\webapps\kapplets\WEB-INF\classes フォルダ配下にある「application.properties」ファイルをテキストエディタで開きます。
※ Tomcatのインストールフォルダが通常と異なる場合は適宜読み替えてください。

Tomcat9.0の場合の格納先

C:\Program Files\Apache Software Foundation\<ランダムな文字列>\Tomcat 9.0\webapps\kapplets\WEB-INF\classes

applicationproperties

Tomcatの停止について

Tomcatが起動している場合は停止して進めてください。
停止方法はこちらをご参照ください。


プロキシサーバーの有効化

「kapplets.services.mc.connection.proxy.enabled」の設定値を「変更後」の赤字「true」に変更します。

変更前:kapplets.services.mc.connection.proxy.enabled=false
変更後:kapplets.services.mc.connection.proxy.enabled=true

application.properties

kapplets.services.mc.connection.proxy.enabled=false
 
kapplets.services.mc.connection.proxy.host=localhost
kapplets.services.mc.connection.proxy.port=8888
kapplets.services.mc.connection.proxy.username=proxy-user
kapplets.services.mc.connection.proxy.password=
kapplets.services.mc.connection.proxy.enabled=true

Kappletsに反映されるまでの時間設定

KappletsはMCと一定間隔で通信を行い、リポジトリ内の各データ(ロボットファイルなど)を同期します。
以下の編集文字列にある設定内容を書き換えることでそのKappletsが行う同期時間間隔を変更できます。(単位:秒)

下記「変更後」ある赤字の「秒数」2か所を変更します。2カ所の「秒数」は同じ値を設定してください。

変更前:kapplets.services.mc.caching.descriptions.life-time=300
    kapplets.services.mc.caching.robots.life-time=300

変更後:kapplets.services.mc.caching.descriptions.life-time=秒数
    kapplets.services.mc.caching.robots.life-time=秒数

application.properties

kapplets.services.mc.caching.mapping.size=40000
kapplets.services.mc.caching.mapping.life-time=21600
 
kapplets.services.mc.caching.descriptions.life-time=300
kapplets.services.mc.caching.descriptions.size=30000
 
kapplets.services.mc.caching.robots.life-time=300
kapplets.services.mc.caching.robots.size=30000

同期時間の間隔に関する注意点

同期時間間隔の数値を小さくすると、MCにロボットをアップロードしてからKappletsに反映されるまでの時間を短縮できます。しかしその反面、頻繁に通信が発生してKappletsの読み込みが遅くなる可能性があることに注意してください。


セッションタイムアウトの設定

ユーザーが一定時間無操作の場合にセッションを自動的に終了するタイムアウト(単位:分)を設定できます。
下記の「変更後」の赤字部分「セッションタイムアウト時間(分)」を変更します。セッションタイムアウト時間を記載する際は数字だけではなく、「分」を意味する「m」を記載してください。

変更前:server.servlet.session.timeout=30m
変更後:server.servlet.session.timeout=セッションタイムアウト時間(分)

application.properties

################### spring sessions ######################
# Session store type.
spring.session.store-type=jdbc
# Session timeout. If a duration suffix is not specified, seconds will be used.
server.servlet.session.timeout=30m
# Database schema initialization mode.
spring.session.jdbc.initialize-schema=always
# Path to the SQL file to use to initialize the database schema.
spring.session.jdbc.schema=classpath:schema/kapplets/@@platform@@/create-session.sql
# Name of the database table used to store sessions.
#spring.session.jdbc.table-name=SPRING_SESSION


以上でapplication.propertiesの設定は以上になります。
設定を反映する場合は、各設定項目を編集しファイルを上書き保存した後にTomcatを起動してください。

service-start


以上で、Kappletsの構築時のTomcatの設定は完了です。