Ricerca nel sito web

Concetti di base di WildFly (JBoss Application Server).


Nei nostri ultimi due articoli, abbiamo seguito l'installazione WildFly e poi la gestione del server utilizzando la versione GUI della CLI. Oggi discuteremo dei concetti di base oppure potrai dire i termini utilizzati in WildFly. Puoi consultare i nostri ultimi articoli pubblicati su.

  1. WildFly: una nuova installazione migliorata del server applicazioni JBoss
  2. Gestisci il server WildFly (JBoss AS) utilizzando la versione GUI della CLI

Coloro che hanno già familiarità con Jboss AS, saranno consapevoli del grande cambiamento introdotto in Jboss AS 7.* e quindi WildFly. Il cambiamento è stato il design modulare, il che significa che caricherà le classi necessarie per l'applicazione invece di caricare tutte le classi.

Di seguito sono riportati alcuni dei termini di base utilizzati in WildFly:

Modalità di avvio

Wildfly ha introdotto nuove modalità di avvio. Ha due modalità operative utilizzate per gestire tutte le operazioni del server.

  1. Modalità autonoma
  2. Modalità dominio

Entrambe queste modalità sono gestite dai due diversi script forniti nella directory "bin" dell'installazione di WildFly.

[root@tecmint bin]# ll -m1 standalone.sh domain.sh

domain.sh
standalone.sh

Modalità autonoma

Nella versione precedente di Jboss AS 7.* ovvero Jboss Application Server 3, 4, 5< o 6, tutte le istanze jboss in esecuzione hanno il proprio processo individuale. Ogni istanza avrà la propria console di amministrazione e altre funzioni per controllarla.

In modo molto simile funziona la modalità standalone. Possiamo avviare un server autonomo utilizzando lo script "standalone.sh" e passando parametri diversi in base ai requisiti. Possiamo avviare tutte le istanze che vogliamo (tutte dovrebbero essere configurate per essere eseguite su porte diverse).

Possiamo anche formare diversi cluster HA come facevamo con la versione precedente, ovvero 4, 5 o 6.

Avvio di WildFly in modalità autonoma

Passa alla directory $JBOSS_HOME/bin e avvia lo script standalone.sh dal terminale come mostrato di seguito. Se non specifichiamo alcun parametro, per impostazione predefinita verrà associato all'indirizzo di loopback e utilizzerà il file standalone.xml.

[root@tecmint bin]# ./standalone.sh
Uscita del campione
tecmint-VGN-Z13GN bin # ./standalone.sh
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: java

  JAVA_OPTS:  -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

13:25:22,168 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:25:22,717 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
13:25:22,818 INFO  [org.jboss.as] (MSC service thread 1-3) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
13:25:24,287 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
13:25:24,310 INFO  [org.xnio] (MSC service thread 1-1) XNIO version 3.2.0.Final
13:25:24,332 INFO  [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.2.0.Final
13:25:24,486 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 33) JBAS010280: Activating Infinispan subsystem.
13:25:24,491 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 28) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
13:25:24,514 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 4.0.0.Final
13:25:24,573 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 39) JBAS012615: Activated the following JSF Implementations: [main]
13:25:24,575 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-3) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.3.Final)
13:25:24,587 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) JBAS010417: Started Driver service with driver-name = h2
13:25:24,622 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 41) JBAS011800: Activating Naming Subsystem
13:25:24,691 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 46) JBAS013171: Activating Security Subsystem
13:25:24,707 INFO  [org.jboss.as.naming] (MSC service thread 1-4) JBAS011802: Starting Naming Service
13:25:24,708 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-3) JBAS015400: Bound mail session [java:jboss/mail/Default]
13:25:24,737 INFO  [org.jboss.as.security] (MSC service thread 1-1) JBAS013170: Current PicketBox version=4.0.20.Final
13:25:24,754 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 50) JBAS015537: Activating WebServices Extension
13:25:24,800 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) JBAS017502: Undertow 1.0.0.Final starting
13:25:24,800 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 49) JBAS017502: Undertow 1.0.0.Final starting

Nota: puoi utilizzare l'opzione –b [IP] per avviare il server con un altro IP e caricare altri file di configurazione utilizzando -c [nome file di configurazione].

Modalità dominio

Questo è un nuovo concetto introdotto in AS-7.*. Con questa nuova funzionalità di WildFly-8, possiamo gestire diverse istanze da un unico punto. Questo ci aiuta davvero a ridurci a un punto di controllo invece di gestire più server autonomi.

Tutti i server gestiti da Dominio sono conosciuti come membri del dominio. Tutti i membri del dominio possono condividere le stesse configurazioni/distribuzioni. Questo è davvero pratico e utile per l'ambiente di clustering.

In modalità Dominio possiamo creare un gruppo di server e quindi aggiungere un numero di server a quel gruppo. Qualunque cosa facciamo su questo gruppo di server, tutto verrà replicato su ciascun server in gruppi di server.

Avvio di WildFly in modalità dominio

Passa alla directory $JBOSS_HOME/bin e avvia lo script domain.sh dal terminale come mostrato di seguito.

[root@tecmint bin]# ./domain.sh
Uscita del campione
=========================================================================

  JBoss Bootstrap Environment

 JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: java

  JAVA_OPTS: -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

13:30:33,939 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:30:34,077 INFO  [org.jboss.as.process.Host Controller.status] (main) JBAS012017: Starting process 'Host Controller'
[Host Controller] 13:30:34,772 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
[Host Controller] 13:30:34,943 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
[Host Controller] 13:30:34,999 INFO  [org.jboss.as] (MSC service thread 1-4) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
[Host Controller] 13:30:35,689 INFO  [org.xnio] (MSC service thread 1-1) XNIO version 3.2.0.Final
[Host Controller] 13:30:35,692 INFO  [org.jboss.as] (Controller Boot Thread) JBAS010902: Creating http management service using network interface (management) port (9990) securePort (-1)
[Host Controller] 13:30:35,701 INFO  [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.2.0.Final
[Host Controller] 13:30:35,747 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 4.0.0.Final
[Host Controller] 13:30:35,817 INFO  [org.jboss.as.remoting] (MSC service thread 1-2) JBAS017100: Listening on 127.0.0.1:9999
^C13:30:36,415 INFO  [org.jboss.as.process] (Shutdown thread) JBAS012016: Shutting down process controller
13:30:36,416 INFO  [org.jboss.as.process.Host Controller.status] (Shutdown thread) JBAS012018: Stopping process 'Host Controller'
[Host Controller] 13:30:36,456 INFO  [org.jboss.as] (MSC service thread 1-2) JBAS015950: WildFly 8.0.0.Final "WildFly" stopped in 19ms
[Host Controller] 
13:30:36,476 INFO  [org.jboss.as.process.Host Controller.status] (reaper for Host Controller) JBAS012010: Process 'Host Controller' finished with an exit status of 130
13:30:36,476 INFO  [org.jboss.as.process] (Shutdown thread) JBAS012015: All processes finished; exiting

Un'altra cosa che noterai è la differenza tra il numero di servizi avviati in modalità Standalone (183 su 0f 232) e in modalità Dominio (207 su 255).

Un'altra differenza importante tra la modalità Standalone e la modalità Dominio è il comando di avvio utilizzato nello script di avvio. In modalità standalone, il punto di ingresso è “org.jboss.as.standalone”, mentre in modalità dominio il punto di ingresso è “org.jboss.as.process-controller”. Di seguito è riportata la figura che mostra la relazione logica tra i diversi processi.

In modalità dominio, innanzitutto avvierà il controller del processo e genererà un nuovo processo chiamato Host Controller. Questo processo di controllore host sarà responsabile della gestione di più server all'interno di diversi gruppi di server. Un altro punto da tenere presente è che ogni server avrà il proprio processo JVM.

Per ora è tutto! Nel nostro prossimo articolo mostreremo diversi modi di eseguire distribuzioni in WildFly. Fino ad allora, resta sintonizzato e connesso a Tecmint e non dimenticare di fornire il tuo prezioso feedback nella nostra sezione commenti qui sotto.