一つのマシンが複数のJBossを実行する例


私達はよくこのような状況に遭遇します.時には同じマシンにいくつかのJBossのインスタンスを展開したいです.上記のように異なるアプリケーションを実行します.このようにすれば、どのような理由であるかに関わらず、あるJBossのインスタンスをクローズしたり、再起動したりする必要があります.JBoss起動時にデフォルトでリリースされた異なるサービスはいくつかのポートを開放する必要があることを知っています.JBoss 2セットを簡単にコピーしたり、JBoss 1つの中で複数の構成を起動したりすると、複数のJBossインスタンスを同時に起動するとポート衝突によってJBossが起動できなくなります.このような状況に遭遇したら、みんなが一番考えやすい解決方法はポートが衝突したら、ポートを修正してもいいです.JBossはTomcatのように、Tomcatは二つか三つのポートを修正すればいいです.JBossがデフォルトで発表したサービスポートはhttpプロトコルの8080、AJPプロトコルの8009、JNPサービスの1099、RMI命名サービスの1098、RMI/JRMP invokerの4444ポートなどは同じファイルに配置されていません.server.xmlには、設定下のjboss-service.xmlファイルの中には、手で手で修正すると煩雑であり、特に間違いやすい例が多いです.しかし、幸運なことに、JBossはもう一つの簡単な方法を提供しました.Binding Managerサービスは、煩雑なポート配置を必要とせずに複数のインスタンスの運行ポートが衝突しないように実現できます.詳細な手順は以下の通りです.JBoss 4.2.3 GAを例にとって、serverの下に二つの異なる配置があると仮定して、node 1、node 2(名前は関係なく、default 1、default 1、default 1、default 1、default 1、default 1、defaultHOME%はJBossインストールディレクトリを表します.キーファイルは%JBOSS_です.HOME%\docs\examples\binding-manager\sample-bindings.xmlは、デフォルトでは4つの異なるポート構成(port-default、port-01、port-02、port-03)を定義しています.1、node 2の構成は以下の通りnode 2/conf/jboss-service.xmlファイルを修正し、Service Binding(デフォルトのコメントは以下の通りです.)
<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>
 
ここでnode 2を構成するのは、port-01ポート構成を使用しています.2、node 1の構成は、以下のnode 1のデフォルト設定ではなく、正常に起動すればいいです.この場合はJBossが提供するデフォルトポート8080、8009などを使用しています.第一歩の構成を参照してもいいです.「ServerName」はnode 1と違っていればいいです.例えば、ports-02のように、sample-bindings.xmlで定義されている4グループのポート範囲内だけです.3、起動例
run.bat -c node1 -b 192.168.10.100
run.bat -c node2 -b 192.168.10.100
 
4、アクセスアドレスnode 1アクセスアドレス:http://192.168.10.100:8080(デフォルトでは構成されていない場合)またはhttp://192.168.10.100:8280(port-02を使用している場合)node 2アクセスアドレス:http://192.168.10.100:8180(port-01を使用している場合)みなさんはポートの法則に気づいているかもしれませんが、デフォルトでは8080です.他の例のポートは順次8080をベースに100を大きくして、対応関係は以下の通りです.
port-default     8080
port-01          8180
port-02          8280
port-03          8380
 
もちろん、他のポートも、AJPプロトコルポート8009のように、それぞれ8109、8209、8309、8409となっており、他はこれに類する.5、注意事項1)上記の構成は、各インスタンスのserver.xmlにおけるHTTPプロトコルのポート構成がデフォルトの8080であり、このポートが修正された場合、sample-bindings.xmlにおけるデフォルト8080ポートがserver.xmlにおけるHTTPプロトコルポートであることを前提としている.2)上記の方法は同じマシンの上に複数のJBossを配置する場合にも適用され、同じJBossの下の複数の構成ではない.3)一般的にデフォルトの4つのポートは十分に使用できます.まだ足りないなら、自分で他のポートグループを追加してもいいです.4)可能であれば、使用しない例を異なるIPアドレスに結びつけることを推奨する.PS.同じマシンの多JBoss例常用シーン:1)32ビットJVM制限は2 G以上のメモリを使用できません.2)JBossの実例を使わずに、用途別に使用します.開発環境、テスト環境など.3)同じマシンに異なるバージョンのJBossを配置したいです.4)同じマシンに異なるJVMベースのJBossを配置したい(JVMに対して異なるアプリケーションが要求される場合).など