JBoss AS 7 mit zwei Webapps auf verschiedenen HTTP-Ports?

8

Um einen Legacy-Dienst zu ersetzen, bin ich daran interessiert, zwei verschiedene Webapps auf zwei verschiedenen HTTP-Portnummern zu haben, z. B. 8080 - & gt; webapp1 (Browserdienst), 8200 - & gt; webapp2 (REST, neue Version verwendet RESTEasy). Jeder ist der "root context" für diese Portnummer.

Die "Standard" -Antwort auf dieser Site bezieht sich auf JBoss 5, das sind zwei Hauptversionen, die zurück in der Geschichte sind und eine Zillion Konfigurationsformatänderungen haben.

Ich verwende JBoss AS 7.0.2.Final und die "Standalone" -Implementierung. Hat das jemand gemacht und kann die verwendete Konfiguration teilen? Danke.

    
idarwin 28.03.2012, 21:34
quelle

3 Antworten

6

Verwaltete Domäne

Sie könnten eine verwaltete Domäneninstanz ausführen. Auf diese Weise können Sie zwei Serverinstanzen mit jeweils einer Webanwendung verwalten sowie die Port- und Interface-Deklarationen von einer einzigen Konsolenansicht aus verwalten.

Ziel wäre eine verwaltete Domäne mit zwei Servern. Jeder Server würde zu einer anderen Servergruppe gehören. Jede Servergruppe hat ihre eigene Schnittstelle oder Port-Deklarationen, wie Sie es benötigen.

Dies gibt Ihnen eine einzige Verwaltungskonsole mit einer Reihe relativer Servergruppen, denen Sie Ihre aktuellen und zukünftigen Server zuweisen können, mit der Möglichkeit, Änderungen vorzunehmen, neu zuzuweisen oder zu deaktivieren.

Konfiguration

Die Dateien, auf die Sie achten müssen, sind die Konfigurationsdateien host.xml und domain.xml unter dem folgenden Dateipfad.

~/JBOSS_HOME/domain/configuration

Von domain.xml können wir die Socket-Bindungsgruppen sehen. Das folgende Beispiel ist eine Standardgruppe "Standard-Sockets". Sie können jedoch beliebig viele Gruppen mit beliebig vielen Deklarationen erstellen.

%Vor%

Sie können zwei Socket-Binding-Gruppen für Ihre Anforderungen erstellen, die den zwei Ports entsprechen, die Sie möglicherweise benötigen. Sobald sie vorhanden sind, möchten Sie, dass eine Servergruppe sie kennt. Schauen wir uns die Datei domain.xml genauer an.

Im folgenden Beispiel sehen wir, dass eine Servergruppe auf eine Socket-Bindungsgruppe verweist. Für Bonuspunkte können wir sehen, dass einige Anwendungen für sie bereitgestellt werden. Dies ist über die Management Console geschehen, aber AS 7 bleibt bestehen, wenn Konsole und CLI in die Konfiguration geändert werden.

%Vor%

Die Datei domain.xml ist die Konfiguration des Domänencontrollers, der der "Boss" der verwalteten Domäne ist. Die tatsächlichen Serverinformationen sind im Host-Controller enthalten. Sehen wir uns die host.xml -Datei an.

%Vor%

Wir können drei Server in der Standarddomäne sehen. Der dritte ist ein Mitglied der Gruppe other-server-group , während die ersten beiden Mitglieder der Gruppe main-server-group sind. Beachten Sie auch die Port-Binding-Deklarationen.

Sie könnten den dritten Server löschen und Server 1 und Server 2 der ersten bzw. zweiten Webanwendung zuweisen. Jeder Server kann zu einer eindeutigen Gruppe gehören. Jede Gruppe kann einen eindeutigen Port deklarieren. Danach können Sie Ihre Anwendungen in den jeweiligen Gruppen bereitstellen und Sie sind unterwegs.

Verwenden von Verwaltungstools

Die Beispiele zeigen XML, Sie sollten jedoch die Managementkonsole oder die Management-CLI verwenden, wenn Sie Ihre Installation konfigurieren. Die Konsole ist einfach genug, deshalb helfen hier einige CLI-Operationen.

Um die Servergruppen anzuzeigen:

[domain@localhost:9999 /] /server-group=*:read-resource(include-runtime=true)

So zeigen Sie die Socket-Bindungsgruppen an:

[domain@localhost:9999 /] /socket-binding-group=*:read-resource(include-runtime=true)

Sie möchten die spezifischen http -Attributwerte offen legen, damit wir unsere CLI-Operation so anpassen können, dass sie auf diesem untergeordneten Knoten ausgeführt wird. Durch das Einbeziehen des Laufzeitparameters können wir alles abfangen, das zur Laufzeit übergeben wurde und nicht in das Servermodell geschrieben wurde.

[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=http:read-resource(include-runtime=true)

Und so schreibst du es.

[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=http:write-attribute(name=port,value=8081)

Das sollte dich beginnen. Wie Sie vielleicht feststellen, bin ich ein Fan der Managed Domain ...

    
ddri 13.04.2012 01:19
quelle
3
___ qstnhdr ___ JBoss AS 7 mit zwei Webapps auf verschiedenen HTTP-Ports? ___ qstntxt ___

Um einen Legacy-Dienst zu ersetzen, bin ich daran interessiert, zwei verschiedene Webapps auf zwei verschiedenen HTTP-Portnummern zu haben, z. B. 8080 - & gt; webapp1 (Browserdienst), 8200 - & gt; webapp2 (REST, neue Version verwendet RESTEasy). Jeder ist der "root context" für diese Portnummer.

Die "Standard" -Antwort auf dieser Site bezieht sich auf JBoss 5, das sind zwei Hauptversionen, die zurück in der Geschichte sind und eine Zillion Konfigurationsformatänderungen haben.

Ich verwende JBoss AS 7.0.2.Final und die "Standalone" -Implementierung. Hat das jemand gemacht und kann die verwendete Konfiguration teilen? Danke.

    
___ tag123webapplications ___ Webanwendungen sind Anwendungen, auf die über das "Web" zugegriffen wird, das über das Internet oder ein Intranet, d. h. ein internes Netzwerk, erfolgen kann ___ tag123configuration ___ Konfiguration ist die Festlegung der Einstellungen für ein System oder eine Anwendung ___ tag123jboss7x ___ Version 7 des JBoss-Anwendungsservers ___ answer10134087 ___

Verwaltete Domäne

Sie könnten eine verwaltete Domäneninstanz ausführen. Auf diese Weise können Sie zwei Serverinstanzen mit jeweils einer Webanwendung verwalten sowie die Port- und Interface-Deklarationen von einer einzigen Konsolenansicht aus verwalten.

Ziel wäre eine verwaltete Domäne mit zwei Servern. Jeder Server würde zu einer anderen Servergruppe gehören. Jede Servergruppe hat ihre eigene Schnittstelle oder Port-Deklarationen, wie Sie es benötigen.

Dies gibt Ihnen eine einzige Verwaltungskonsole mit einer Reihe relativer Servergruppen, denen Sie Ihre aktuellen und zukünftigen Server zuweisen können, mit der Möglichkeit, Änderungen vorzunehmen, neu zuzuweisen oder zu deaktivieren.

Konfiguration

Die Dateien, auf die Sie achten müssen, sind die Konfigurationsdateien -c und socket-binding-group unter dem folgenden Dateipfad.

port-offset

Von %code% können wir die Socket-Bindungsgruppen sehen. Das folgende Beispiel ist eine Standardgruppe "Standard-Sockets". Sie können jedoch beliebig viele Gruppen mit beliebig vielen Deklarationen erstellen.

%Vor%

Sie können zwei Socket-Binding-Gruppen für Ihre Anforderungen erstellen, die den zwei Ports entsprechen, die Sie möglicherweise benötigen. Sobald sie vorhanden sind, möchten Sie, dass eine Servergruppe sie kennt. Schauen wir uns die Datei %code% genauer an.

Im folgenden Beispiel sehen wir, dass eine Servergruppe auf eine Socket-Bindungsgruppe verweist. Für Bonuspunkte können wir sehen, dass einige Anwendungen für sie bereitgestellt werden. Dies ist über die Management Console geschehen, aber AS 7 bleibt bestehen, wenn Konsole und CLI in die Konfiguration geändert werden.

%Vor%

Die Datei %code% ist die Konfiguration des Domänencontrollers, der der "Boss" der verwalteten Domäne ist. Die tatsächlichen Serverinformationen sind im Host-Controller enthalten. Sehen wir uns die %code% -Datei an.

%Vor%

Wir können drei Server in der Standarddomäne sehen. Der dritte ist ein Mitglied der Gruppe %code% , während die ersten beiden Mitglieder der Gruppe %code% sind. Beachten Sie auch die Port-Binding-Deklarationen.

Sie könnten den dritten Server löschen und Server 1 und Server 2 der ersten bzw. zweiten Webanwendung zuweisen. Jeder Server kann zu einer eindeutigen Gruppe gehören. Jede Gruppe kann einen eindeutigen Port deklarieren. Danach können Sie Ihre Anwendungen in den jeweiligen Gruppen bereitstellen und Sie sind unterwegs.

Verwenden von Verwaltungstools

Die Beispiele zeigen XML, Sie sollten jedoch die Managementkonsole oder die Management-CLI verwenden, wenn Sie Ihre Installation konfigurieren. Die Konsole ist einfach genug, deshalb helfen hier einige CLI-Operationen.

Um die Servergruppen anzuzeigen:

%code%

So zeigen Sie die Socket-Bindungsgruppen an:

%code%

Sie möchten die spezifischen %code% -Attributwerte offen legen, damit wir unsere CLI-Operation so anpassen können, dass sie auf diesem untergeordneten Knoten ausgeführt wird. Durch das Einbeziehen des Laufzeitparameters können wir alles abfangen, das zur Laufzeit übergeben wurde und nicht in das Servermodell geschrieben wurde.

%code%

Und so schreibst du es.

%code%

Das sollte dich beginnen. Wie Sie vielleicht feststellen, bin ich ein Fan der Managed Domain ...

    
___ answer23747718 ___

Danke @ ddri, Wie in @ddri erwähnt, möchte ich einige Dinge hinzufügen, Ich habe alle Schritte von dir @ddri verfolgt, aber meine Apps wurden nicht auf bestimmten Ports bereitgestellt, ich möchte eine Korrektur vornehmen (was in meinem Fall funktioniert)

%code% Öffnen Sie domain.xml und wählen Sie eine Socket-Bindungsgruppe, die Sie verwenden möchten. Standardmäßig haben wir

%Vor%

Ich habe 2,3 verwendet. Hier ist mein Auszug

%Vor%

%code% In domain.xml find %code% ad konfiguriere deine %code% für jede von ihnen, hier ist mein Snippet

%Vor%

%code% Öffnen Sie host.xml und konfigurieren Sie Ihren Server mit der Server-Gruppe

%Vor%

%code% Gehen Sie zu Ihrem %code% Ordner und führen Sie %code% file aus und stellen Sie sicher, dass keine Ausnahme für den bereits verbundenen Port kommt.

================================================ ==================================== %code% Öffne jboss-cli von %code% und gib

ein %Vor%

und bestätigen Sie, dass Sie jboss unter Domänenkonfiguration und nicht als eigenständige Konfiguration ausführen

%Vor%

Um einen beliebigen App-Typ zu implementieren

%Vor%

und stellen Sie sicher, dass jede App, die Sie gerade ausführen, in ihrer web.xml ein %code% -Tag haben sollte.

Jetzt können Sie zwei App auf verschiedenen Ports einer einzelnen Instanz von jboss ausführen:)

    
___ tag123ports ___ Anwendungen und Dienste verwenden eindeutige Ports für die Kommunikation mit anderen Geräten über ein Netzwerk. Die Ports reichen von 1 bis 65.535. ___
Chad 30.03.2012 16:24
quelle
1

Danke @ ddri, Wie in @ddri erwähnt, möchte ich einige Dinge hinzufügen, Ich habe alle Schritte von dir @ddri verfolgt, aber meine Apps wurden nicht auf bestimmten Ports bereitgestellt, ich möchte eine Korrektur vornehmen (was in meinem Fall funktioniert)

Step 1 Öffnen Sie domain.xml und wählen Sie eine Socket-Bindungsgruppe, die Sie verwenden möchten. Standardmäßig haben wir

%Vor%

Ich habe 2,3 verwendet. Hier ist mein Auszug

%Vor%

Step 2 In domain.xml find <server-groups> ad konfiguriere deine <socket-binding-group> für jede von ihnen, hier ist mein Snippet

%Vor%

Step 3 Öffnen Sie host.xml und konfigurieren Sie Ihren Server mit der Server-Gruppe

%Vor%

Step 4 Gehen Sie zu Ihrem {JBoss_Home}/bin Ordner und führen Sie domain.bat file aus und stellen Sie sicher, dass keine Ausnahme für den bereits verbundenen Port kommt.

================================================ ==================================== Step 5 Öffne jboss-cli von {JBoss_Home}/bin und gib

ein %Vor%

und bestätigen Sie, dass Sie jboss unter Domänenkonfiguration und nicht als eigenständige Konfiguration ausführen

%Vor%

Um einen beliebigen App-Typ zu implementieren

%Vor%

und stellen Sie sicher, dass jede App, die Sie gerade ausführen, in ihrer web.xml ein </distributable> -Tag haben sollte.

Jetzt können Sie zwei App auf verschiedenen Ports einer einzelnen Instanz von jboss ausführen:)

    
Pulkit 19.05.2014 21:43
quelle