中山テック 代表の中山です。
久しぶりのWildFlyネタになります(汗
管理コンソールの使い方を前編で終わらせたくなかったのですが、なかなか触れる時間もなく。。。
使い方忘れそうではありますが、今回は「JBoss管理クライアント(jboss-cli)」という管理画面を通さないやり方をご紹介します。
※WildFlyやJBossがインストール済みであることを前提とします
管理コンソールとは
コンソールで設定することのできる機能です。
コマンドを色々覚えないといけませんが、こちらの方が直接サーバに命令を出せます。
画面の場合はWEBサーバ→通信して命令を出さなければならず、管理コンソールの方が確実なイメージです。
是非管理コンソール経由で登録できるようにしてください。
操作
ログインしたら「connect」と打ちましょう。
WildFlyが立ち上がっていない場合は接続に失敗しますので、必ず立ち上げてから実行しましょう。
構文
WildFlyは管理コンソールTOP右下「Tools」->「Management Model」をクリックするとわかりやすいです。
各階層に対して設定値をコマンド実行していきます。
上記であれば「/subsystem=logging/console-handler=CONSOLE/」という階層なのがわかります。
もしEncodingの設定を見たい場合は下記のように命令してあげます
/subsystem=logging/console-handler=CONSOLE:read-resource
ね、簡単でしょう?
しかし、現在はログエンコーディングが設定されていません。
パラメータを設定する
では実際にエンコーディングの値を設定します。
下記の命令を入れることでUTF-8に設定することができました!
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=encoding,value=UTF-8)
これは「コンソールログの文字エンコーディングをUTF-8にしてくれ!」という命令です。
※慣れてない人は非常に難しいと思いますが、慣れるとこちらの方が便利だったりします
addでも行けたとは思いますが、上記が簡単に出来るのでwrite-attributeでやりました。
上記のように「 read-resource 」で階層を確かめながら設定していくといいでしょう。
リファレンス
ここからは面倒な設定がどのような命令で出来るかのリファレンスをご紹介します。
ただし、これらは全てdomainモードのため、standaloneモードの場合は適宜読み替えてください。
※代表の備忘の意味もあります
エンコーディング
ログファイルのエンコーディングを何にするか指定するコマンドです。
◆エンコード確認
/profile=[プロフィール名]/subsystem=logging/console-handler=CONSOLE:read-attribute(name=encoding)
※read-resourceにしてもOK
また、domainモードの場合、「profile="プロフィール名"」が必要になる場合があります。
環境に合わせた設定をしてみてください。
◆エンコード設定
/profile=[プロフィール名]/subsystem=logging/console-handler=CONSOLE:write-attribute(name=encoding,value=[文字コード])
◆ログローテート確認
/profile=[プロフィール名]/subsystem=logging/periodic-rotating-file-handler=FILE:read-attribute(name=encoding)"
◆ログローテート設定
/profile=[プロフィール名]/subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=encoding,value=[文字コード])
◆ファイルエンコーディング確認
WEBページのエンコードになります。
ブラウザとのエンコードが失敗すると文字化けが発生します。
/host=[host名]/server-config=[サーバ名]/system-property=file.encoding
◆ファイルエンコーディング設定
/host=[host名]/server-config=[サーバ名]/system-property=file.encoding:write-attribute(value=UTF-8)
データベース
JDBC、データソースの設定方法を置いときます。
◆JDBC確認
ls -l /profile=[プロフィール名]/subsystem=datasources/jdbc-driver
◆JDBC削除
/profile=[プロフィール名]/subsystem=datasources/jdbc-driver=\"[jdbc名]\":remove
◆JDBCセット
/profile=[プロフィール名]/subsystem=datasources/jdbc-driver=\"[jdbc名]\":add(driver-name=[ドライバ名],driver-module-name=[ドライバモジュール名],driver-class-name=[ドライバクラス名]
◆データソース確認
ls -l /profile=[プロフィール名]/subsystem=datasources/jdbc-driver
◆データソース削除
/profile=[プロフィール名]/subsystem=datasources/data-source=\"[データソース名]\":remove
◆データソース追加
/profile=[プロフィール名]/subsystem=datasources/data-source=\"[データソース名]\":add(jndi-name=[jndi名],driver-name=[ドライバ名],connection-url=\"[URL]\",user-name=[ユーザ名],password=[パスワード]
◆接続テスト
/host=[host名]/server=[サーバ名]/subsystem=datasources/data-source=\"[データソース名]\":test-connection-in-pool
再起動
各種設定すると再起動が必要な場合があります。
「サーバ名」と書いてあるコマンドは再起動が必要です(更新・削除系)。
/host=[host名]/server-config=[サーバ名]:restart
管理クライアントを起動しなくてもいい
UNIX系OS(Linux等)の場合は、管理コンソールを立ち上げることが出来ません(batファイルが実行できない)。
代わりに「jboss-cli.sh」というファイルを使い、引数にコマンドを指定してあげます。
jboss-cli.sh -c --command="/subsystem=logging/console-handler=CONSOLE:read-resource"
ねっ、簡単でしょう?
まとめ
いかがでしたでしょうか。
JBOSSは管理画面だけでなく、管理クライアントもあります(ほぼLinux用みたいなもんかも)。
上記で説明したコマンド以外にも膨大に用意されていますので、よろしければこちらをご覧ください。
サイトを確認しつつ、コマンドを一通り理解してから本当のJBoss生活が始まった・・・(某ゼミ風)
とは言え、すべて覚えるのは大変なので業務で使用する箇所は忘れないよう、覚えておきましょう。