12.4 JBoss 設定の変更

JBoss Application Server は様々な XML 設定ファイルを使用して設定されます。これらの設定ファイルのいずれかを編集するためには、事前に JBoss を停止する必要があります。JBoss の実行中にこれらのファイルを変更すると、JBoss で障害が発生する可能性があります。JBoss には、.property ファイルという形式の設定ファイルがいくつかあります。.property ファイルを Windows 環境で編集する場合は、.property ファイルが常に Linux または Solaris 上の UNIX テキストファイルとして保存されている必要があります。

シングルサーバーインストールの場合、[appserver root]\server\standard\ にある jboss プロファイルをテンプレートとして使用することもできます。クラスターインストールの場合、[appserver root]\server\all\ にある jboss プロファイルをテンプレートとして使用します。

プロファイル(all または standard)のコピーを作成して、コピーしたプロファイルに変更を加えることをお勧めします。

12.4.1 JMS および設定ファイルの削除(オプション)

LiveCycle では JMS 設定を使用しないので、JBoss に含まれる以下のファイルとディレクトリを削除できます。以下に示すディレクトリとその内容の全体を削除してください。

注意: LiveCycle Foundation JMS サービスを有効にする必要がある場合や、JMS サービスに依存する他のサービスやアプリケーションをデプロイする必要がある場合は、この手順をスキップしてください。
  • [appserver root]\server\<profile_name>\deploy\messaging

  • [appserver root]\server\<profile_name>\deploy\jms-ra.rar

12.4.2 JBoss 設定の変更

JBoss 設定を変更して LiveCycle 用に JBoss をカスタマイズするには、次の手順を実行します。

  • jacorb.properties ファイルを更新します。

  • JBoss server.xml ファイル内の URI エンコードの更新

  • EAR ファイルのクラスローディングの分離の変更

  • run.conf.bat ファイルを変更します(Windows)。

  • run.conf(Linux および Solaris)を変更します。

  • log4J.xml を変更します。

  • jbossts-properties.xml ファイルを変更します。

  • セッション Cookie のパスの変更

12.4.2.1 jacorb.properties ファイルの更新

  1. [appserver root]/server/<profile_name>/conf/jacorb.properties ファイルをテキストエディターで開きます。

  2. [appserver root]/server/<profile_name>/conf/jacorb.properties ファイルをテキストエディターで開きます。

  3. jacorb.poa.thread_pool_max という設定を見つけて、値を 16 に変更します。

  4. ファイルを保存して閉じます。

12.4.2.2 JBoss server.xml ファイル内の URI エンコードの更新

  1. [appserver root]/server/<profile_name>/deploy/jbossweb.sar/server.xml ファイルをテキストエディターで開きます。

  2. 次の行を探します。
    <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443"  />
  3. URIEncoding="UTF-8" を末尾に追加します。
    <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
  4. ファイルを保存して閉じます。

12.4.2.3 EAR ファイルのクラスローディングの分離の変更

  1. [appserver root]/server/<profile_name>/deployers/ejb-deployer-jboss-beans.xml ファイルをエディターで開きます。

  2. <property name="CallByValue"> の値を true に変更します。

  3. ファイルを保存して閉じます。

  4. [appserver root]/server/<profile_name>/deployers/ear-deployer-jboss-beans.xml ファイルをエディターで開きます。

  5. <property name="isolated"> の値を true に変更します。

  6. <property name="CallByValue">false</property> の値を true に変更します。

  7. ファイルを保存して閉じます。

  8. [appserver root]/server/<profile_name>/conf/jboss-service.xml ファイルをエディターで開きます。

  9. <attribute name="CallByValue">false</attribute> の値を true に変更します。

  10. ファイルを保存して閉じます。

12.4.2.4 run.conf.bat ファイルの変更(Windows のみ)

  1. [appserver root]/bin/run.conf.bat ファイルをエディターで開きます。

  2. 次の行の太字のテキストを削除し、必要に応じて 32 ビットおよび 64 ビット JVM のメモリ引数を追加します。

    set "JAVA_OPTS=-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true"
    • 32 ビット JVM のメモリ引数:
       set "JAVA_HEAP_ARGS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=192m"
    • 64 ビット JVM のメモリ引数:
      set "JAVA_HEAP_ARGS=-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseCompressedOops"
  3. 次の行を追加します。

    set "JAVA_OPTS=%JAVA_OPTS% %JAVA_HEAP_ARGS%"
  4. 32 ビットおよび 64 ビット JVM の次のメモリ引数を追加します。
    set "JAVA_OPTS=%JAVA_OPTS% -Dadobeidp.serverName=server1 -Dfile.encoding=utf8 -Djava.net.preferIPv4Stack=true" 
    set "JAVA_OPTS=%JAVA_OPTS% -DentityExpansionLimit=10000" 
    set "JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError"
  5. (オプション)IPv6 モードで実行するように次のように JBoss Application Server を変更します。

    • -Djava.net.preferIPv4Stack=false のように変更します。

    • 文字列 -Djava.net.preferIPv6Stack=true を挿入します。

    注意: アプリケーションサーバーログで起動時に次のエラーが記録される場合は、IPv6 スタックの値を削除して、IPv4 の値を true に戻します。

    "13:37:44,488 WARN [HANamingService] Failed to start AutomaticDiscovery java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:260)"

  6. ファイルを保存して閉じます。

12.4.2.5 run.conf ファイルの変更(JBoss、Solaris 10、Red Hat 5.5、64 ビット専用)

Sun の Solaris JDK では、64 ビット機能を使用するために追加の引数が必要です。この設定を変更しないと、Sun JDK では既定で 32 ビットしかサポートされません。

注意: ルートユーザー以外で JBoss を実行している場合、-Djava.io.tmpdir="location" を使用して、一時ディレクトリの場所をアクセス権があるディレクトリに設定します。
  1. [appserver root]/bin/run.conf ファイルをエディターで開きます。

  2. 次の行で始まるセクションを探します。

    if [ "x$JAVA_OPTS" = "x" ]; then

    このセクションを次のように変更します。

    if [ "x$JAVA_OPTS" = "x" ]; then 
       #JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true" 
        JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:MaxPermSize=512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true" 
        JAVA_OPTS="$JAVA_OPTS -Dadobeidp.serverName=server1 -Dfile.encoding=utf8 -Djava.net.preferIPv4Stack=true" 
        JAVA_OPTS="$JAVA_OPTS -DentityExpansionLimit=10000" 
        JAVA_OPTS="$JAVA_OPTS -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError"
    注意: このエントリが run.conf ファイル内に 1 行で表示されることを確認してください。
  3. (オプション)IPv6 モードで実行するように次のように JBoss Application Server を変更します。

    • -Djava.net.preferIPv4Stack=false のように変更します。

    • -Djava.net.preferIPv6Stack=true を追加します。

  4. ファイルを保存して閉じます。

12.4.2.6 log4j.xml ファイルの変更

  1. [appserver root]/server/<profile_name>/conf/jboss-log4j.xml ファイルをエディターで開きます。

  2. FILE appender セクションで次のテキストを見つけて、太字で表示されている行を追加し、太字で表示されている値を変更します。

    <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender"> 
        <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
        <param name="File" value="${jboss.server.home.dir}/log/server.log"/> 
            <param name="Append" value="false"/>
  3. Limit categories セクションを見つけて、以下を追加します。

    <category name="jacorb.config"> 
    <priority value="ERROR"/> 
       </category> 
    <category name="com.adobe"> 
        <priority value="INFO"/> 
    </category> 
    <category name="org.springframework"> 
        <priority value="WARN"/> 
    </category> 
    <!-- Limit the verbose MC4J EMS (lib used by admin-console) categories --> 
    <category name="org.mc4j.ems"> 
    <priority value="WARN"/> 
    </category>
  4. ファイルを保存して閉じます。

12.4.2.7 jbossts-properties.xml ファイルの変更:

  1. [appserver root]/server/<profile_name>/conf ディレクトリにある jbossts-properties.xml ファイルを探して、エディターで開き、トランザクション管理が期待どおり機能することを確認します。

  2. プロパティエレメントを探して次のように変更します(太字で示してあります)。太字のプロパティが jbossts-properties.xml ファイルにない場合は、このプロパティを追加します。
    <properties depends="arjuna" name="jta">  
    <property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>  
    <!-- ... other properties ... --> 
    </properties>
  3. メッセージングを使用しない場合は、次の行を見つけ、コメントアウトします。
    <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGING1"value="org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/DefaultJMSProvider"/> 
  4. ファイルを保存して閉じます。

注意: 詳しくは、JBoss の記事 11443(http://www.jboss.org/community/docs/DOC-11443)を参照してください。

12.4.2.8 jmx-invoker-service.xml ファイルの変更

  1. 編集のために [アプリケーションサーバールート]/server/<プロファイル名>/deploy/jmx-invoker-service.xml ファイルを開き、次の行をコメントにします。

    <interceptor code="org.jboss.jmx.connector.invoker.AuthenticationInterceptor" securityDomain="java:/jaas/jmx-console"/>
  2. ファイルを保存して閉じます。

12.4.2.9 セッション Cookie のパスの変更

  1. 次の場所で context.xml ファイルを探し、エディターで開きます。
    [appserver root]/server/all/deploy/jbossweb.sar
  2. 次の行を探します。
    <InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
  3. 上記の行の後に、次のテキストを追加します。
    <SessionCookie path="/" />
  4. ファイルを保存して閉じます。