Chapter 6 Création d'applications J2EE pour BEA WebLogic
Ce tableau répertorie les attributs étendus de composant :
Nom | Description |
---|---|
allow-concurrent-calls | Spécifie si une instance de bean de session avec état permet d'utiliser des appels de méthode concurrents. La valeur de cet élément peut être "True" ou "False". La valeur par défaut est "False". Lorsqu'une instance de bean de session avec état se trouve dans un appel de méthode et qu'un autre appel de méthode (concurrent) arrive sur le serveur, la spécification d'EJB requiert que le serveur émette un RemoteException. Par défaut, allow-concurrent-calls est "false", et le conteneur d'EJB suivra la spécification EJB. Si cette valeur est "true", le conteneur d'EJB va bloquer l'appel de méthode concurrent et ne lui permettra de continuer qu'une fois l'appel précédent terminé.
Valeur par défaut : False Utilisation : stateful-session-descriptor |
cache-type | Spécifie le type de cache :
Utilisation : stateful-session-cache |
concurrency-strategy | Spécifie de quelle façon le conteneur doit gérer les accès simultanés à un bean d'entité.
Utilisation : entity-cache |
cache-between-transaction | Spécifie au conteneur EJB s'il doit placer en mémoire cache les données persistantes d'un bean d'entité entre les transactions.
Si la valeur spécifiée est 'true', la mise en cache entre les transactions est activée et la mise en cache longue durée des données est effectuée. Si la valeur spécifiée est 'false', (valeur par défaut) la mise en cache courte durée est effectuée, ce qui signifie que les données ne sont mises en cache que pour la durée d'une seule transaction. La valeur 'true' n'est permise que si l'attribut concurrency-strategy pour un bean est Exclusive, ReadOnly ou Optimistic. Un bean ReadOnly ignore tout simplement la valeur de l'élément cache-between-transactions car la mise en mémoire cache de données en lecture seule est systématiquement effectuée. Lorsque la mise en cache longue durée est activée pour la concurrence exclusive, le conteneur d'EJB doit avoir un accès en mise à jour exclusif sur les données sous-jacentes, i.e. les données ne doivent pas être modifiées par une autre application hors du conteneur d'EJB. Si un bean Exclusive est déployé dans un cluster, la mise en cache longue durée est automatiquement désactivée car tout noeud contenu dans le cluster peut modifier les données, ce qui rend la mise en cache longue durée impossible. (Remarque : dans les version antérieures à WLS 7.0, cette fonctionnalité était contrôlée à l'aide de db-is-shared.) Si la mise en cache longue durée est activée une stratégie concurrency-strategy Exclusive, le conteneur d'EJB réutilise les valeurs en cache provenant des transactions précédentes, mais s'assure que les mises à jour sont cohérentes d'un point de vue transactionnel en cherchant d'éventuels conflits optimistes à l'issue de la transaction. En outre, les notifications de mise à jour pour des données optimistes sont diffusées vers les autres membres du cluster afin d'éviter les conflits optimistes. Valeur par défaut : False Utilisation : entity-cache |
connection-factory-jndi-name | Spécifie le nom JNDI de la ConnectionFactory JMS que le bean commandé par message doit rechercher pour créer ses files d'attentes et rubriques.
Valeur par défaut : (doit être déclarée dans config.xml) weblogic.jms.MessageDrivenBeanConnectionFactory Utilisation : message-driven-descriptor |
delay-database-insert-until | Spécifie le moment précis auquel un nouveau bean qui utilise un CMP de SGBDR est inséré dans la base de données. Par défaut, l'insertion dans la base de données est effectuée après ejbPostCreate.
Le fait de retarder l'insertion dans la base de données après ejbPostCreate est requis lorsqu'un cmr-field est mis en correspondance avec une colonne de clé étrangère qui ne permet pas les valeurs NULL. Dans ce cas, le cmr-field doit être défini avec une valeur non NULL dans ejbPostCreate avant que le bean ne soit inséré dans la base de données. Remarquez que les cmr-fields ne peuvent pas être définis pendant ejbCreate, avant que la clé primaire du bean ne soit connue. Il est également conseillé de retarder l'insertion dans la base de données jusqu'à ce que ejbPostCreate soit traité si la méthode ejbPostCreate modifie les champs persistants du bean. Vous pouvez ainsi améliorer les performances en évitant une opération de stockage non nécessaire. Pour obtenir le plus de souplesse possible, les développeurs doivent éviter de créer des beans associés dans leur méthode ejbPostCreate. Ceci peut empêcher de retarder l'insertion dans la base de données si les contraintes de base de données interdisent aux beans associés de faire référence à un bean qui n'est pas encore créé. Les valeurs admises sont les suivantes ejbCreate - effectue l'insertion dans la base de données immédiatement après ejbCreate ejbPostCreate - effectue l'insertion dans la base de données immédiatement après ejbPostCreate [défaut] Utilisation : weblogic-rdbms-bean |
delay-updates-until-end-of-tx | Applicable uniquement aux beans d'entité (beans gérés par conteneur et gérés par bean). Cette optimisation facultative affecte le moment auquel les changements effectués sur l'état d'un bean sont communiqués au stockage persistant. Si la valeur définie est "True" (qui est la valeur par défaut) les mises à jour du stockage persistant de tous les beans de la transaction sont effectuées avant la fin de la transaction.
Si la valeur définie est "False", la mise à jour du stockage d'un bean est effectuée à la fin du traitement de chaque méthode invoke. Utilisation : Persistence |
destination-jndi-name | L'élément destination-jndi-name spécifie le nom JNDI utilisé pour associer un bean commandé par message avec une file d'attente ou une rubrique JMS qui a été déployée dans l'arborescence JNDI WebLogic.
Utilisation : message-driven-descriptor |
enable-call-by-reference | Le passage par valeur est toujours nécessaire quand l'EJB est appelé de façon distante (depuis l'extérieur du serveur). En affectant "True" à enable-call-by-reference, les méthodes d'EJB appelées depuis le même serveur vont passer les arguments par référence. Ce mode de fonctionnement augmente les performances de l'appel de méthode car les paramètres ne sont pas copiés.
Utilisation : weblogic-enterprise-bean |
finders-load-bean | Applicable aux beans d'entité CMP uniquement. Cette optimisation facultative spécifie si beans renvoyés par un finder (ou méthode ejbSelect) sont chargés immédiatement dans le cache avant la réexécution de la méthode finder.
Si la valeur est "True", les beans seront immédiatement chargés dans le cache par le finder. Si la valeur est "False", les beans ne seront pas chargés dans le cache avant le premier appel du bean. La valeur par défaut est "True", ce qui produit en général les meilleures performances. Utilisation : Persistence |
generator-name | S'il s'agit d'une génération de clé de SGBD, peut être utilisé pour spécifier le nom du générateur, c'est-à-dire pour <type-générateur>ORACLE> :
<nom-générateur> doit être le nom de la SEQUENCE ORACLE à utiliser. La SEQUENCE est censée déjà exister dans la base de données. S'il s'agit d'une génération de clé <typeGénérateur>NAMED_SEQUENCE_TABLE : Peut être utilisé pour spécifier le nom de la SEQUENCE TABLE à utiliser. La NAMED_SEQUENCE_TABLE est censée déjà exister dans la base de données et contenir une ligne. Utilisation : automatic-key-generation |
generator-type | Spécifie la méthode de génération de clé à employer :
'ORACLE' : utilise la méthode SEQUENCE de Oracle 'SQL_SERVER' : utilise la colonne IDENTITY de SQL SERVER 'NAMED_SEQUENCE_TABLE' : utilise une table de séquence choisie par l'utilisateur. L'utilisateur spécifie le nom d'une table de SGBD ayant la structure (séquence INT) qui doit être utilisée pour contenir les valeurs de la séquence Utilisation : automatic-key-generation |
home-call-router-class-name | Spécifie une classe personnalisée à utiliser pour le routage des appels de méthode Home. Cette classe doit mettre en oeuvre weblogic.rmi.cluster.CallRouter. Si elle est spécifiée, une instance de cette classe sera appelée avant chaque appel de méthode, et se verra donner la possibilité de choisir un serveur vers lequel router en fonction des paramètres de la méthode. Il renvoie un nom de serveur ou la valeur NULL indiquant que l'algorithme de chargement doit être utilisé pour choisir le serveur.
Utilisation : entity-clustering, stateful-session-clustering |
home-is-clusterable | Le paramètre home-is-clusterable peut avoir les valeurs "True" ou "False".
Si "True," ce bean peut être déployé sur plusieurs serveurs dans un cluster. Les appels au home stub seront balancés entre les différents serveurs sur lesquels le bean est déployé, et si un serveur est inaccessible, l'appel sera automatiquement dérouté vers un autre. Utilisation : entity-clustering, stateful-session-clustering |
home-load-algorithm | Spécifie l'algorithme à utiliser pour l'équilibrage de charge entre les répliques de ce home. Si cette propriété n'est pas définie, l'algorithme spécifié par la propriété du serveur weblogic.cluster.defaultLoadAlgorithm sera utilisé.
Cet élément peut avoir l'une des valeurs suivantes : RoundRobin Random Utilisation : entity-clustering, stateful-session-clustering |
idle-timeout-seconds | Le cache (voir "max-beans-in-cache" ci-avant) est nettoyé des objets inactifs après un nombre de seconde au moins aussi élevé que la valeur spécifiée. Les objets nettoyés sont désactivés.
Utilisation : entity-cache, stateful-session-cache |
initial-beans-in-free-pool | L'EJB WebLogic maintient un pool libre de beans pour chaque classe bean.
Cette propriété décide de la taille initiale du pool. Utilisation : entity-descriptor\pool, stateless-session-descriptor\pool, message-driven-descriptor\pool |
initial-context-factory | Spécifie le ContextFactory initial que le conteneur va utiliser pour créer ses connection factories. Si aucune valeur n'est spécifiée, weblogic.jndi.WLInitialContextFactory est utilisé par défaut.
Utilisation : message-driven-descriptor |
invalidation-target | Spécifie un EKB d'entité en lecture seule qui doit être invalidé lorsque que ce bean d'entité géré par conteneur a été modifié.
Utilisation : invalidation-target |
enable-dynamic-queries | Cet élément facultatif doit être présent pour que les requêtes dynamiques puissent être activées pour l'EJB. Les requêtes dynamiques ne sont disponibles que pour les beans CMP EJB 2.0.
Utilisation : entity-descriptor |
is-modified-method-name | S'applique a la persistance gérées par bean ou aux JBB d'entité gérée par conteneur EJB 1.1. Les beans d'entité EJB 2.0 n'ont pas besoin de mettre en oeuvre une is-modified-method. Le conteneur EJB peut détecter automatiquement les champs qui ont été modifiés lors d'une transaction.
Ce paramètre déclare le nom de la méthode d'un EJB qui indique au conteneur si le données du bean ont été modifiées. La méthode est appelée lorsque l'EJB géré par bean est stocké. Si une méthode n'est pas spécifiée, WebLogic considère systématiquement que l'EJB a été modifié et l'enregistre. Le fait de fournir une méthode et de la définir comme appropriée va améliorer les performances. Utilisation : Persistence |
jms-client-id | La spécification JMS permet aux consommateurs JMS de spécifier un ID associé. Cet ID est nécessaire pour des inscriptions durables à des rubriques JMS.
Utilisation : message-driven-descriptor |
jms-polling-interval-seconds | Chaque EJB commandé par message écoute sur une destination JMS associée. Si la destination JMS est située sur une autre instance de WebLogic Server ou sur un fournisseur de JMS extérieur, il est possible que la destination JMS devienne inaccessible. Dans ce cas, le conteneur d'EJB tente automatiquement de se connecter au serveur de JMS. Une fois le serveur de JMS rétabli, l'EJB commandé par message peut à nouveau recevoir des messages JMS.
jms-polling-interval-seconds détermine le nombre de secondes séparant les tentatives de reconnexion à la destination JMS. Utilisation : message-driven-descriptor |
jndi-name | Spécifie un jndi-name pour un bean, pour une ressource ou pour une référence.
Utilisation : resource-description, resource-env-description |
key-cache-size | Taille facultative du cache de clé.
Pour <generator-type>ORACLE , cette valeur DOIT correspondre à la valeur SEQUENCE INCREMENT de Oracle. En cas de non correspondance entre cette valeur et la valeur SEQUENCE INCREMENT d'Oracle, vous risquez d'être confronté à des problèmes de clé en double. Pour <generator-type>NAMED_SEQUENCE_TABLE, indique le nombre de clés que le conteneur peut faire tenir dans un seul appel au SGBD. Pour <generator-type>SQL_SERVER, cette valeur est ignorée. Utilisation : automatic-key-generation |
max-beans-in-cache | Nombre maximal d'objets de cette classe qui sont admis en mémoire.
Les objets sont conservés dans une chaîne LRU, et ceux rejetés à l'extrémité de la chaîne sont désactivés. Utilisation : entity-cache, stateful-session-cache |
max-beans-in-free-pool | WebLogic EJB maintient un pool libre de beans pour chaque classe bean.
Cette propriété spécifie la taille maximum du pool. Utilisation : entity-descriptor\pool, stateless-session-descriptor\pool, message-driven-descriptor\pool |
passivation-strategy | L'élément passivation-strategy peut être "default" ou "transaction". Avec "default" le conteneur tentera de laisser un groupe de beans actifs dans le cache. Avec "transaction", le conteneur désactivera le bean après chaque transaction (ou appel de méthode de type non-transactional).
Utilisation : entity-descriptor |
persistent-store-dir | Spécifie le répertoire, dans le système de fichiers du serveur, où doit être sauvegardé l'état des beans de session avec état désactivés.
Utilisation : stateful-session-descriptor |
provider-url | Spécifie le fournisseur d'URL à placer dans les propriétés utilisé par le InitialContext. Il s'agit le plus souvent de host:port et est utilisé en conjonction avec initial-context-factory et connection-factory-jndi-name.
Utilisation : message-driven-descriptor |
read-timeout-seconds | Spécifie le nombre de secondes entre les appels ejbLoad sur un bean d'entité en lecture seule. Si la valeur de read-timeout-seconds est 0, ejbLoad ne sera appelé que si le bean est amené dans le cache.
Utilisation : entity-cache |
replication-type | Spécifie comment répliquer les beans de session avec état dans un cluster. Les valeurs possibles sont les suivantes :
"InMemory": le bean doit être répliqué en mémoire dans le cluster "None": le bean n'est pas répliqué. Utilisation : stateful-session-clustering |
res-env-ref-name | Spécifie le nom d'une référence d'environnement de ressource
Utilisation : resource-env-description |
res-ref-name | Spécifie le nom d'une référence de "resource factory"
Utilisation : resource-description |
run-as-identity-principal | Spécifie quel principe de sécurité doit être utilisé pour l'identité run-as. Cette balise est nécessaire si le rôle spécifié comme élément run-as du descripteur ejb-jar.xml n'est pas mis en correspondance avec un principe de sécurité unique représentant un utilisateur dans le domaine de sécurité. Peut être true dans deux cas. Le premier cas est celui dans lequel le rôle est mis en correspondance avec plusieurs principes de sécurité (voir l'élément security-role-assignment). Dans ce cas, l'élément run-as-identity-principal doit être utilisé pour spécifier quel principe de sécurité vous souhaitez utiliser. L'autre cas est celui dans lequel le rôle est mis en correspondance avec un principe de sécurité unique qui représente un groupe dans le domaine de sécurité. Dans ce cas, l'élément run-as-identity-principal doit être utilisé pour spécifier un utilisateur particulier dans le domaine de sécurité.
Utilisation : weblogic-enterprise-bean |
stateless-bean-call-router-class-name | Spécifie une classe particulière à utiliser pour acheminer les appels aux méthodes du bean. Cette classe doit implémenter weblogic.rmi.cluster.CallRouter. Si elle est spécifiée, une instance de cette classe sera appelée avant chaque invocation de méthode et pourra choisir un serveur où acheminer l'appel en fonction des paramètres de la méthode. Elle peut retourner un nom de serveur ou null pour indiquer que l'algorithme courant devrait être utilisé pour déterminer le serveur.
Utilisation : stateless-clustering |
stateless-bean-is-clusterable | Les valeurs possibles du paramètre stateless-bean-is-clusterable sont "True" ou "False". Ce paramètre est applicable uniquement aux EJB Session bean avec une valeur de session-type à "Stateless" (voir ejb-jar.dtd). Si home-is-clusterable vaut "True" et ce paramètre aussi vaut "true", les appels au bean stub seront balancés entre tous les serveurs sur lesquels ce bean est déployé, et si un serveur devient inaccessible, l'appel sera automatiquement dérouté vers un autre.
Utilisation : stateless-clustering |
stateless-bean-load-algorithm | Spécifie l'algorithme à utiliser pour l'équilibrage de charge entre les répliques de ce bean. Si cette propriété n'est pas spécifiée, l'algorithme spécifié par la propriété du serveur weblogic.cluster.defaultLoadAlgorithm sera utilisé.
Les valeurs possibles sont les suivantes : RoundRobin Random WeightBased Utilisation : stateless-clustering |
stateless-bean-methods-are-idempotent | La valeur de stateless-bean-methods-are-idempotent doit être "True" ou "False".
Ce paramètre est applicable uniquement aux EJBeans de session ayant comme type de session "Stateless" (voir ejb-jar.dtd). La valeur ne doit être définie comme "True" que si le bean est écrit de telle façon que les appels répétés à une même méthode avec les mêmes arguments ont exactement le même effet qu'un seul appel. Ainsi le gestionnaire d'échecs peut retenter un appel qui avait échoué sans savoir si l'appel a ou non abouti sur le serveur en échec. Si vous affectez la valeur "true" a cette propriété, le bean stub peut automatiquement reprendre après tout type d'échec tant qu'un autre serveur hébergeant le bean reste accessible. Utilisation : stateless-clustering |
trans-timeout-seconds | Spécifie le délai par défaut pour les transactions initiées par conteneur pour ce bean. Si la durée d'une transaction est supérieure à cette valeur, elle est invalidée.
Utilisation : transaction-descriptor |
type-identifier | Stocke l'identificateur du type de persistance que cette balise décrit.
Utilisation : persistence-type |
type-storage | Spécifie un fichier (chemin relatif dans le fichier ejb-jar) qui stocke les données spécifiques à ce type de persistance.
Utilisation : persistence-type |
type-version | Spécifie la version du type de persistance à utiliser pour ce bean particulier. Utile surtout lorsque déploiement sur un serveur a plusieurs version compatibles du type de persistance installées, car l'identificateur de type de persistance n'est pas unique entre les versions.
Utilisation : persistence-type |
Copyright (C) 2007. Sybase Inc. All rights reserved. |
![]() |