Configuración de migración tras error del bean de sesión con estado en el nivel de módulo utilizando scripts
Utilice scripts y la herramienta wsadmin para configurar aplicaciones para la migración tras error del bean de sesión con estado.
Antes de empezar
Acerca de esta tarea
Procedimiento
- Utilice el objeto AdminConfig
para visualizar la configuración de migración tras error del bean de sesión
con estado para un módulo EJB de la aplicación.
- Inicie el cliente de scripts wsadmin.
- Utilizando Jacl
-
wsadmin
- Utilizando Jython
-
wsadmin -lang Jython
- Identifique el objeto de configuración de despliegue de la aplicación y asígnelo a una variable; por ejemplo:
- Utilizando Jacl
-
set app [$AdminConfig getid /Deployment:EJBinWARTest/] set depObj [$AdminConfig showAttribute $app deployedObject]
- Utilizando Jython
-
app = AdminConfig.getid("/Deployment:EJBinWARTest/" ) depObj = AdminConfig.showAttribute(app, "deployedObject" )
- Obtenga la lista de módulos para la aplicación.
- Utilizando Jacl
-
set modules [lindex [$AdminConfig showAttribute $depObj modules] 0]
- Utilizando Jython
-
modules = AdminConfig.showAttribute(depObj, "modules" ) modules = modules.replace('[','').replace(']','') modules = modules.split(' ')
- En este ejemplo, el módulo EJB, EJBBean.jar, contiene un enterprise bean, y el módulo web, EJB2xInWARBean.war, contiene otro enterprise bean. En el código siguiente se muestra cómo modificar la configuración del bean de sesión con estado para cada uno de estos enterprise beans.
- Utilizando Jacl
-
# Asignar el EJB y los ID de configuración de módulo web para variables ejbmod y 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 } }
- Utilizando Jython
-
# Asignar el EJB y los ID de configuración de módulo web para variables ejbmod y webmod: for module in modules: moduleName = AdminConfig.showAttribute(module, 'uri') if moduleName.find('EJBBean.jar') >= 0: ejbmod = module if moduleName.find('EJB2xInWARBean.war') >= 0 : webmod = module
- Obtenga el objeto de configuración de módulo EJB,
- Utilizando Jacl
-
# Obtener el objeto de configuración del módulo EJB único asociado con el módulo EJB puro: 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" }
- Utilizando Jython
-
# Obtener la lista de objetos de configuración asociados con el módulo EJB puro: ejbmodConfigs = AdminConfig.showAttribute (ejbmod, 'configs') if (ejbmodConfigs): print "\nejbmodConfigs present" # Extraer el único objeto de configuración de módulo 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])
- Visualice los valores de configuración de la migración tras error del bean de sesión con estado del módulo EJB.
- Utilizando Jacl
-
# Mostrar la configuración de migración tras error del bean de sesión con estado del módulo EJB: puts "\nStateful session bean failover settings of the EJB module" puts [$AdminConfig show $ejbConfig] # Mostrar drsSettings del módulo 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] }
- Utilizando Jython
-
# Mostrar la configuración de migración tras error del bean de sesión con estado del módulo EJB: print AdminConfig.show(ejbConfig) # Mostrar drsSettings del módulo 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."
- Inicie el cliente de scripts wsadmin.
- Utilice el objeto AdminConfig para modificar la configuración de migración tras error de beans de sesión con estado para un enterprise bean dentro de un módulo web en la misma aplicación. Para un módulo EJB empaquetado en un archivo WAR, los pasos son similares, con el paso añadido de extraer el módulo EJB de la lista de objetos de configuración.
- Dado el ID de configuración del módulo web en el paso 4, obtenga el objeto de configuración del módulo EJB que está asociado al módulo web.
- Utilizando Jacl
-
# Obtener el objeto de configuración de módulo web: set webmodConfig [lindex [$AdminConfig showAttribute $webmod configs] 0] # Extraer el objeto de configuración del módulo EJB asociado con el módulo web. set ejbInWarConfig [$AdminConfig showAttribute $webmodConfig ejbModuleConfiguration]
- Utilizando Jython
-
# Obtener la lista de objetos de configuración asociados con el módulo web: webmodConfigs = AdminConfig.showAttribute (webmod, 'configs') # Extraer el único objeto de configuración de módulo web: webmodConfig = webmodConfigs.replace('[','').replace(']','') # Extraer el objeto de configuración del módulo EJB asociado con el módulo web. ejbInWarConfig = AdminConfig.showAttribute (webmodConfig, 'ejbModuleConfiguration')
- Visualice los valores de configuración de bean de sesión con estado.
- Utilizando Jacl
-
# Mostrar la configuración del módulo EJB en el módulo web: puts "\nStateful session bean failover settings of the EJB within the web module:" puts [$AdminConfig show $ejbInWarConfig] # Obtener los valores de migración tras error SFSB del módulo EJB en el módulo 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] }
- Utilizando 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:"
- Modifique los valores de configuración de bean de sesión con estado.
- Utilizando Jacl
-
# Para habilitar la migración tras error SFSB para el EJB en el módulo web: $AdminConfig modify $ejbInWarConfig {{enableSFSBFailover "true"}}
- Utilizando Jython
-
# Habilitar la migración tras error SFSB para el EJB en el módulo web: AdminConfig.modify(ejbInWarConfig, [['enableSFSBFailover', 'true']])
- Dado el ID de configuración del módulo web en el paso 4, obtenga el objeto de configuración del módulo EJB que está asociado al módulo web.
Conceptos relacionados:
Tareas relacionadas:
Referencia relacionada:


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