Pour activer le profilage d'application, vous devez configurer les tâches,
créer un profil d'application et configurer par déclaration une unité de travail sur les
méthodes nécessaires.
Avant de commencer
Le service de profilage d'application permet de configurer
plusieurs règles de tentative d'accès pour un même bean entity, chaque règle
étant définie pour une unité de travail spécifique. Vous pouvez utiliser l'une des règles
par défaut ou en créer une. Pour créer votre propre règle de tentative d'accès, consultez la rubrique sur la création d'une règle de tentative
d'accès personnalisé dans le centre de documentation de l'outil d'assemblage.
Procédure
- Configurez des tâches. Configurez les tâches de manière déclarative comme indiqué dans les rubriques suivantes situées dans le centre de documentation de l'outil d'assemblage :
- Configuration des tâches gérées par conteneur pour les Enterprise JavaBeans
- Configuration des tâches gérées par conteneur pour les composants Web
- Configuration des tâches gérées par le conteneur pour les clients d'application
En de rares occasions, vous pouvez juger nécessaire de configurer les tâches par programme.
Le profilage d'application prend en charge cette fonction avec une simple interface qui permet de définir un nom de tâche avant qu'une unité de travail soit lancée par programmation. Si le nom de tâche est défini avant le lancement d'une transaction ou d'un service
ActivitySession, la tâche est associée à la nouvelle unité de travail. Cette interface ne
peut pas être utilisée avec des beans Enterprise JavaBeans configurés pour des
transactions ou des services ActivitySession gérés par le conteneur, car les unités de
travail peuvent uniquement être associées à une tâche au moment exact où l'unité de
travail est lancée. L'appel destiné à définir le nom de la tâche doit par conséquent être effectué avant le début de l'unité de travail. Les unités de travail ne peuvent pas être nommées une fois qu'elles sont commencées. Reportez-vous à la rubrique Utilisation de l'interface TaskNameManager.
Remarque : Si vous sélectionnez l'attribut de mode de compatibilité 5.x sur la page du service de profil d'application de la console, les tâches configurées sur les applications J2EE 1.3 ne sont pas systématiquement associées aux unités de travail et peuvent être appliquées ou remplacées de façon arbitraire. Ce mode d'opération n'est pas recommandé et peut provoquer des blocages imprévus pendant l'accès à la base de données. Les tâches ne sont pas communiquées à la demande
entre les applications exécutées sous le mode de compatibilité Application Profiling 5.x et les applications qui ne le sont pas.
Pour permettre à un client version 6.0 d'interagir avec des
applications exécutées en mode de compatibilité de Application
Profiling 5.x, attribuez la valeur true à la propriété système
appprofileCompatibility dans le processus client. Ceci peut être fait en spécifiant l'option -CCDappprofileCompatibility=true lors de l'appel de la commande launchClient.
- Créez un profil d'application. Consultez le centre de documentation de l'outil d'assemblage pour effectuer cette tâche.
- Configurez par déclaration une unité de travail sur les méthodes nécessaires. Dans la première étape de cet article, vous avez défini une tâche sur une méthode. La tâche définie sur une méthode ne devient active que lorsqu'une unité de travail est
lancée pour le compte de cette méthode. La méthode doit lancer une nouvelle unité de
travail pour la tâche configurée à appliquer. Si la méthode est exécutée dans une unité
de travail importée, alors la tâche configurée sur la méthode est ignorée et la tâche (le
cas échéant) associée à l'unité de travail importée est utilisée. Si le conteneur commence une nouvelle unité de travail
lorsque la méthode est exécutée, cette unité de travail est associée au nom de tâche configuré. Par conséquent, la dernière étape d'assemblage d'une application pour le profilage
d'application consiste à définir une unité de travail sur toute méthode associée à un nom
de tâche (et à un profil d'application). Une unité de travail peut être une transaction
ou un service ActivitySession. Reportez-vous à la rubrique Définition des transactions de conteneur pour les modules EJB, afin d'obtenir une description de la configuration d'une transaction sur un module EJB. La rubrique Configuration des attributs de déploiement transactionnel décrit comment définir d'autres attributs de transaction. La rubrique Utilisation du service ActivitySession décrit comment utiliser et créer une unité de travail ActivitySession. Pour plus d'informations sur les relations entre les tâches et les unités de travail, reportez-vous à la rubrique Remarques sur les tâches et les unités de travail.
Que faire ensuite
Pour effectuer les tâches suivantes en utilisant des outils d'assemblage, consultez la documentation de l'outil d'assemblage.
Les tâches suivantes peuvent être exécutées à l'aide des outils d'assemblage :
- Configurer automatiquement le profilage d'application.
L'outil d'assemblage inclut un moteur d'analyse statique qui peut vous aider
à configurer un profil d'application. Cet outil examine les classes compilées
et le descripteur de déploiement d'une application Java EE pour déterminer le point d'entrée des transactions, calculer les entités
répertoriées dans chaque transaction et déterminer si elles sont lues ou mises à
jour durant chaque transaction identifiée.
- Configurer automatiquement
les tâches et les profils d'application.
Configurez automatiquement le profilage d'une application en utilisant l'analyse statique.
- Appliquez des règles de tentative d'accès dans la portée d'un profil aux beans entity.
Configurez des entités avec tentative d'accès pour un profil
d'application.
- Créez un ensemble de règles personnalisé.
Définissez une règle de tentative d'accès personnalisée, que vous
pouvez configurer pour les beans entity Enterprise JavaBeans (EJB) 2.x et 3.0.
- Créez un profil d'application.
Un profil d'application contient un ensemble de règles de tentative
d'accès appliqué aux beans entity d'une application. Les règles de tentative d'accès s'appliquent uniquement
aux demandes associées aux tâches configurées dans le profil
d'application.
- Configurez des tâches gérées par le conteneur pour les clients d'application.
Pour les clients d'application qui lancent par programmation une transaction
ou une session ActivitySession uniquement, vous pouvez configurer une tâche gérée par
conteneur pour associer les requêtes du client à un profil d'application.
- Configurez des tâches gérées par conteneur pour les composants Web.
Pour les composants Web qui définissent par programmation la tâche configurée
puis lancent par programmation une transaction ou une session ActivitySession uniquement,
vous pouvez configurer des tâches de composants Web gérées par conteneur pour associer
les requêtes d'un servlet ou d'un fichier JSP (JavaServer Pages) à un profil
d'application.
- Configurez des tâches gérées par le conteneur pour les Enterprise JavaBeans.
Dans le cas de méthodes entraînant le lancement d'une nouvelle transaction ou
d'une session ActivitySession par le conteneur ou par programmation par le développeur
EJB, vous pouvez configurer les tâches gérées par le conteneur d'un bean enterprise pour associer les demandes
du bean aux profils d'application.
- Configurez des tâches gérées par le conteneur pour les clients d'application.
Pour les clients d'application qui lancent par programmation une transaction
ou une session ActivitySession uniquement, vous pouvez configurer une tâche gérée par
conteneur pour associer les requêtes du client à un profil d'application.
- Configurez les tâches gérées par conteneur pour les composants Web.
Pour les composants Web qui lancent par programmation une transaction ou une
session ActivitySession uniquement, vous pouvez configurer une tâche gérée par conteneur
d'un composant Web pour associer les demandes d'un servlet ou d'un fichier JSP à un
profil d'application.
- Configurez des tâches gérées par application pour les Enterprise JavaBeans.
Pour les EJB qui définissent par programmation la tâche
configurée, puis lancent par programmation une transaction ou une session ActivitySession
uniquement, vous pouvez configurer des tâches gérées par l'application EJB pour associer
les demandes du bean à un profil d'application.