29 tips in 40 minitues for glassfish fans #glassfishjp

69
#glassfishjp 50 Tips in 50 Minutes for GlassFish Fans KUBOTA Yuji (@sugarlife) #glassfishjp

Upload: yuji-kubota

Post on 15-Jan-2015

1.383 views

Category:

Technology


2 download

DESCRIPTION

29 Tips in 40 Minitues for GlassFish Fans #glassfishjp GlassFish Users Group Japan 勉強会 Winter 2012 w/大忘年会 http://atnd.org/events/32722

TRANSCRIPT

Page 1: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

50 Tips in 50 Minutes forGlassFish Fans

KUBOTA Yuji (@sugarlife)

#glassfishjp

Page 2: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

50 Tips in 50 Minutes forGlassFish Fans

KUBOTA Yuji (@sugarlife)

#glassfishjp

29 40

Page 3: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

自己紹介

• KUBOTA Yuji (@sugarlife)

• 難聴者

• 通信インフラ系企業

• トラブルシューター / Java EE

• JVM (主にGC) 好き

Page 4: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

50 Tips in 50 Minutes for GlassFish Fans

• JavaOne 2012 Technical Session

• 幅広くTipsを紹介し、新しくGlassFishを使うあなたへ「知らなかったけどこれから使えるな」と感じて帰ってもらう

• このセッションはリファレンス的な役割

• 詳細:http://wikis.oracle.com/display/GlassFish/50+Tips

• 資料:https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=4701

Page 5: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

29 Tips in 40 Minutes for GlassFish Fans

• 29Tips = 50 Tips - いままでに紹介したことあるもの - 使わなさそうな機能(クラスタ/OSGi関連))

• GlassFishは開発用かJavaEEの最新機能のお試しで使うことが多い = GlassFishその物の学習コストはなるべく避けたい = 本Tipsの役立ち所

• GlassFish OpenSource Edition 3.1.2.2 の Multi-Languageで確認。

Page 6: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

管理コンソール関連Tips

Page 7: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#1 Using the login Command

• リモート管理すると毎回 username/passwordを聞かれるが、login commandを使うと格納され、以降はこれを利用して(複数)サーバにアクセスする場合に回避できる。

• $ asadmin --host ouch loginusername / password が尋ねられ、入力すると .asadminpass に格納される。

• $ asadmin --host ouch list-clustersc1 not running

Page 8: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#2 Use Multimode for Batch Processing

• 複数バッチ処理の走らせ方

• $ cat ./batchfile.txtcreate-cluster c1create-local-instance --cluster c1 i1create-local-instance --cluster c1 i2

• $ asadmin --terse(-t) --user admin multimode --file ./batchfile.txt

• 途中で終了させる場合はバッチを落とす(exit/quit/Ctrl-D/Ctrl-Z)

Page 9: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#3 Use Shell Pipelines With Multimode

• シェルスクリプトによる複数処理の走らせ方

• $ for i in {1..10}; do echo "create-local-instance server${i}"; done | asadmin

Page 10: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#4 Using the AS_DEBUG env Variable

• クライアントサイドのデバッグ出力

• コマンドプロセスの詳細を得られる

• http://localhost:4848/__asadmin/uptime

• $ export AS_DEBUG=true$ asadmin uptimeCLASSPATH= ./bin/../glassfish/modules/admin-cli.jarCommands: [uptime]asadmin extension directory: /opt/glassfish-3.1.2.2-ml/glassfish/lib/asadmin :------- RAW RESPONSE ---------PROCESSING MANIFEST...doHttpCommand succeeds上へ29秒コマンドuptimeは正常に実行されました。

Page 11: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#5 The AS_LOGFILE Environment Variable

• 動作中の(multimodeも含む)asadminコマンド履歴をログファイルに保存する

• $ export AS_LOGFILE=/tmp/as.log$ (適当にasadminのコマンドを実行する)$ cat /tmp/as.log12/06/2012 20:07:12 EXIT: 0 asadmin login12/06/2012 20:07:12 EXIT: 0 asadmin uptime12/06/2012 20:07:23 EXIT: 0 asadmin list-clusters12/06/2012 20:07:23 EXIT: 0 asadmin list-clusters12/06/2012 20:07:23 EXIT: 0 asadmin multimode

Page 12: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#8 asadmin Command Help

• asadmin はヘルプが充実している

• $ asadmin list-commands**********ローカル・コマンド**********backup-domainchange-admin-passwordchange-master-password :**********リモート・コマンド**********add-library disable-secure-admin-principaladd-resources enable :

Page 13: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#8 asadmin Command Help

• $ asadmin startコマンドstartが見つかりません。コマンド名の入力を確認してください。このコマンドは、インストールされていないパッケージによって提供される可能性があります。最も一致するローカルおよびリモート・コマンド: restart-domain restart-instance restart-local-instance start-cluster :

Page 14: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#8 asadmin Command Help

• $ asadmin help enable-secure-adminENABLE-SECURE-ADMI(1) ENABLE-SECURE-ADMI(1)名前 enable-secure-admin - セキュリティ保護された管理を有効にし(まだ有効になっていない場合)、オプションで、DASからインスタンスへの管理メッセージに使用する別名、またはインスタンスからDASへの管理メッセージに使用する別名を変更 します。

概要 enable-secure-admin [--help] [--adminalias=alias] [--instancealias=alias]:

Page 15: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#31 - #34 RESTに関するTips

• RESTは蓮沼さんの資料があるのでそちらを!

• http://www.slideshare.net/btnrouge/glassfish-rest

Page 16: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

インストール&セットアップ関連Tips

Page 17: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#35 Using Domain Templates

• カスタマイズしたドメインを作成するときにはテンプレートを利用しよう

• テンプレートは <InstallDir>/glassfish/lib/templates/ にある。$ cd <InstallDir>/glassfish/lib/templates/$ cp domain.xml mydomain.xmlmydomain.xmlを編集してカスタマイズする

• $ asadmin create-domain --template mydomain.xml mynewdomain

Page 18: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#35 Using Domain Templates

• $ asadmin verify-domain-xml mynewdomainテストがすべて成功しました。domain.xmlは有効です。

Page 19: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#37 Backup and Restore Domain

• ドメインのバックアップ/復元

• $ asadmin backup-domain/restore-domain/list-backups

• OSS版はドメイン停止する必要がある。Oracle版はsuspend-domainコマンドで一時停止させる必要がある。

• バックアップの削除は保存しているファイルを消す。(デフォルトはglassfish/domains/domain1/backups)

Page 20: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#37 Backup and Restore Domain

• 自動化は、有償版(Oracle GlassFish Server)に準備されている。

• $ asadmin (create|delete)-backup-config

• $ asadmin (create|delete)-schedule※ cron-based schedule

• OS版は止める必要があるので自動化の恩恵が薄い

Page 21: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

デプロイ関連Tips

Page 22: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#10 Configure Log4J

• Log4Jを全体的に有効にする方法

• $ cp somewhere/log4j.jar glassfish/lib$ cp somewhere/log4j.properties glassfish/domains/domain1/config/

• $ asadmin create-jvm-option -Dlog4j.configuration=file¥¥://${com.sun.aas.instanceRoot}/config/log4j.properties

• $ asadmin restart-domain

Page 23: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#10 Configure Log4J

• アプリごとに有効にする場合

• $ cp somewhere/log4j.jar WEB-INF/classes

• もしくは ejb-beans.jar の直下に配置する

Page 24: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#19 Application Versioning

• アプリケーションのバージョニング。同アプリの複数のバージョンが同時に起動しないように管理する(upgrade/rollback)。

• $ asadmin deploy --name=AppName:RC1 --enable=false myApp.war$ asadmin enable AppName:RC1$ asadmin undeploy AppName:Beta*

• $ asadmin deploy --name AppName:RC1 --retire-timeout=3600 myApp.war

Page 25: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#20 Application Scoped Resources

• JDBCやResource Adapter、JavaMail等のリソースをアプリケーションスコープで定義したい場合は、リソース定義をWEB-INF内のglassfish.resources.xmlに記述する。

Page 26: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#20 Application Scoped Resources

• <?xml version="1.0" encoding="UTF-8"?> <resources> <jdbc-resource enabled="true" jndi-name="jdbc/ myDatasource" object-type="user" pool-name="myConnectionPool"> <description/> </jdbc-resource> </resources>

• $ asadmin redeploy --properties preserveAppScopedResources=true MyApp.ear

Page 27: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#30 Remote Deployment in NetBeans

• リモートサーバを利用した開発方法

• セキュリティの#9で説明したSecure Administrationを有効にする。

• ライブラリとして開発環境にもGlassFishが必要。

• 開発/デプロイ/デバッグは可能。それ以外の機能(Deploy-on-Save)は利用不可能。

• NetBeansの設定方法は、通常のサーバ登録の最後のステップで、リモートドメインを登録を選択するだけ。

Page 28: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

セキュリテリ関連Tips

Page 29: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#9 Secure Administration

• リモート管理権限はデフォルトではオフになっている

• 管理パスワードは以下で変更できる。空パスワードはダメ。

• $ asadmin change-admin-password

Page 30: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#9 Secure Administration

• リモート管理権限、ドメイン内のDASとインスタンスで相互通信の暗号化を有効にするには以下の通り(DASとインスタンスを再起動する必要あり)

• $ asadmin enable-secure-admin

• 豊富な機能があるので是非 asadmin help enable-secure-admin を読みましょう。

Page 31: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#9 Secure Administration

• Secure Administrationを無効にするには

• $ asadmin disable-secure-admin

Page 32: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#11 Using Password Aliases

• パスワードの別名(alias)の定義の仕方。

• DB/JMS/etcで使い分ける時に便利。

• <InstallDir>/glassfish/domains/domain1/config/domain.xml

• <property name="password" value="secret_p@assword"/>

• この方法は当然ながらべた書きになるので(社会的に)死ぬときがある

Page 33: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#11 Using Password Aliases

• domain.xmlに書く以外には…

• $ asadmin create-password-alias DB_password_aliasエイリアス・パスワード を入力してください>エイリアス・パスワード をもう一度入力してください>コマンド create-password-alias は正常に実行されました。

Page 34: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

監視関連Tips

Page 35: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#22 How To Enable Server Monitoring

• 監視には結構いいのを揃えている。(CLI, REST, JMX access, Web Console)。

• 監視レベルは、LOW/HIGH/OFFの三つ。

• デフォルトではオフになっているが、再起動することなくオンにできる。

Page 36: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#22 How To Enable Server Monitoring

• 例:すべての監視データを取得

• $ asadmin get -m "*"$ asadmin get --monitor "*"報告する監視データがありません。

• 例:Web Container on the DAS を監視

• $ asadmin enable-monitoring --modules web-container=HIGH

Page 37: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#22 How To Enable Server Monitoring

• 例:EHB Cointainer on cluster(c1)を監視

• $ asadmin enable-monitoring --target c1 --modules ejb-countainer=LOW

Page 38: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#22 How To Enable Server Monitoring

• モジュール名とそれぞれの監視レベルは以下のコマンドで確認できる

• $ asadmin get server.monitoring-service.*server.monitoring-service.dtrace-enabled=falseserver.monitoring-service.mbean-enabled=trueserver.monitoring-service.monitoring-enabled=true :

• 正直、モジュール名を打つのが面倒なのでGUI(管理コンソール)からやった方が早い。

Page 39: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#22 How To Enable Server Monitoring

Page 40: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#23 How To View Monitoring Data (CLI)

• コマンドラインで監視データを取得する方法

• 監視データは以下によって変更される階層木構造である。

• どのモジュールがロードされているか

• どのモジュールが監視中(monitoring-enabled)になっているか

• デプロイされているアプリケーション

Page 41: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#23 How To View Monitoring Data (CLI)

• 監視データの例

• server.applications |--- application1 | |--- ejb-module-1 | | |--- ejb1 * | | |--- bean-cache (for entity/sfsb)

Page 42: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#23 How To View Monitoring Data (CLI)

• 例:JVMのベンダー確認

• $ asadmin get -m "server.jvm.runtime.vmvendor-current-current"

• server.jvm.runtime.vmvendor-current-current = Oracle Corporation

Page 43: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#23 How To View Monitoring Data (CLI)

• 例:ヒープ使用量

• $ asadmin get -m "server.jvm.memory.usedheapsize*"server.jvm.memory.dotted-name = server.jvm.memoryserver.jvm.memory.usedheapsize-count-count = 95042176server.jvm.memory.usedheapsize-count-description = Amount of used memory in bytesserver.jvm.memory.usedheapsize-count-lastsampletime = 1355317444825server.jvm.memory.usedheapsize-count-name = UsedHeapSizeserver.jvm.memory.usedheapsize-count-starttime = 1355317091175

Page 44: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#23 How To View Monitoring Data (CLI)

• 例:デプロイしているアプリケーションのアクティブセッション数

• $ asadmin get -m "server.applications.mywebapp.server.activesessionscurrent-current"server.applications.mywebapp.server.activesessionscurrent-current = 5

Page 45: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#24 Using the monitor Command

• コマンドによる監視方法

• $ asadmin monitor --interval 5 --type jvm server JVM 監視 UpTime(ミリ秒) ヒープメモリーおよびヒープでないメモリー (バイト) 現在の値 最小 最大 低 高 カウント 1345760 67276800 753860608 0 0 193273856 1350761 67276800 753860608 0 0 193372160

Page 46: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#24 Using the monitor Command

• $ asadmin monitor --interval=5 --type webmodule server asc ast rst st ajlc mjlc tjlc aslc mslc tslc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

• 各凡例の意味はモニター中に h<Enter> を入力すると説明が出る。 * ajlc = アクティブな JSP ページの数 * * asc = 現在アクティブなセッションの数 * :

• 監視できる項目は asadmin help monitor で確認しよう!

Page 47: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#24 Using JMX to Access Monitoring

• JMXを利用して監視する。

• デプロイしてアクセスするとserver.logに以下の様なメッセージが現れる。

• JMXStartupService has started JMXConnector on JMXService URLservice:jmx:rmi://192.168.2.102:8686/jndi/rmi://192.168.2.102:8686/jmxrmi

• このURL(service:を含む)を、jconsoleやjvisualvmのRemote Process等に指定するとリアルタイムで監視することが可能。

Page 48: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#39 Tracing SQL Queries

• 「このSQLを書いたのは誰だあっ!!」を言うためにログをとる。

• JDBC connection poolで実行されたSQL命令を追いかける。JPAの使用は問わない。

• javax.enterprise.resource.sqltrace のlog level は FINE(default)。

• org.glassfish.api.jdbc.SQLTraceListenerを利用して、SQLTraceRecordオブジェクトを記録するように実装できる。

Page 49: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#39 Tracing SQL Queries

• $ asadmin set server.resources.jdbc-connection-pool.DerbyPool.sql-trace-listeners=MyListener

• Query実行時のMethod名などを吐くことができる。 詳細はAPI参照。

Page 50: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#39 Tracing SQL Queries

• M分間隔で上位N位の高頻度で実行されているSQL命令をレポートする。MとNは以下の通りに指定する。

• $ asadmin set server.resources.jdbc-connection-pool.<POOL_NAME>.property.time-to-keep-queries-in-minutes=10

• $ asadmin set server.resources.jdbc-connection-pool.<POOL_NAME>.property.number-of-top-queries-to-report=15

Page 51: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#40 Detecting JDBC statement and connections leaks and reclaim

• JDBC statementのタイムアウトとclose漏れ(connection leakage)を検出する

• $ asadmin set server.resources.jdbc-connection-pool.DerbyPool.xxx=VALUE

• xxx=VALUE :

• connection-leak-timeout-in-seconds="10"

• statement-timeout-in-seconds="6"

• statement-leak-timeout-in-seconds="2"

• connection-leak-reclaim=“true”

• statement-leak-reclaim=“true”

Page 52: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#40 Detecting JDBC statement and connections leaks and reclaim

• 設定後、サーバ再起動が必要。close漏れの可能性がある場合、デプロイ時に以下のようなメッセージが出る

• WARNING: A potential statement leak detected for connection pool DerbyPool. The stack trace of the thread is provided below :  com.sun.gjc.spi.base.StatementWrapper.(StatementWrapper.java:81)  :  com.mypackage.MyTestBean.execute(TestBean.java:00)

Page 53: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

更新(Update)関連Tips

Page 54: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#41 Using Update Center to Keep Current

• Update Centerを使ってネットワークリポジトリから更新する

• <InstallDir>/bin/pkg

• $ pkg list -u で更新保留中のパッケージが解る

• $ pkg image-update でGlassFishをアップデートできる

• > You are running on a 64 bit Linux distribution and the 32 bit Linux compatibility libraries do not appear to be installed.

• oh...

Page 55: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#41 Using Update Center to Keep Current

• pkg のコアな使い方は以下を参照!

• http://www.coppermine.jp/docs/programming/2012/12/glassfish-internals.html

• @btnrougeさんのサイト

• Web Profiler, Full Profiler以外の俺俺Profilerも作れる

Page 56: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#42 Update Center GUI Simplifies Updates

• シンプルなGUIでUpdate Centerを使える。

• <InstallDir>/bin/updatetool

• もしくは、notifierがGlassFishインストール時にインストールされる。

Page 57: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#46 Upgrading to a Newer Version

• GlassFishのバージョンの更新方法

• 二通りある

• Side-by-side:

• <InstallDir>/glassfish/bin/asupgrade --c

• Web管理コンソール

• In-place:

• <InstallDir>/bin/pkg image-update

• <InstallDir>/bin/updatetool

Page 58: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#47 Upgrade from Open Source to Commercial

• 有料版へ移行する方法

• OS版のリポジトリを削除する

• $ pkg unset-publisher dev.glassfish.org stable.glassfish.orag release.javaeesdk.oracle.com

• 有料版のリポジトリを追加する

• $ pkg set-publisher -P -O http://pkg.oracle.com/glassfish/v3/release release.glassfish.oracle.com

• $ pkg set-publisher -O http://pkg.oracle.com/glassfish/v3/dev dev.glassfish.oracle.com

Page 59: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#47 Upgrade from Open Source to Commercial

• アドオンをインストールする

• $ pkg install glassfish-enterprise-(web|full)-profiler

Page 60: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#48 Extending and Updating Inside a Closed Network

• 閉域網での更新方法

• pre-installed toolkit imageとstarter repositoryをインストールする。

• support.oracle.comからリポジトリをDownloadする(zipファイル)

• ローカルリポジトリデーモンを起動する

• $ pkg.depotd -d <Directory> -p <Port>

• ローカルリポジトリを設定する

• $ pkg -R <GlassFish> set-publisher -Pe -O http://<mylocalhost>:<port> <publisher>

Page 61: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

JVM関連Tips

Page 62: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#29 What’s in your JVM ? - Troubleshoot

• トラブルシュートに役立つあれこれ

• Server thread dumpの取り方

• $ asadmin generate-jvm-report --type=thread|class|memory|summary(default)|log

• 日本語で出てくるのでthreadがおすすめ。

• JVM Command Line Tools

• jps / jstack / jstat / jinfo / jmap / jhat

• GlassFish関係なかった。

Page 63: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#44 Controlling the Server's JVM

• 起動時、どのようにJVMを選択?1. domain.xmlの<java-config>に記載されたjava-home

2. AS_JAVA(glassfish/config/asenv.conf)

3. JAVA_HOME (環境変数)

4. java.home (asadminを実行しているJVMのシステムプロパティ)

Page 64: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#45 Controlling the JVM Options

• JVM Optionの設定方法

• domain.xmlの<java-config>は複数箇所で記述されている(default-config, server-config, cluster1-config)ので猥雑。CLIから設定しよう。

• $ asadmin (list|create|delete)-jvm-options --target <server,cluser-name,instance-name> <JVM Option>

• サーバーの再起動の必要はない。

Page 65: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

その他のTips

Page 66: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#36 GlassFish Hosting Providers

• #ステマ

Page 67: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

#49 GlassFish Docs

• http://docs.oracle.com/cd/E26576_01/index.htm

• http://dlc.sun.com.edgesuite.net/glassfish/3.1.2/release/glassfish-ose-3.1.2-docs-pdf.zip

• 日本語の公式サイト(http://glassfish.java.net/ja/)は古いから気を付けよう!

• いまだに2.1.1がトップにある。(そして現役。)

Page 69: 29 Tips in 40 Minitues for GlassFish Fans #glassfishjp

#glassfishjp

Finish!

• Thank You for Listing!