0

Advanced Installer を使用して、Jboss 7 サーバー、Postgres データベース、および test.bat を demo.exe ファイルにグループ化しました。ファイル、つまりdemo.exeファイルをクライアント側でダブルクリックすると、test.batファイルが実行され、事前定義された場所にJBossとpostgresがデプロイされ、サービスが開始され、アプリケーションがポート番号8080で実行されます。すべてのスクリプトが書き込まれましたtest.bat ファイル。この demo.exe ファイルは、異なるユーザーが使用する必要があります。8080 は、クライアント側の別のアプリケーションによって使用または関与される可能性があります。

では、ポートの使用状況に応じてクライアント側で jboss のポート番号を動的に変更するにはどうすればよいですか? Jboss インストーラーを使用するか、バッチ ファイル (つまり test.bat) に scipt を書き込む必要がありますか? 物事や正しいアプローチをクリックすることができません:(

どんな助けも高く評価され、感謝されます。

4

1 に答える 1

4

を使用してこれを行うことができますCLI。この例では、ポートを 8081 から 8080 に変更します。

CLI を開始します (で.../bin/):

$ ./jboss-cli.sh   
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.  

接続

[disconnected /] connect     

対象エリアに変更

[standalone@localhost:9999 /] cd /socket-binding-group=standard-sockets/socket-binding=http     

現在の状態を表示します。

[standalone@localhost:9999 socket-binding=http] ls -l  
ATTRIBUTE         VALUE     TYPE      
bound             true      BOOLEAN   
bound-address     127.0.0.1 STRING    
bound-port        8081      INT       
client-mappings   undefined LIST      
fixed-port        false     BOOLEAN   
interface         undefined STRING    
multicast-address undefined STRING    
multicast-port    undefined INT       
name              http      STRING    
port              8081      INT   

ポート属性を変更します。

[standalone@localhost:9999 socket-binding=http] :write-attribute(name="port", value="8080")  
{  
    "outcome" => "success",  
    "response-headers" => {  
        "operation-requires-reload" => true,  
        "process-state" => "reload-required"  
    }  
}  

プロセス状態が「reload-required」であることに注意してください

もう一度見てください:

[standalone@localhost:9999 socket-binding=http] ls -l                                        
ATTRIBUTE         VALUE     TYPE      
bound             true      BOOLEAN   
bound-address     127.0.0.1 STRING    
bound-port        8081      INT       
client-mappings   undefined LIST      
fixed-port        false     BOOLEAN   
interface         undefined STRING    
multicast-address undefined STRING    
multicast-port    undefined INT       
name              http      STRING    
port              8080      INT       

ここbound-portでも は古い値のままであることに注意してください。

ルートディレクトリに戻ります

[standalone@localhost:9999 subsystem=web] cd /  

リロード

[standalone@localhost:9999 /] :reload  
{  
    "outcome" => "success",  
    "response-headers" => {"process-state" => "reload-required"}  
}  

これは、リロードがまだ進行中であることを意味します。

[standalone@localhost:9999 /] :reload  
{"outcome" => "success"}  

これで、HTTP コネクタは新しいポートでリッスンするはずです。

アップデート

質問は、ポートを動的に変更することを求めています(JBoss は稼働中です)。もう 1 つのオプションは、ポートを構成ファイルに書き込むことです ( standalone.xml)。これは静的ですが、インストール目的と同様に機能する可能性があります。

于 2013-08-28T07:43:34.490 に答える