Conseils d'ordre général

Affichez certains conseils généraux associés au chargement des classes de ressources lorsque vous utilisez l'API Personalization.

Chargement des classes de ressources

  • L'emplacement recommandé des classes de zones de contenu généré et des classes de collections de ressources se trouve dans une bibliothèque partagée WebSphere Application Server. Lorsqu'une règle est exécutée, Personalization utilise le chargeur de classes de la zone de contenu afin de charger les collections de ressources ou les objets d'application requis pour cette règle. Si vous utilisez la classe par défaut com.ibm.websphere.personalization.ContentSpot pour exécuter des règles, ce chargeur de classes est celui de la bibliothèque partagée Personalization. Dans ce scénario, vos collections de ressources et objets d'application doivent être visibles au chargeur de la classe com.ibm.websphere.personalization.ContentSpot. Une classe de zone de contenu généré vous offre la possibilité de placer cette classe et toutes les collections de ressources associées directement dans un module Web ou une application de portlet, tout en les rendant disponibles pour les portlets Personalization. Quel que soit le mécanisme que vous utilisez pour les zones de contenu, la meilleure façon de vous assurer que les classes de collections de ressources sont disponibles est de les mettre dans une bibliothèque partagée sur le serveur d'applications. Par défaut, Personalization est livré avec une bibliothèque partagée à utiliser avec les collections de ressources. Placez vos classes de collection de ressource dans le répertoire wp_profile_root/PortalServer/pzn/collections et rechargez le serveur.
  • Dans les versions précédentes de Personalization, les classes de l'interface utilisateur étaient chargées dynamiquement à partir d'autres applications Web, de bases de données et d'autres chemins entrés par l'utilisateur. Dans la version actuelle de Personalization, la zone de contenu et les collections de ressources doivent être situées sur le chemin de classe des portlets Personalization. Pour cela, il est recommandé d'utiliser une bibliothèque partagée.
  • Si vous utilisez l'assistant de ressources Personalization dans Rational Application Developer afin de créer les classes de ressources dans un projet Web ou de portlet, ces classes générées seront déployées dans le module Web et ne seront pas disponibles pour les portlets Personalization. Vous devrez mettre ces classes dans une bibliothèque partagée et rendre celle-ci disponible aux portlets Personalization.
  • Les classes d'une bibliothèque partagée ne sont rechargées que lorsque le serveur d'applications est lui-même rechargé. Les classes d'un module Web sont rechargées lorsque celui-ci est rechargé.
  • Assurez-vous de l'unicité globale des noms de classe en utilisant les noms fournis dans le logiciel.
  • Dans un cluster de serveurs d'applications, assurez-vous de copier vos classes de zones de contenu et de ressources sur chaque serveur d'applications du cluster.