Failover für Stateful-Session-Beans mit Scripting auf Anwendungsebene konfigurieren

Verwenden Sie Scripting und das Tool "wsadmin", um das Failover für Stateful-Session-Beans in Anwendungen zu konfigurieren.

Vorbereitende Schritte

Damit diese Task gestartet werden kann, muss das Tool "wsadmin" aktiv sein. Weitere Informationen finden Sie im Artikel zum Starten des wsadmin-Scripting-Clients.

Informationen zu diesem Vorgang

Sie können mit dem Objekt "AdminConfig" bestimmte Konfigurationen in einer Anwendung festlegen. In dieser Task verwenden Sie das Objekt "AdminConfig", um die Failoverkonfiguration für Stateful-Session-Beans für alle EJB-Module in der Anwendung anzuzeigen. Verwenden Sie anschließend das Objekt "AdminConfig", um die Failoverkonfiguration für Stateful-Session-Beans für alle EJB-Module in derselben Anwendung zu ändern.

Vorgehensweise

  1. Starten Sie den wsadmin-Scripting-Client.
    • Mit Jacl:
      wsadmin                        
    • Mit Jython:
      wsadmin -lang Jython                        
  2. Geben Sie das Konfigurationsobjekt für die Implementierung an, und ordnen Sie es der Variablen "deployment" zu, z. B.:
    • Mit Jacl:
      set app [$AdminConfig getid /Deployment:EJBinWARTest/]
      set depObj [$AdminConfig showAttribute $app deployedObject]
                              
    • Mit Jython:
      app = AdminConfig.getid("/Deployment:EJBinWARTest/" )
      depObj = AdminConfig.showAttribute(app, "deployedObject" )
                              
  3. Rufen Sie das Anwendungskonfigurationsobjekt ab. Wenn das Objekt nicht vorhanden ist, erstellen Sie es.
    • Mit Jacl:
      # Einzelnes Anwendungskonfigurationsobjekt abrufen:
      set appConfig [lindex [$AdminConfig showAttribute $depObj configs] 0]
      
      
      # Anwendungskonfigurationsobjekt erstellen, wenn es nicht vorhanden ist:
      
      if { ($appConfig == "") } {
        puts "\nappConfig not present - creating one"
        set appConfig [$AdminConfig create ApplicationConfig $depObj {{enableSFSBFailover true} {overrideDefaultDRSSettings false}}]
        set attrs [list config $appConfig]
        set targetMappings [lindex [$AdminConfig showAttribute $depObj targetMappings] 0]
        $AdminConfig modify $targetMappings [list $attrs]
      } else {
        puts "\nappConfig present"
      }
                               
    • Mit Jython:
      appConfig = AdminConfig.showAttribute (depObj, 'configs')
      appConfig = appConfig.replace('[','').replace(']','')
      
      if (appConfig):
        print "\nappConfig present"
      else:
        print "\nappConfig not present - creating one"
        acAttrs = []
        attr1 = ["enableSFSBFailover", "true"]
        attr2 = ["overrideDefaultDRSSettings", "false"]
        acAttrs.append(attr1)
        acAttrs.append(attr2)
        appConfig = AdminConfig.create('ApplicationConfig', depObj, acAttrs)
        tmAttrs = ['config', appConfig]
        targetMappings = AdminConfig.showAttribute (depObj, 'targetMappings')
        targetMappings = targetMappings[1:len(targetMappings)-1]
        AdminConfig.modify(targetMappings, [tmAttrs])
                               
  4. Zeigen Sie die Failover-Konfigurationseinstellungen für Stateful-Session-Beans in der Anwendung an.
    • Mit Jacl:
      puts "\nStateful session bean failover settings at the application level"
      puts [$AdminConfig show $appConfig]
      
      
      # drsSettings der Anwendung anzeigen:
      
      set drsSettings [$AdminConfig showAttribute $appConfig drsSettings]
      if { ($drsSettings == "") } {
        puts "drsSettings not present"
      } else {
        puts "\ndrsSettings of the application:"
        puts [$AdminConfig show $drsSettings]
      }
                              
    • Mit Jython:
      print "\nStateful session bean failover configuration of the application :"
      print AdminConfig.show(appConfig)
      
      drsSettings = AdminConfig.showAttribute (appConfig, 'drsSettings')
      if (drsSettings):
        print "\ndrsSettings of the application:"
        print AdminConfig.show(drsSettings)
      else:
        print "drsSettings not present"
                              
  5. Aktivieren Sie das Failover für Stateful-Session-Beans in der Anwendung.
    • Mit Jacl:
      $AdminConfig modify $appConfig {{enableSFSBFailover "true"}}
                              
    • Mit Jython:
      # Failover für Stateful-Session-Beans in der Anwendung aktivieren
      AdminConfig.modify(appConfig, [['enableSFSBFailover', 'true']])
                              
  6. Fügen Sie die DRS-Einstellungen für die Anwendung hinzu, bzw. ändern Sie sie.
    • Mit Jacl:
      # drsSettings für die Anwendung hinzufügen oder ändern
      
      set drsSettings [$AdminConfig showAttribute $appConfig drsSettings]
      if { ($drsSettings == "") } {
        puts "\ndrsSettings not present - creating them"
        $AdminConfig create DRSSettings $appConfig "{messageBrokerDomainName ReplicationDomain2}"
      } else {
        set newMessageBrokerDomainName "{messageBrokerDomainName ReplicationDomain2}"
        $AdminConfig modify $drsSettings $newMessageBrokerDomainName
      }
      
      $AdminConfig modify $appConfig {{overrideDefaultDRSSettings "true"}}
      
      
      # Neue oder geänderte drsSettings der Anwendung anzeigen
      
      set drsSettings [$AdminConfig showAttribute $appConfig drsSettings]
      puts "\nModified drsSettings of the application:"
      puts [$AdminConfig show $drsSettings]
                              
    • Mit Jython:
      drsSettings = AdminConfig.showAttribute (appConfig, 'drsSettings')
      if (drsSettings):
        newMessageBrokerDomainName = "{messageBrokerDomainName ReplicationDomain2}"
        AdminConfig.modify(drsSettings, newMessageBrokerDomainName)
      else:
        print "\ndrsSettings not present - creating them"
        drsAttr1 = ["messageBrokerDomainName","ReplicationDomain2"]
        drsAttrs = []
        drsAttrs.append(drsAttr1)
        AdminConfig.create("DRSSettings",appConfig,drsAttrs)
      
      
      AdminConfig.modify(appConfig, [['overrideDefaultDRSSettings', 'true']])
      
      # Neue oder geänderte drsSettings der Anwendung anzeigen
      
      drsSettings = AdminConfig.showAttribute (appConfig, 'drsSettings')
      print "\nNew or Modified drsSettings of the application:"
      print AdminConfig.show(drsSettings)
                              

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_ejbsfsbapp
Dateiname:txml_ejbsfsbapp.html