12.4 Modification de la configuration JBoss

Le serveur d’applications JBoss est configuré à l’aide de différents fichiers XML de configuration. JBoss doit être fermé avant toute modification de ces fichiers de configuration. Si JBoss est actif et ces fichiers modifiés, JBoss risque de ne plus fonctionner. JBoss dispose également de quelques fichiers de configuration au format .property. Si vous choisissez de modifier ces fichiers dans un environnement Windows, assurez-vous que les fichiers au format .property sont enregistrés en tant que fichiers texte UNIX sur Linux ou Solaris.

Pour les installations sur un serveur unique, vous pouvez utiliser comme modèle le profil jboss situé sous [racine du serveur d’applications]\server\standard\. Pour les installations en grappe, vous pouvez utiliser comme modèle le profil jboss situé sous [racine du serveur d’applications]\server\all\.

Il est recommandé de faire une copie du profil (tout ou standard) et d’effectuer les modifications sur la copie du profil.

12.4.1 Suppression des fichiers JMS et de configuration (facultatif)

LiveCycle n’utilisant pas la configuration JMS, vous pouvez supprimer les fichiers et répertoires suivants, associés au logiciel JBoss. Assurez-vous de supprimer l’intégralité du répertoire et de son contenu (voir ci-dessous).

Remarque : ignorez cette étape si vous devez activer les services JMS de LiveCycle Foundation ou si vous devez déployer d’autres applications ou services liés au service JMS.
  • [racine du serveur d’applications]\server\<nom_du_profil>\deploy\messaging

  • [racine du serveur d’applications]\server\<nom_du_profil>\deploy\jms-ra.rar

12.4.2 Modification de la configuration JBoss

Les étapes suivantes vous permettent de modifier la configuration JBoss pour personnaliser ce dernier pour LiveCycle.

  • Mise à jour du fichier jacorb.properties

  • Mise à jour du codage URI dans le fichier JBoss server.xml

  • Modification du fichier run.conf.bat (Windows)

  • Modification du fichier run.conf (Linux et Solaris)

  • Modification du fichier log4J.xml

  • Modification du fichier jmx-invoker-service.xml pour rendre facultative l’authentification des utilisateurs

  • Modification du fichier jbossts-properties.xml

  • Modification du chemin du cookie de session

12.4.2.1 Mise à jour du fichier jacorb.properties

  1. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/conf/jacorb.properties dans un éditeur de texte.

  2. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/conf/jacorb.properties dans un éditeur de texte.

  3. Recherchez le paramètre jacorb.poa.thread_pool_max et attribuez-lui la valeur 16.

  4. Enregistrez le fichier, puis fermez-le.

12.4.2.2 Mise à jour du codage URI dans le fichier JBoss server.xml

  1. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/all/deploy/jbossweb.sar/server.xml dans un éditeur de texte.

  2. Recherchez les lignes suivantes :
    <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443"  />
  3. Ajoutez URIEncoding="UTF-8" :
    <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
  4. Enregistrez le fichier, puis fermez-le.

12.4.2.3 Modification de l’isolation du chargement de classe du fichier EAR

  1. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/deployers/ejb-deployer-jboss-beans.xml dans un éditeur.

  2. Localisez la chaîne <property name="CallByValue"> et attribuez-lui la valeur true.

  3. Enregistrez le fichier, puis fermez-le.

  4. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/deployers/ear-deployer-jboss-beans.xml dans un éditeur.

  5. Localisez la chaîne <property name="isolated"> et attribuez-lui la valeur true.

  6. Localisez la chaîne <property name="CallByValue">false</property> et attribuez-lui la valeur true.

  7. Enregistrez le fichier, puis fermez-le.

  8. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/conf/jboss-service.xml dans un éditeur.

  9. Localisez la chaîne <attribute name="CallByValue">false</attribute> et attribuez-lui la valeur true.

  10. Enregistrez le fichier, puis fermez-le.

12.4.2.4 Modification le fichier run.conf.bat (Windows uniquement)

  1. Ouvrez le fichier [racine du serveur d’applications]/bin/run.conf.bat dans un éditeur.

  2. Ajoutez les lignes suivantes

    Argument de mémoire pour JVM 32 bits :
     set "JAVA_HEAP_ARGS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=192m"
    Argument de mémoire pour JVM 64 bits :
    set "JAVA_HEAP_ARGS=-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseCompressedOops"
    Argument de mémoire pour JVM 32 bits et 64 bits :
    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"
  3. (Facultatif) Modifiez JBoss Application Server pour exécution en mode IPv6 comme suit :

    • Localisez et modifiez la chaîne -Djava.net.preferIPv4Stack=false

    • Insérez la chaîne-Djava.net.preferIPv6Stack=true

    Remarque : si le journal du serveur d’applications contient l’erreur suivante au démarrage, supprimez la valeur de la pile IPv6 et redéfinissez la valeur IPv4 sur 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) »

    Enregistrez le fichier, puis fermez-le.

12.4.2.5 Modification du fichier run.conf (JBoss avec Solaris 10, Red Hat 5.5, 64 bits uniquement)

Les JDK Sun pour Solaris nécessitent un argument supplémentaire afin de pouvoir utiliser les fonctionnalités 64 bits. Sans cette modification de configuration, le JDK Sun ne prend en charge, par défaut, que 32 bits.

Remarque : si vous n’exécutez pas JBoss en tant qu’utilisateur root, indiquez -Djava.io.tmpdir="location" pour définir l’emplacement du répertoire temporaire sur un endroit accessible.
  1. Ouvrez le fichier [racine du serveur d’applications]/bin/run.conf dans un éditeur de texte.

  2. Localiser la section commençant par :

    Si [ "x$JAVA_OPTS" = "x" ] ; alors

    Modifier la section de façon à ce qu’elle se présente comme suit :

    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"
    Remarque : vérifiez que cette entrée apparaît comme une seule ligne dans le fichier run.conf.
  3. (Facultatif) Modifiez JBoss Application Server pour exécution en mode IPv6 comme suit :

    • Localisez et modifiez la chaîne -Djava.net.preferIPv4Stack=false

    • Ajoutez la chaîne -Djava.net.preferIPv6Stack=true

  4. Enregistrez le fichier, puis fermez-le.

12.4.2.6 Modification du fichier log4j.xml afin d’augmenter le niveau de consignation de DEBUG à INFO

  1. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/conf/jboss-log4j.xml dans un éditeur.

  2. Ouvrez le fichier [racine du serveur d’applications]/server/<nom_du_profil>/conf/jboss-log4j.xml dans un éditeur.

  3. Recherchez le texte suivant dans la section FILE appender et ajoutez la ligne ou modifiez la valeur qui s’affiche en gras :

    <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="Threshold" value="INFO"/> 
        <param name="Append" value="false"/>
  4. Localisez le texte suivant dans la section CONSOLE appender :

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
        <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
        <param name="Target" value="System.out"/> 
        <param name="Threshold" value="INFO"/>

    Modifiez la dernière ligne ainsi :

        <param name="Threshold" value="WARN"/>
  5. Recherchez la section Limit categories et ajoutez les éléments suivants :

    <category name="jacorb.config"> 
    <priority value="ERROR"/> 
       </category> 
    <category name="com.adobe"> 
        <priority value="INFO"/> 
    </category> 
    <category name="org.apache.xml.security.signature.Reference"> 
        <priority value="WARN"/> 
    </category> 
    <category name="org.alfresco"> 
        <priority value="WARN"/> 
    </category> 
    <category name="org.alfresco.repo.policy"> 
        <priority value="WARN"/> 
    </category> 
    <category name="org.springframework"> 
        <priority value="WARN"/> 
    </category> 
    <category name="org.hibernate"> 
        <priority value="WARN"/> 
    </category> 
    <category name="org.hibernate.cache.ReadWriteCache"> 
        <priority value="ERROR"/> 
    </category> 
    <category name="org.hibernate.cache.EhCacheProvider"> 
        <priority value="ERROR"/> 
    </category> 
    <category name="org.hibernate.engine. StatefulPersistenceContext.ProxyWarnLog"> 
        <priority value="ERROR"/> 
    </category> 
    <category name="org.jbpm.jpdl.xml.JpdlXmlReader"> 
        <priority value="ERROR"/> 
    </category>
  6. Enregistrez le fichier, puis fermez-le.

12.4.2.7 Modification du fichier jmx-invoker-service.xml

  1. Arrêtez le serveur d’applications.

  2. Accédez au répertoire [racine du serveur d’applications]/server/<nom_du_profil>/deploy et ouvrez le fichier jmx-invoker-service.xml dans un éditeur de texte.

  3. Accédez au répertoire [racine du serveur d’applications]/server/<nom_du_profil>/deploy et ouvrez le fichier jmx-invoker-service.xml dans un éditeur de texte.

  4. Assurez-vous que la ligne suivante n’est pas commentée dans la section invoke :

    <interceptor code="org.jboss.jmx.connector.invoker.AuthenticationInterceptor" securityDomain="java:/jaas/jmx-console"/>
  5. Enregistrez le fichier, puis fermez-le.

  6. Créez un fichier appelé work-manager.properties sous [racine du serveur d’applications]/server/.

  7. Ouvrez le fichier work-manager.properties dans un éditeur de texte, puis insérez le code suivant :
        adobe.work-    manager.jboss.jmx.lookup.java.naming.factory.initial=org.jboss.security.jndi.JndiLo    ginInitialContextFactory 
        adobe.work-manager.jboss.jmx.lookup.java.naming.provider.url=jnp://localhost:1099/ 
        adobe.work-manager.jboss.jmx.lookup.java.naming.security.credentials=<password> 
        adobe.work-manager.jboss.jmx.lookup.java.naming.security.principal=<username> 
        adobe.work-manager.jboss.jmx.lookup.java.naming.security.protocol=jmx-console
    Remarque : assurez-vous que les informations d’identification indiquées dans les fichiers jmx-console-users.properties et work-manager.properties sont identiques. Les informations d’identification d’administrateur par défaut sont/admin.
  8. Enregistrez le fichier, puis fermez-le.

  9. Accédez au répertoire [racine du serveur d’applications]/server/<nom_du_profil>/conf/props et ouvrez le fichier jmx-console-users.properties dans un éditeur de texte.

  10. Assurez-vous qu’aucune entrée contenant les informations d’identification utilisées dans le fichier work-manager.properties n’est commentée.

  11. Enregistrez le fichier, puis fermez-le.

  12. Accédez à [racine du serveur d’applications]/bin, puis ouvrez le fichier run.conf.bat dans un éditeur de texte et insérez le code suivant :
    set "JAVA_OPTS=%JAVA_OPTS%  -Dadobe.workmanager.properties = <path of the work-manager.properties file>
  13. Enregistrez le fichier, puis fermez-le.

  14. Démarrez le serveur d’applications.

12.4.2.8 Modification du fichier jbossts-properties.xml

  1. Vérifiez le fonctionnement correct de la gestion des transactions en recherchant le fichier jbossts-properties.xml dans le répertoire [racine du serveur d’applications]/server/<nom_du_profil>/conf et en ouvrant le fichier dans un éditeur.

  2. Localisez et modifiez l’élément de propriétés comme suit (modification en caractères gras) : Ajoutez la propriété en caractères gras si elle n’existe pas encore dans le fichier jbossts-properties.xml.
    <properties depends="arjuna" name="jta">  
    <property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>  
    <!-- ... other properties ... --> 
    </properties>
  3. Si vous n’utilisez pas la messagerie, recherchez et placez les lignes suivantes en commentaire.
    <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGING1"value="org.jboss.jms.server.recovery.MessagingXAResourceRecovery;java:/DefaultJMSProvider"/> 
  4. Enregistrez le fichier, puis fermez-le.

Remarque : pour plus d’informations, voir l’article 11443 relatif à JBoss sur le site http://www.jboss.org/community/docs/DOC-11443.

12.4.2.9 Modification du chemin du cookie de session

  1. Recherchez le fichier context.xml à l’emplacement suivant et ouvrez-le dans un éditeur.
    [appserver root]/server/all/deploy/jbossweb.sar
  2. Recherchez la ligne suivante :
    <InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
  3. Ajoutez le texte suivant après la ligne ci-dessus :
    <SessionCookie path="/" />
  4. Enregistrez le fichier, puis fermez-le.