Configuration de la reprise en ligne des beans session avec état au niveau du module à l'aide du scriptage
Utilisez le scriptage et l'outil wsadmin afin de configurer des applications pour la reprise en ligne des beans session avec état.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Procédure
- Utilisez l'objet AdminConfig afin d'afficher la configuration de la reprise en ligne des beans session avec état pour un module EJB de l'application.
- Démarrez le client de scriptage wsadmin.
- Avec Jacl
-
wsadmin
- Avec Jython
-
wsadmin -lang Jython
- Identifiez l'objet de configuration de déploiement pour l'application et affectez-le à une variable. Par exemple :
- Avec Jacl
-
set app [$AdminConfig getid /Deployment:EJBinWARTest/] set depObj [$AdminConfig showAttribute $app deployedObject]
- Avec Jython
-
app = AdminConfig.getid("/Deployment:EJBinWARTest/" ) depObj = AdminConfig.showAttribute(app, "deployedObject" )
- Obtenez la liste des modules de l'application.
- Avec Jacl
-
set modules [lindex [$AdminConfig showAttribute $depObj modules] 0]
- Avec Jython
-
modules = AdminConfig.showAttribute(depObj, "modules" ) modules = modules.replace('[','').replace(']','') modules = modules.split(' ')
- Dans cet exemple, le module EJB, EJBBean.jar, contient un bean enterprise et le module Web, EJB2xInWARBean.war, comporte un autre bean enterprise. Le code présenté ci-après illustre la modification de la configuration des beans session avec état pour chacun de ces beans enterprise.
- Avec Jacl
-
# Affectation des ID configuration des modules EJB et Web aux variables ejbmod et webmod : foreach module $modules { set moduleName [$AdminConfig show $module uri] if { [string first "EJBBean.jar" $moduleName] >= 0} { set ejbmod $module } if { [string first "EJB2xInWARBean.war" $moduleName] >= 0} { set webmod $module } }
- Avec Jython
-
# Affectation des ID configuration des modules EJB et Web aux variables ejbmod et webmod : pour un module dans les modules : moduleName = AdminConfig.showAttribute(module, 'uri') if moduleName.find('EJBBean.jar') >= 0: ejbmod = module if moduleName.find('EJB2xInWARBean.war') >= 0 : webmod = module
- Obtenez l'objet de configuration de module EJB.
- Avec Jacl
-
# Obtention de l'objet de configuration de module EJB associé au module EJB pur : set ejbConfig [lindex [$AdminConfig showAttribute $ejbmod configs] 0] if { ($ejbConfig == "") } { puts "\nejbConfig not present - creating one" set ejbConfig [$AdminConfig create EJBModuleConfiguration $ejbmod {{enableSFSBFailover true} {overrideDefaultDRSSettings false}}] set attrs [list config $ejbConfig] set targetMappings [lindex [$AdminConfig showAttribute $ejbmod targetMappings] 0] $AdminConfig modify $targetMappings [list $attrs] } else { puts "\nejbConfig present" }
- Avec Jython
-
# Obtention de la liste des objets de configuration associés au module EJB pur : ejbmodConfigs = AdminConfig.showAttribute (ejbmod, 'configs') if (ejbmodConfigs): print "\nejbmodConfigs present" # Extraction de l'objet de configuration de module EJB : ejbConfig = ejbmodConfigs.replace('[','').replace(']','') print "\nejbConfig:" print AdminConfig.show(ejbConfig) else: print "\nejbmodConfigs not present - creating one" ecAttrs = [] attr1 = ["enableSFSBFailover", "true"] attr2 = ["overrideDefaultDRSSettings", "false"] ecAttrs.append(attr1) ecAttrs.append(attr2) ejbConfig = AdminConfig.create('EJBModuleConfiguration', ejbmod, ecAttrs) tmAttrs = ['config', ejbConfig] targetMappings = AdminConfig.showAttribute (ejbmod, 'targetMappings') targetMappings = targetMappings[1:len(targetMappings)-1] AdminConfig.modify(targetMappings, [tmAttrs])
- Affichez les paramètres de configuration de la reprise en ligne des beans session avec état du module EJB.
- Avec Jacl
-
# Affichage de la configuration de la reprise en ligne des beans session avec état du module EJB : puts "\nStateful session bean failover settings of the EJB module" puts [$AdminConfig show $ejbConfig] # Affichage des paramètres drsSettings du module EJB : set drsSettings [$AdminConfig showAttribute $ejbConfig drsSettings] if { ($drsSettings == "") } { puts "drsSettings not present on the EJB module." } else { puts "\ndrsSettings of the EJB module:" puts [$AdminConfig show $drsSettings] }
- Avec Jython
-
# Affichage de la configuration de la reprise en ligne des beans session avec état du module EJB : print AdminConfig.show(ejbConfig) # Affichage des paramètres drsSettings du module EJB : drsSettings = AdminConfig.showAttribute (ejbConfig, 'drsSettings') if (drsSettings): print "\ndrsSettings of the EJB module:" print AdminConfig.show(drsSettings) else: print "\ndrsSettings not present on the EJB module." drsSettings = AdminConfig.showAttribute (ejbConfig, 'drsSettings') if (drsSettings): print "\ndrsSettings of the EJB module:" print AdminConfig.show(drsSettings) else: print "\ndrsSettings not present on the EJB module."
- Démarrez le client de scriptage wsadmin.
- Utilisez l'objet AdminConfig afin de modifier la configuration de la reprise en ligne des beans session avec état pour un bean enterprise au sein d'un module Web de la même application. Pour un module EJB placé dans un fichier WAR, la procédure est pratiquement la même, à ceci près que l'étape supplémentaire consistant à extraire le module EJB de la liste des objets de configuration est nécessaire.
- En utilisant l'ID configuration de module Web de l'étape 4, obtenez l'objet de configuration de module EJB qui est associé au module Web.
- Avec Jacl
-
# Obtention de l'objet de configuration du module Web : set webmodConfig [lindex [$AdminConfig showAttribute $webmod configs] 0] # Extraction de l'objet de configuration de module EJB associé au module Web. set ejbInWarConfig [$AdminConfig showAttribute $webmodConfig ejbModuleConfiguration]
- Avec Jython
-
# Obtention de la liste des objets de configuration associés au module Web : webmodConfigs = AdminConfig.showAttribute (webmod, 'configs') # Extraction de l'objet de configuration de module Web : webmodConfig = webmodConfigs.replace('[','').replace(']','') # Extraction de l'objet de configuration de module EJB associé au module Web. ejbInWarConfig = AdminConfig.showAttribute (webmodConfig, 'ejbModuleConfiguration')
- Affichez les paramètres de configuration des beans session avec état.
- Avec Jacl
-
# Affichage de la configuration du module EJB au sein du module Web : puts "\nStateful session bean failover settings of the EJB within the web module:" puts [$AdminConfig show $ejbInWarConfig] # Obtention des paramètres de reprise en ligne des beans session avec état du module EJB au sein du module Web : set drsSettings [$AdminConfig showAttribute $ejbInWarConfig drsSettings] if { ($drsSettings == "") } { puts "drsSettings not present on the EJB within the Web module." } else { puts "\ndrsSettings of the EJB within the Web module:" puts [$AdminConfig show $drsSettings] }
- Avec Jython
-
print "\nStateful session bean failover configuration of the EJB module within the web module:" print AdminConfig.show(ejbInWarConfig) drsSettings = AdminConfig.showAttribute(ejbInWarConfig, 'drsSettings') if (drsSettings): print "\ndrsSettings of the EJB module within the web module:" print AdminConfig.show(drsSettings) else: print "\ndrsSettings not present on the EJB module within the web module." print "\ndrsSettings of the EJB module within the Web module:"
- Modifiez les paramètres de configuration des beans session avec état.
- Avec Jacl
-
# Activation de la reprise en ligne des beans session avec état pour le module EJB au sein du module Web : $AdminConfig modify $ejbInWarConfig {{enableSFSBFailover "true"}}
- Avec Jython
-
# Activation de la reprise en ligne des beans session avec état pour le module EJB au sein du module Web : AdminConfig.modify(ejbInWarConfig, [['enableSFSBFailover', 'true']])
- En utilisant l'ID configuration de module Web de l'étape 4, obtenez l'objet de configuration de module EJB qui est associé au module Web.
Concepts associés:
Tâches associées:
Référence associée:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_ejbsfsbf
Nom du fichier : txml_ejbsfsbf.html