この記事は JPOUG Advent Calendar 2015の22日目のエントリです。昨日はYousuke Yadaさんのエントリでした。
その前に、11gまでは、SOA/BPMの開発では素のJDevelooerをインストールし、Upper Stackに必要なExtensionをインポートする構成でしたが、12c以後では、SOA用のJDeveloper、BPM用のJDeveloperがそれぞれQuick Start Installerとして用意されたものを使うように変わっています。
BPMのQuick Start Installerに含まれるJDeveloperを使うと、SOAの開発も可能です。包含関係は以下のような感じです。なお、SOA Quick Startを使うと、OEP、OSBの開発もできます(逆に11gまではOracle Enterprise Pack Eclipseを使って両者の開発をしていましたが、12cからはできなくなっています)。
[場所]
AddVMOption -Xms、-Xmx部分を変更。以下は例。
[場所]
AddVMOptionHotspot部分を変更。以下は例。
これは12cR2でも同様ですので、保存後動作が固まる(ようにみえる)のを避けるには、プリファレンス>コード・エディタ>保存アクションで、設定を削除する必要があります。
ドキュメントにあるように、環境変数JDEV_USER_DIRを作成し、<JDEV_HOME>/jdeveloper/jdev/bin/jdev.bootに
例えば、こんな感じです(以下はWindowsの例)
そして、ここでお目当てのクラスをクリックすると、このクラスが持つメンバを確認することができます。
[場所]
任意の待機イベントを擬似的に発生させる方法今回は、備忘録的なものですが、Upper StackであるSOA Suite、BPM Suiteの開発をする上で設定しておいたほうがいいJDeveloperの設定をご紹介します。
http://blog.livedoor.jp/y_db_y/archives/46343044.html
その前に、11gまでは、SOA/BPMの開発では素のJDevelooerをインストールし、Upper Stackに必要なExtensionをインポートする構成でしたが、12c以後では、SOA用のJDeveloper、BPM用のJDeveloperがそれぞれQuick Start Installerとして用意されたものを使うように変わっています。
BPMのQuick Start Installerに含まれるJDeveloperを使うと、SOAの開発も可能です。包含関係は以下のような感じです。なお、SOA Quick Startを使うと、OEP、OSBの開発もできます(逆に11gまではOracle Enterprise Pack Eclipseを使って両者の開発をしていましたが、12cからはできなくなっています)。
JDeveloperで利用するヒープサイズを変更する
デフォルトでは最小128MB、最大640MBですが、もっとメモリを割り当てたい、という場合には以下のように設定します。[場所]
<JDEV_HOME>/jdeveloper/ide/bin/ide.conf[設定]
AddVMOption -Xms、-Xmx部分を変更。以下は例。
AddVMOption -Xms128M
AddVMOption -Xmx2048M
JDeveloperで利用するPermanent領域のサイズを変更する(JDK 7まで)
ADF、JSFでUIを作成しているときに、「メモリが不足しています…」という忌まわしいメッセージが出ることがあります。これはADFやJSFでの開発をする方はご存知かもしれませんが、JDeveloperでページのイメージを生成する際にPermanent領域を使っているからです。Permanent領域を増やすには、以下の設定を施します。BPMのヒューマンタスク用フォームを作成する場合、2GBほどを割り当ててください。[場所]
<JDEV_HOME>/jdeveloper/jdev/bin/jdev.conf[設定]
AddVMOptionHotspot部分を変更。以下は例。
AddVMOptionHotspot -XX:MaxPermSize=2048M
保存時にプロジェクトを生成しないようにする
12cR1以後、「プロジェクトを保存後に作成」という保存アクションがデフォルトで有効になっています。これは12cR2でも同様ですので、保存後動作が固まる(ようにみえる)のを避けるには、プリファレンス>コード・エディタ>保存アクションで、設定を削除する必要があります。
JDeveloperのユーザーディレクトリを変更する
JDeveloperは、デフォルトで%APPDATA%\JDeveloper (Windows)をユーザーディレクトリとして利用しますが、複数のバージョンが混在する場合であれば、ユーザーディレクトリをわける必要があります。
$HOME/.jdeveloper (Linux, Mac OS X)
ドキュメントにあるように、環境変数JDEV_USER_DIRを作成し、<JDEV_HOME>/jdeveloper/jdev/bin/jdev.bootに
ide.user.dir.var = JDEV_USER_HOME,JDEV_USER_DIRと指定します。複数の環境があるならば、この環境変数をShellもしくはcmd/batファイルで定義し、そのファイルからJDeveloperを起動する、ようにしておくと、異なるバージョン、リリースのJDeveloperが相互干渉せずにそれぞれ別のユーザーディレクトリを使うことができます。
例えば、こんな感じです(以下はWindowsの例)
@echo off
set PATH=C:\Oracle\MW\soa1213\soa\plugins\jdeveloper\integration\adapters\lib;%PATH%;
set JDEV_USER_DIR=C:\JDeveloper\soa1213
C:\oracle\MW\soa1213\jdeveloper\jdeveloper.exe
Javaクラスをさくっと発見したい
Upper Stackとはいえ、APIを使ったカスタム開発が必要になることがあります。例えばOSBのJava Calloutで呼び出したいクラスを作成したいんだけど、あのクラスはどのパッケージに存在するんだったかな、という場合です。ほとんどの場合、IDEがよろしくやってくれますが、[ctrl]と[-]を押すと、検索窓が出ます。例えば、以下ではMapMessageと入れてみました。javax.jmsに含まれるクラスだということがわかります。そして、ここでお目当てのクラスをクリックすると、このクラスが持つメンバを確認することができます。
JDeveloperのロケールを英語に強制する
JDeveloperは、日本語、英語のみ対応していますが、JDeveloperで発生した例外再現手順をサポートチームへ伝える場合、英語版で説明したほうが解決が速い場合があります。英語環境にするには、以下のように設定します。[場所]
<JDEV_HOME>/jdeveloper/jdev/bin/jdev.conf[設定]
色々JDeveloperには隠れた機能がありますので、ご興味のある方はぜひ探してみてください。明日はTakahiro Kitayamaさんです。よい休日をお過ごしください。AddVMOption -Duser.language=en
AddVMOption -Duser.country=US