[misc] Upper Stackを使う際に役立つかもしれないJDeveloperの設定やTips

この記事は JPOUG Advent Calendar 2015 の22日目のエントリです。昨日はYousuke Yadaさんのエントリでした。
任意の待機イベントを擬似的に発生させる方法
http://blog.livedoor.jp/y_db_y/archives/46343044.html
今回は、備忘録的なものですが、Upper StackであるSOA Suite、BPM Suiteの開発をする上で設定しておいたほうがいいJDeveloperの設定をご紹介します。
その前に、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までは両者の開発はJDeveloperではなく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
[設定]
AddVMOption -Duser.language=en
AddVMOption -Duser.country=US
色々JDeveloperには隠れた機能がありますので、ご興味のある方はぜひ探してみてください。明日はTakahiro Kitayamaさんです。よい休日をお過ごしください。

0 件のコメント:

コメントを投稿