Fichier de propriétés Feedback

Le fichier FeedbackService.properties contient plusieurs propriétés personnalisables qui sont utilisées par le composant Feedback. Ces propriétés permettent d'activer les modules d'écoute de journalisation personnalisés et d'optimiser les performances du système de collecte de données de Feedback.

Le fichier FeedbackService.properties est installé dans le répertoire d'installation wp_profile_root/PortalServer/config/config/services.

Pour modifier les propriétés, procédez comme suit :
  • Modifiez le fichier FeedbackService.properties.
  • Redémarrez IBM® WebSphere® Application Server à l'emplacement où Portal Personalization Runtime est installé.

loggingEnabled

Avant que les informations relatives à l'utilisation de votre site puissent être enregistrées, la consignation doit être activée. Afin d'activer la consignation, attribuez la valeur true à la propriété loggingEnabled.

loggingEnabled = true

schemaName

Il est possible de personnaliser le nom du schéma de commentaires utilisé dans la base de données. Pour la plupart des plateformes, le programme d'installation de Personalization créera les tables de commentaires sous un schéma nommé FEEDBACK.

Pour les installations IBM® i, la propriété schemaName doit être définie sur le nom de la bibliothèque de bases de données contenant les tables de commentaires (c.à.d QWPS51).

schemaName = FEEDBACK

z/OS® uniquement : dbPlatform

Remarque : Pour IBM® DB2 Universal Database for z/OS® uniquement.

Si la base de données de commentaires est installée sur la plateforme DB2® for z/OS®, la valeur 390 doit être attribuée à la propriété dbPlatform. Il n'est pas nécessaire de définir cette propriété pour les autres plateformes de bases de données.

dbPlatform = 390

logListeners

Des événements de consignation sont générés chaque fois que la méthode de consignation d'un bean est appelée ou qu'une règle est mise en application. Les modules d'écoute de journalisation traitent ces événements de journalisation et peuvent stocker les données d'événements ou effectuer d'autres actions par suite de ces événements. Le composant Feedback fournit deux modules d'écoute de consignation par défaut : LMListener, qui collecte les données que le moteur de recommandation LikeMinds utilise, et FeedbackListener, qui collecte les données utilisées dans les rapports de commentaires. Les modules d'écoute de consignation personnalisés permettent de modifier le comportement par défaut de FeedbackListener ou fournissent un module d'écoute qui traite les événements de commentaires de la manière indiquée par l'utilisateur.

Une fois développés, les fichiers de classes des modules d'écoute personnalisés doivent être placés dans le classpath du serveur où Personalization Runtime est installé. Les noms de classes de ces modules d'écoute doivent être identifiés dans la propriété logListeners. S'il y a plusieurs modules d'écoute, le séparateur est le point-virgule :
logListeners = 
LogListenerClassName1;LogListenerClassName2

logBufferSize

Lorsque des événements de journalisation sont générés par des beans de journalisation ou des règles, ils sont placés dans une file d'attente de traitement. Chacun des modules d'écoute de journalisation enregistrés utilise des événements de cette file d'attente. Cela permet aux modules d'écoute d'utiliser des événements de journalisation à des débits indépendants, de sorte qu'il y ait un impact minimum sur les performances des autres modules d'écoute. De même, le composant Feedback peut mettre en file d'attente les événements émanant de requêtes pages Web, avec un impact minimum sur les performances du site Web.

La file d'attente des événements de journalisation (ou tampon de journalisation) a une taille maximale par défaut de 10 000 événements. La taille optimale de ce tampon est affectée par le volume du site Web, par les périodes de pointe d'utilisation du site Web et par d'autres facteurs de performances d'applications Web. Vous pouvez modifier la taille maximale du tampon de consignation en modifiant la propriété logBufferSize dans le fichier FeedbackService.properties :

logBufferSize = 10000

logWarningLevel

Si le tampon de consignation se remplit, en raison d'une forte charge sur le site Web ou de performances ralenties des modules d'écoute de consignation, un message d'avertissement peut être consigné sur WebSphere® Integrated Solutions Console. logWarningLevel spécifie la charge de tampon de journalisation qui déclenche des messages d'avertissement. logWarningLevel est spécifié sous la forme d'une valeur de pourcentage comprise entre 0 et 100. Si vous indiquez 0, le tampon de journalisation en cours est généré de façon répétitive ; cependant, si vous indiquez une valeur de pourcentage de 100, aucun message d'avertissement n'est émis à mesure que le tampon se remplit. Une fois le tampon de consignation rempli, un message d'erreur est consigné sur WebSphere® Integrated Solutions Console et la consignation est interrompue jusqu'à ce que de l'espace soit disponible dans le tampon de consignation. La valeur par défaut du niveau d'avertissement de consignation est de 75%. Vous pouvez modifier ce niveau d'avertissement en modifiant la propriété logWarningLevel dans le fichier FeedbackServices.properties :

logWarningLevel = 75

requestFlushInterval

Plusieurs règles ou beans de journalisation peuvent être placés sur une page JSP ou Web unique. Le composant Feedback collecte toutes les données des règles et beans de journalisation sur une page, puis met à jour la base de données de commentaires (Feedback) avec toutes les informations de la page (requête HTTP). La mise à jour de la base de données de commentaires (Feedback) une seule fois par page améliore les performances du composant Feedback. Il est nécessaire de déterminer le moment où toutes les données d'une requête de page ont été collectées. Deux mécanismes sont utilisés dans l'édition en cours pour déterminer lorsque les données de journalisation d'une requête de page doivent être écrites dans la base de données de commentaires (Feedback). La première méthode consiste à vider toutes les données de journalisation pour une requête de page chaque fois qu'une nouvelle requête de page est reçue de la même session utilisateur. La seconde méthode utilise un intervalle de temps pour déterminer à quel moment la réponse à une requête de page a été exécutée et que toutes les données de journalisation de la requête ont été générées.

requestFlushInterval s'applique à cette seconde méthode de vidage des données de consignation d'une requête de page. Il s'agit de l'intervalle de temps durant lequel aucune nouvelle donnée de journalisation n'a été reçue au cours d'une session utilisateur après laquelle les données de journalisation de la requête la plus récente sont supposées être complètes et sont vidées dans la base de données. La valeur par défaut de l'intervalle de vidage de requête est de 10 secondes. Vous pouvez modifier cet intervalle en modifiant la propriété requestFlushInterval (indiquée en millisecondes) dans le fichier FeedbackService.properties :

requestFlushInterval = 10000

inactiveListenerInterval

Il est possible qu'un module d'écoute de journalisation soit inactif en raison d'une erreur d'exécution ou d'un blocage de ressources. Un tel blocage donne lieu à une accumulation des données dans le tampon de journalisation qui ne vont jamais être traitées. Dans la mesure où la taille du tampon de journalisation est limitée, la capacité maximale va être finalement atteinte. Une fois la capacité atteinte, aucune nouvelle donnée n'est consignée et tous les modules d'écoute actifs ne peuvent plus collecter et traiter de données de journalisation. Pour éviter ce scénario, l'activité de tous les modules d'écoute est surveillée. Si des données de journalisation sont disponibles à des fins de traitement par un module d'écoute et que ce dernier reste inactif pendant une période prédéterminée, le module d'écoute de journalisation va être supprimé du groupe de modules d'écoute de journalisation enregistrés. La période d'inactivité par défaut est de 2 minutes. Vous pouvez modifier cet intervalle en modifiant la propriété inactiveListenerInterval (indiquée en millisecondes) dans le fichier FeedbackService.properties :

inactiveListenerInterval = 120000

workManager

Si l'environnement d'exécution le prend en charge, le composant Feedback utilise le système de gestionnaire de charge de travail (workmanager) WebSphere® Application Server pour des opérations asynchrones. La propriété workmanager vous permet de spécifier le nom du gestionnaire de charge de travail que Feedback utilisera.

workManager = wm/default