Configurando Failover de Bean de Sessão Stateful no Nível do Módulo Usando Script
Use o script e a ferramenta wsadmin para configurar os aplicativos para failover de bean de sessão stateful.
Antes de Iniciar
Sobre Esta Tarefa
Procedimento
- Use o objeto AdminConfig para exibir a configuração de failover de bean de sessão stateful para um módulo EJB no aplicativo.
- Inicie o cliente de script wsadmin.
- Usando Jacl
-
wsadmin
- Utilizando Jython
-
wsadmin -lang Jython
- Identifique o objeto de configuração de implementação para o aplicativo e designe-o para uma variável; por exemplo:
- Usando 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" )
- Obter a lista de módulos para o aplicativo.
- Usando Jacl
-
set modules [lindex [$AdminConfig showAttribute $depObj modules] 0]
- Utilizando Jython
-
modules = AdminConfig.showAttribute(depObj, "modules" ) modules = modules.replace('[','').replace(']','') modules = modules.split(' ')
- Nesse exemplo, o módulo EJB, EJBBean.jar, contém um enterprise bean e o módulo da Web EJB2xInWARBean.war, contém outro enterprise bean. O código a seguir mostra como modificar a configuração de bean de sessão stateful para cada um destes enterprise beans.
- Usando Jacl
-
# Designe os IDs de configuração de EJB e de módulo da Web para as variáveis ejbmod e 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
-
# Designe os IDs de configuração de EJB e de módulo da Web para as variáveis ejbmod e webmod: para módulo em módulos: moduleName = AdminConfig.showAttribute(module, 'uri') if moduleName.find('EJBBean.jar') >= 0: ejbmod = module if moduleName.find('EJB2xInWARBean.war') >= 0 : webmod = module
- Obter o objeto de configuração do módulo EJB.
- Usando Jacl
-
# Obter o objeto de configuração do módulo EJB único associado com o módulo EJB puro: set ejbConfig [lindex [$AdminConfig showAttribute $ejbmod configs] 0] if { ($ejbConfig == "") } { puts "\nejbConfig não presente - criando um" 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
-
# Obter a lista de objetos de configuração associados ao módulo EJB puro: ejbmodConfigs = AdminConfig.showAttribute (ejbmod, 'configs') if (ejbmodConfigs): print "\nejbmodConfigs presente" # Extrair o objeto de configuração do módulo EJB único: ejbConfig = ejbmodConfigs.replace('[','').replace(']','') print "\nejbConfig:" print AdminConfig.show(ejbConfig) else: print "\nejbmodConfigs não presente - criando um" 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])
- Exibir as definições de configuração de failover de bean de sessão stateful do módulo EJB.
- Usando Jacl
-
# Mostrar a configuração de failover de bean de sessão Stateful do módulo EJB: puts "\nStateful configurações de failover de bean de sessão do módulo EJB" puts [$AdminConfig show $ejbConfig] # Mostrar o drsSettings do módulo EJB: set drsSettings [$AdminConfig showAttribute $ejbConfig drsSettings] if { ($drsSettings == "") } { puts "drsSettings não presente no módulo EJB." } else { puts "\ndrsSettings do módulo EJB:" puts [$AdminConfig show $drsSettings] }
- Utilizando Jython
-
# Mostrar a configuração de failover de bean de sessão Stateful do módulo EJB: print AdminConfig.show(ejbConfig) # Mostrar o drsSettings do módulo EJB: drsSettings = AdminConfig.showAttribute (ejbConfig, 'drsSettings') if (drsSettings): print "\ndrsSettings do módulo EJB:" print AdminConfig.show(drsSettings) else: print "\ndrsSettings não presente no módulo EJB." drsSettings = AdminConfig.showAttribute (ejbConfig, 'drsSettings') if (drsSettings): print "\ndrsSettings do módulo EJB:" print AdminConfig.show(drsSettings) else: print "\ndrsSettings não presente no módulo EJB."
- Inicie o cliente de script wsadmin.
- Use o objeto AdminConfig para modificar a configuração de failover de bean de sessão stateful para um enterprise bean em um módulo da Web no mesmo aplicativo. Para um módulo EJB compactado em um arquivo WAR, as etapas são semelhantes, incluindo a etapa para extrair o módulo EJB da lista de objetos de configuração.
- Fornecido o ID de configuração do módulo da Web na etapa 4, obtenha o objeto de configuração do módulo EJB associado ao módulo da Web.
- Usando Jacl
-
# Obter o objeto de configuração do módulo da Web: set webmodConfig [lindex [$AdminConfig showAttribute $webmod configs] 0] # Extrair o objeto de configuração do módulo EJB associado ao módulo da Web: set ejbInWarConfig [$AdminConfig showAttribute $webmodConfig ejbModuleConfiguration]
- Utilizando Jython
-
# Obter a lista de objetos de configuração associados ao módulo da Web: webmodConfigs = AdminConfig.showAttribute (webmod, 'configs') # Extrair o objeto de configuração do módulo da Web único: webmodConfig = webmodConfigs.replace('[','').replace(']','') # Extrair o objeto de configuração do módulo EJB associado ao módulo da Web: ejbInWarConfig = AdminConfig.showAttribute (webmodConfig, 'ejbModuleConfiguration')
- Exibir as definições de configuração do bean de sessão stateful.
- Usando Jacl
-
# Mostrar a configuração do módulo EJB no módulo da Web: puts "\nStateful configurações de failover de bean de sessão do EJB no módulo da Web:" puts [$AdminConfig show $ejbInWarConfig] # Obter as configurações de failover SFSB do módulo EJB no módulo da Web: set drsSettings [$AdminConfig showAttribute $ejbInWarConfig drsSettings] if { ($drsSettings == "") } { puts "drsSettings não presente no EJB no módulo da Web." } else { puts "\ndrsSettings do EJB no módulo da Web:" puts [$AdminConfig show $drsSettings] }
- Utilizando Jython
-
print "\nStateful configuração de failover de bean de sessão do módulo EJB no módulo da Web:" print AdminConfig.show(ejbInWarConfig) drsSettings = AdminConfig.showAttribute(ejbInWarConfig, 'drsSettings') if (drsSettings): print "\ndrsSettings do módulo EJB no módulo da Web:" print AdminConfig.show(drsSettings) else: print "\ndrsSettings não presente no módulo EJB no módulo da Web." print "\ndrsSettings do módulo EJB no módulo da Web:"
- Modificar as definições de configuração do bean de sessão stateful.
- Usando Jacl
-
# Para ativar o failover para o EJB SFSB no módulo da Web: $AdminConfig modify $ejbInWarConfig {{enableSFSBFailover "true"}}
- Utilizando Jython
-
# Ativar o failover para o EJB SFSB no módulo da Web: AdminConfig.modify(ejbInWarConfig, [['enableSFSBFailover', 'true']])
- Fornecido o ID de configuração do módulo da Web na etapa 4, obtenha o objeto de configuração do módulo EJB associado ao módulo da Web.
Conceitos relacionados:
Tarefas relacionadas:
Referências relacionadas:


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