9.4 Modifying the JBoss configuration

The JBoss Application Server is configured using various XML configuration files. JBoss must be shut down before editing any of these configuration files. If JBoss is running and these files are changed, JBoss will probably crash. JBoss also has a few configuration files that are formatted as .property files. You must ensure that the .property files are saved as UNIX text files on Linux or Solaris if you edit these files on Windows environments at any time.

For single-server installations, you may use jboss profile located at [appserver root]\server\standard\ as a template. For cluster installations, use jboss profile located at [appserver root]\server\all\ as a template.

It is recommended that you make a copy of the profile (all or standard) and make changes to the copied profile.

9.4.1 Remove JMS and configuration files (optional)

Because LiveCycle does not use JMS configuration, you can delete the following files and directories that are part of JBoss. Ensure that you delete the entire directory and its contents listed below.

Note: Skip this step if you need to enable LiveCycle Foundation JMS services or deploy other services or applications that depend on the JMS service.
  • [appserver root]\server\<profile_name>\deploy\messaging

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

9.4.2 Modify the JBoss configuration

Perform the following steps to modify the JBoss configuration to customize JBoss for LiveCycle.

  • Update the jacorb.properties file

  • Update the URI Encoding in the JBoss server.xml file

  • Modify EAR file class-loading isolation

  • Modify the run.conf.bat file (Windows)

  • Modify run.conf (Linux and Solaris)

  • Modify log4J.xml

  • Modify the jbossts-properties.xml file

9.4.2.1 Update the jacorb.properties file

  1. Open the [appserver root]/server/<profile_name>/conf/jacorb.properties file in a text editor.

  2. Locate the jacorb.poa.thread_pool_max setting and change the value to 16.

  3. Save and close the file.

9.4.2.2 Update the URI Encoding in the JBoss server.xml file

  1. Open the [appserver root]/server/<profile_name>/deploy/jbossweb.sar/server.xml file in a text editor.

  2. Locate the following lines:
    <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443"  />
  3. Append URIEncoding="UTF-8":
    <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
  4. Save and close the file.

9.4.2.3 Modify EAR file class-loading isolation

  1. Open the [appserver root]/server/<profile_name>/deployers/ejb-deployer-jboss-beans.xml file in an editor.

  2. Locate <property name="CallByValue"> and change the value to true.

  3. Save and close the file.

  4. Open the [appserver root]/server/<profile_name>/deployers/ear-deployer-jboss-beans.xml file in an editor.

  5. Locate <property name="isolated"> and change the value to true.

  6. Locate <property name="CallByValue">false</property> and change the value to true.

  7. Save and close the file.

  8. Open the [appserver root]/server/<profile_name>/conf/jboss-service.xml file in an editor.

  9. Locate <attribute name="CallByValue">false</attribute> and change the value to true.

  10. Save and close the file.

9.4.2.4 Modify the run.conf.bat file (Windows only)

  1. Open the [appserver root]/bin/run.conf.bat file in an editor.

  2. Delete the text in bold in the following line and add the memory arguments for 32-bit and 64-bit JVM, as applicable.

    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"
    • Memory argument for 32-bit JVM:
       set "JAVA_HEAP_ARGS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=192m"
    • Memory argument for 64-bit JVM:
      set "JAVA_HEAP_ARGS=-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseCompressedOops"
  3. Add the following line.

    set "JAVA_OPTS=%JAVA_OPTS% %JAVA_HEAP_ARGS%"
  4. Add the following argument for 32-bit and 64-bit 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. (Optional) Modify JBoss Application Server to run in IPv6 mode as follows:

    • Locate and modify -Djava.net.preferIPv4Stack=false

    • Insert the string-Djava.net.preferIPv6Stack=true

    Note: If the application server log contains the following error on startup, remove the value for the IPv6 stack and set the IPV4 value back to 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. Save and close the file.

9.4.2.5 Modify the run.conf file (JBoss with Solaris 10, Red Hat 5.5, 64-bit only)

Solaris JDKs from Sun require an additional argument to use 64-bit features. Without this configuration change, the Sun JDK defaults to 32-bit support only.

Note: If you're running JBoss as a non-root user, use -Djava.io.tmpdir="location" to set the location of the temporary directory to a directory to which you have access.
  1. Open the [appserver root]/bin/run.conf file in an editor.

  2. Locate the section starting with:

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

    Modify the section to look like:

    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"
    Note: Ensure that this entry appears as a single line in the run.conf file.
  3. (optional)Modify JBoss Application Server to run in IPv6 mode as follows:

    • Locate and modify -Djava.net.preferIPv4Stack=false

    • Add -Djava.net.preferIPv6Stack=true

  4. Save and close the file.

9.4.2.6 Modify the log4j.xml file

  1. Open the [appserver root]/server/<profile_name>/conf/jboss-log4j.xml file in an editor.

  2. Locate the following text in the FILE appender section and add the line/change the value that appears in bold:

    <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. Locate the Limit categories section and add the following:

    <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. Save and close the file.

9.4.2.7 Modify the jbossts-properties.xml file:

  1. Ensure that transaction management works as expected by locating the jbossts-properties.xml file in the [appserver root]/server/<profile_name>/conf directory and opening the file in an editor.

  2. Locate and modify the properties element as follows (modification in bold). Add the property in bold if it doesn’t already exist in the jbossts-properties.xml file.
    <properties depends="arjuna" name="jta">  
    <property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>  
    <!-- ... other properties ... --> 
    </properties>
  3. If you are not using messaging, locate and comment out following lines
    <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGING1"value="org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/DefaultJMSProvider"/> 
  4. Save and close the file.

Note: For more information, see the JBoss article 11443 at http://www.jboss.org/community/docs/DOC-11443.

9.4.2.8 Modify jmx-invoker-service.xml file

  1. Open the [appserver root]/server/<profile_name>/deploy/jmx-invoker-service.xml file for editing and comment out the following line:

    <interceptor code="org.jboss.jmx.connector.invoker.AuthenticationInterceptor" securityDomain="java:/jaas/jmx-console"/>
  2. Save and close the file.

// Ethnio survey code removed