nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

JBoss AS7 はじめの一歩

自分がやっているセットアップを淡々と記録していきます。webプロファイル版じゃなく全部入り版を使ってます。

まずは展開してデフォルト状態をバックアップ。バックアップにはgitとか使ってもいいかもしれないけど、とりあえずベタに行きます。

mkdir -p ~/usr/local
cd ~/usr/local
unzip ~/Downloads/jboss-as-7.0.0.Final.zip
ln -s ~/usr/local/jboss-as-7.0.0.Final ~/jboss7
cd ~/jboss7
cp -a bin .bin
cp -a standalone .standalone
cp -a domain .domain

基本的に利用するものは"standalone"と付いているほうです。"domain"と名前が付いているモノは複数JBoss ASサーバを扱う仕組みであり、通常使うものじゃないので放置してても良いです。

次にbin/standalone.confのJAVA_OPTSを編集。

   JAVA_OPTS="-Xmn128m -Xms512m -Xmx512m -XX:MaxPermSize=256m -Xss512k"
   JAVA_OPTS="$JAVA_OPTS -Xverify:none -XX:+TieredCompilation -XX:+UseFastAccessorMethods -XX:+UseConcMarkSweepGC -XX:+UseCompressedOops"
#   JAVA_OPTS="$JAVA_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError"
   JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.byteman"

メモリ関係の設定、X系オプション、GCログなどのメモリトラブルシュート用設定、などを行を分けて書いた方が見やすいし扱いやすいと思うのでそうしています。

起動してみます。

~/jboss7/bin/standalone.sh

http://localhost:8080/ でトップページが参照でき、ページ上のリンクからドキュメントや管理GUIアプリケーションなどにも遷移できます。

停止は起動したコンソールでCtrl+c。管理CLIを使うなら以下。

~/jboss7/bin/jboss-admin.sh -c --command=":shutdown"

デプロイ。ここではJDBCドライバをデプロイしていますが、もちろんwarやearも同じようにできます。

cp /usr/share/java/postgresql-jdbc.jar ~/jboss7/standalone/deployments/

アンデプロイ。

rm ~/jboss7/standalone/deployments/postgresql-jdbc.jar

管理CLIでデプロイとアンデプロイ。

~/jboss7/bin/jboss-admin.sh -c --command="deploy /usr/share/java/postgresql-jdbc.jar"
~/jboss7/bin/jboss-admin.sh -c --command="undeploy postgresql-jdbc.jar"

管理CLIでデータソース作成と消去。

~/jboss7/bin/jboss-admin.sh -c --command="add-data-source --jndi-name=H2DS --driver-name=h2 --pool-name=H2DS_pool --connection-url=jdbc:h2:mem:h2ds --username=sa --password=sa"
~/jboss7/bin/jboss-admin.sh -c --command="remove-data-source --name=H2DS