[Hardware] Sun Blade X6270 M2 with Oracle WebLogic World Record 2 Processor SPECjEnterprise 2010 Benchmark

Oracleは2個のCPUを載せたアプリケーションサーバー1台で、5427.42 SPECjEnterprise2010 EjOPSという、SPECjEnterprise2010 ベンチマークの世界記録を出しました。アプリケーション層にOracle Sun Blade X6270 M2 サーバーモジュール1台、データベースにもう一台のOracle Sun Blade X6270 M2サーバーモジュールという構成でした。
  • Sun Blade X6270 M2サーバーモジュールは2個のIntel Xeon X5690プロセッサ(3.46GHz)を搭載し、同じIntel Xeon X5690プロセッサを2個載せたIBM System HS22サーバーの3,694.35 SPECjEnterprise2010 EjOPSよりも、47%高性能であることがわかりました。
  • アプリケーション層のSun Blade X6270 M2サーバーモジュールは、CPUを2個載せたIBM Power 730 Expressサーバの4,062.38 SPECjEnterprise2010 EjOPSよりも、33%高性能であることがわかりました。
  • Sun Blade X6270 M2サーバーモジュールはOracle WebLogic Server 11g Release 1 (10.3.5) 、Java SE 6 Update 26、Oracle Database 11gR2の構成でこの結果を出しました。
ベンチマーク結果
完全なベンチマークの結果はStandard Performance Evaluation Corporation (SPEC)のWebサイトにあります。

All Published SPECjEnterprise2010 Results
http://www.spec.org/jEnterprise2010/results/jEnterprise2010.html

SPECjEnterprise2010 Performance Chart(2011/8/11現在)
Submitter EjOPS* Application Server Database Server
Oracle 5,427.42 1x Sun Blade X6270 M2
2x 3.46 GHz Intel Xeon X5690
Oracle WebLogic 11g (10.3.5)
1x Sun Blade X6270 M2
2x 3.46 GHz Intel Xeon X5690
Oracle 11g DB 11.2.0.2
IBM 4,062.38 1x IBM Power 730 Express
2x 3.5 GHz POWER 7
WebSphere Application Server V7
1x IBM BladeCenter PS701
1x 3.0 GHz POWER 7
IBM DB2 9.7 Workgroup Server Edition FP3a
IBM 3,694.35 1x IBM HS22
2x 3.46 GHz Intel Xeon X5690
WebSphere Application Server V8
1x IBM x3850 X5
2x 2.4 GHz Intel Xeon E7-4870
IBM DB2 9.7 FP3a
* SPECjEnterprise2010 EjOPSは大きな値ほどよい結果です。

構成のサマリ
アプリケーションサーバ:
1 x Sun Blade X6270 M2
2 x 3.46 GHz Intel Xeon X5690
48 GB memory
4 x 10 GbE NIC
Oracle Linux 5 Update 6
Oracle WebLogic Server 11g Release 1 (10.3.5)
Java HotSpot(TM) 64-Bit Server VM on Linux, version 1.6.0_26 (Java SE 6 Update 26)
データベースサーバ:
1 x Sun Blade X6270 M2
2 x 3.46 GHz Intel Xeon X5690
144 GB memory 2 x 10 GbE NIC
2 x Sun Storage 6180
Oracle Linux 5 Update 6
Oracle Database 11g Enterprise Edition Release 11.2.0.2
ベンチマークについて
SPECjEnterprise2010 はSPECによるJ2EE業界標準ベンチマークの第3世代にあたります。SPECjEnterprise2010 ベンチマークは、大幅に拡大され、かつ簡素化されたJava EE 5.0仕様のプログラミングモデルを網羅するために設計・開発されました。今日の開発者が使用する主要な機能にフォーカスしています。これは、アプリケーションサーバのJava EE仕様の実装に最大限まで負荷をかけることで、基盤となるハードウェアおよびソフトウェアの最大の負荷をかけるというものです。
このシステムは、End-to-EndのWebベース受注処理ドメイン、RMIおよびWebサービス駆動の製造ドメイン、ドキュメントベースのWebサービスを利用したサプライチェーンモデルからなります。アプリケーションはJavaクラス、Javaサーブレット、Java Server Pages、Enterprise Java Beans、Java Persistence Entities (POJO)、Message Driven Beanからなります。
SPECjEnterprise2010ベンチマークはアプリケーション環境を構成する基盤の全て(ハードウェア、JVM、データベース、JDBCドライバ、システムネットワークなどを含む)に強い負荷をかけます。 
SPECjEnterprise2010 ベンチマークの主要なメトリックが、jEnterprise Operations Per Second ("SPECjEnterprise2010 EjOPS")で、ディーラードメインの販売店管理アプリケーションと、製造ドメインの生産管理アプリケーションのメトリックを加えて算出します。このベンチマークでは、価格性能比は指標になっていません。

キーポイントとベストプラクティス
その他
開示説明書
SPEC およびそのベンチマーク名であるSPECjEnterpriseはthe Standard Performance Evaluation Corporationの登録商標です。
Sun Blade X6270 M2, 5,427.42 SPECjEnterprise2010 EjOPS;
IBM Power 730 Express, 4,062.38 SPECjEnterprise2010 EjOPS;
IBM System HS22, 3,694.35 SPECjEnterprise2010 EjOPS.
これらの結果はwww.spec.orgからご覧頂けます(2011年8月11日現在)


原文はこちら。
http://blogs.oracle.com/BestPerf/entry/20110812_x6270m2_specjenterprise2010

[VirtualBox] Oracle VM VirtualBox 4.1.2 Released!

Oracle VM VirtualBox 4.1.2が本日からダウンロードできます。
本リリースでは、AMD Fusion CPUにおける問題を含む、数多くの不具合を修正しました。また、4.1.0では出来なかったLinked CloneがVirtualBox ManagerからGUIで出来るようになりました。
ダウンロードはこちらからどうぞ。
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

変更履歴はこちら。
http://www.virtualbox.org/wiki/Changelog

原文はこちら。
http://blogs.oracle.com/virtualization/entry/oracle_vm_virtualbox_4_11

[Java] Java 7 Questions & Answers

(8/18更新)コメントされる場合には連絡がつくメールアドレスをお使い下さい。一部の質問は一般的な質問でないものがあり、そういう質問に対してこの場で回答致しかねますが、質問者に対して直接回答する場合があります。

このエントリには、Java 7に関連するFAQを掲載しています。7月28日のリリース時から事前にいくつかの質問に対する回答をしてきました。追加の質問がありましたら、気兼ねなくこのエントリのコメント欄に質問をお寄せ下さい(訳注:質問は原文にお願いします)。全てのコメントに返信することは難しいのですが、その代わりにこのエントリに更新を追加していく予定です。まずは一般的な質問を以下にまとめました。

質問回答
Java 7はどこからダウンロードできますか?java.oracle.comの、JDK 7のページからダウンロードして下さい。
Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Java 7のJRockitはいつごろリリースされますか?リリースされない予定です。昨年説明したように、現在JRockitとHotSpotを単一のJVMにマージしています。JDK 7には、この統合されたJVMの最初のリリースが含まれています。この段階で、PermGenの考え方をなくす最初の一歩です。将来のJDK 7のアップデートで、PermGenが無くなり、JRockitからもっと機能が移植されるはずです。
(8/18追加)Java 7で作成したアプリケーションをテストしてもらったところ、Unsupported major:minor version 51.0 というエラーが出ました。エラーの意味と、対策を教えて下さい。Java 7のjavacでアプリケーションをコンパイルすると、クラスファイルにはバージョン番号として51.0が付加されます。Java 7以前ではこの番号を理解できませんので、アプリケーションの実行までに、ユーザーにJava 7へアップグレードしてもらう必要があります。もしJava 7 APIを使っていないアプリケーションならば、javac -target 1.6 としてコンパイルすると、JDK 6互換のクラスファイルを作成できます。
WebStartを使ってアプリケーションを展開する場合には、必要なマイナーバージョンを指定できます。詳細情報はJava Web StartとJNLPに関するドキュメントをご覧下さい(こちらからどうぞ)。現在Java 6をデスクトップ上で使っているエンドユーザーに対し、自動更新でJava 7にアップデートした時点で、この問題は無くなるはずです。自動更新を始めるタイミングは未定です。まずは皆さんのコードとJDK 7の間にある問題を解決する時間を確保したいというのが我々の思いです。
(8/17追加)統合されたJVMは、JRockitが可能な、Windows上でより多くにヒープを割り当てることができる機能を持つようになるのでしょうか?あなたが仰有っている機能とはこういうことだと思います。この機能をHotSpotに追加するのは、JVMのアーキテクチャの問題で非常に複雑であることがわかっています。現在の統合計画ではこの機能を含める予定はありません。その代わりに64bit JVMの利用を推奨します。これならWindowsの制限にぶち当たることはありません。
ソースコードはどこから入手できますか?Java SE 7参照実装のソースコードはOpenJDKコミュニティJDK 7プロジェクトから入手できます。
(8/17追加)Oracle JDKをビルドするために使っているコードと、Open JDKリポジトリにあるソースコードにどれほどの差がありますか?ほとんど差はありません。Oracle JDKのビルドプロセスは、OpenJDK 7のビルドにいくつかのコンポーネントを追加してリリースしています。追加しているものは、例えばOracleのJava PlugInやJava WebStart、グラフィックラスタライザーのようなクローズドソースの3rdパーティーコンポーネント、Rhinoのような3rdパーティーのオープンソースコンポーネントなどと、追加ドキュメントや3rdパーティーのフォントなどです。
我々の思いは、JRockit Mission Controlのような有償機能(まだOracle JDKでは利用できません)を除き、Oracle JDKのコンポーネントの全てをオープンソースにしたいということです。そのため、妨げとなる3rdパーティーのコンポーネントをオープンソースの代替品に置き換え、コードベース間のパリティをより近づけることを目指しています。
(8/18追加)JDK 6に比べてJDK 7はどれぐらいオープンソースのコンポーネントが含まれていますか?Java SE 7参照実装にあるように、新しいJDK 7の機能は全てオープンソースです。JRockitから移植されている機能の大部分もオープンソースです(もしくは、JDK 7のコードベースにあれば、オープンソースになるでしょう)。
Java 7がjava.comにないのはなぜですか?java.comのサイトは、エンドユーザーがダウンロードするために存在します。以前のメジャーバージョンのJavaとJDK 7は開発者向けに用意していますので、エンドユーザーに公開される前に、Javaプログラムが新しいJREバージョンで動作することを確認することができます。
(8/17更新)
java.oracle.comに開発者向けダウンロードサイトへの控えめなリンクがありますので、そちらからどうぞ。
APIのドキュメントはどこにありますか?Javadocはこちらからどうぞ。
Java 7のMacへのポーティングの状況について教えて下さい。機能開発は現在もOpenJDK Mac OS X Port 7プロジェクトで実施中です。詳細の状況はこちらから確認できます。プロジェクトが十分に進捗したら(おそらく数ヶ月後ぐらい)JDKダウンロードサイトからDeveloper Preview版を用意する予定にしています。AppleのメンバーをはじめとするMac OS X Portプロジェクトの面々と協業して、残る機能(インストーラやプラグイン、Web Startなど)を完成させる予定です。それ以後は通常の流れで1回以上のベータ版もしくはRC(Release Candidate)版を出し、製品版を出す予定です。
Macで動作させたいということなら、数多くの3rdパーティーからOpenJDKのコードベースのバイナリビルドが提供されています。検索エンジンを使用したら、いくつか見つけられると思います。
Apache LuceneをJDK 7で動作させた場合の問題について、教えて下さい。Luceneプロジェクトの報告では、実行中のLuceneがJITバグを引き起こし、JVMがクラッシュするということです。回避策は、壊れた最適化をコマンドラインから無効化することです。詳細はバグレポートをご覧下さい。.
 Luceneが報告した3つのバグは、OpenJDKのコードでは修正されており、さらにOracleが発見したLcuceneに影響する4番目のバグ (7070134, 7068051, 7044738, 7077439)は、JDK 7 Update 1の現在のビルドに含まれています。(修正によるリグレッションが無ければ、そのまま含まれることになるでしょう)。
Oracleがどのように優先付けしているか、外部のバグレポートへの取り組みについて詳細は、Dailbor Topicのブログをご覧下さい。JDK 7をテストし、問題を報告してくれている皆様に感謝します。
JDK 7ライセンスを読んだところ、 商用機能について記載がありましたが、これはどういう意味ですか?SunはリリースしたJavaのバージョンそれぞれのために、新しいライセンスを作成してきました(更新版を含む)。修正が小規模であっても、毎度弁護士に連絡して、以前のバージョンからの変更が受け入れられることを確認する必要があったということです。私たちの目標は、ライセンスの数を最小限にすることを目指しています。究極は理想は一つのライセンスにすることです。JRockitを無償にするにあたり、JRockitだけでなくJavaの全バージョンをカバーするようにBCD(Binary Code License)を変更しました。この件は過去のエントリでご紹介しています。
「商用機能」とは、JDK 7から始まった、JRockitからHotSpot/JRockit統合JVMへポートする付加価値機能のことです。有償機能の詳細は製品ドキュメントに記載があります。標準のJDK 7製品版バイナリには、商用機能は含まれておりませんので、間違って有償機能を使うことはありません。将来のアップデートでJDK 7に商用機能を移植するにあたり、そのような機能を有効化するための明示的なフラグを用意する予定です。注意頂きたいのは、こうした機能は「商用、もしくは本番環境での利用」においてのみ制限があるということです。 つまり、個人で開発している場合には、何も心配する必要はありません。全ての情報はライセンス文書に記載があります。


原文はこちら。
http://blogs.oracle.com/henrik/entry/java_7_questions_answers

[Coherence, WLS] Using Weblogic Server ActiveCache for Coherence

Webアプリケーションを構築・再構築する際に、キャッシュ機構を追加して、データアクセスのボトルネックの解消をはかり、スケーラビリティと性能を向上させることがよくあります。WebLogic Server(以下、WLS)にはJavaサーブレットコンテキスト、JPAのコンテキスト(Toplink Grid)、そしてHTTPセッションコンテキスト(Coherence*Web)における、Coherenceキャッシュとの統合を提供する機能を持っており、総じてActiveCacheと呼んでいます。

ActiveCache
http://download.oracle.com/docs/cd/E21764_01/web.1111/e16517/cases.htm

この記事では、最初のJava Servletコンテキストの部分を取り上げ、WLSでシームレスにデータキャッシュ層を利用するための方法(J2EE Webアプリケーションのパッケージング、デプロイ、管理)についてお伝えしたいと思います。

アーキテクチャ
WLS 10.3.4+には、ノードマネージャ(プロセス監視・管理サービス)があり、これを利用してWLS以外の、例えばCoherenceのようなコンポーネントを管理できます。WLS管理コンソールには追加の管理ページ(http://{ホスト名}:{ポート番号、通常は7001}/console)があり、ここでCoherenceクラスタを構成することができます(環境>Coherenceクラスタ)。


 そして、Coherenceクラスタノードの構成画面はこちら。([環境]>[Coherenceサーバー])



WLS管理コンソールから、クラスタを構成したり、全てのクラスタノードを立ち上げたり停止したりできます。
この例では、サーブレットと全てのCoherenceキャッシュノードが同じCoherenceクラスタにありますが、サーブレットはデータを持っていません。つまりストレージ属性が無効になっています。これは、サーブレットがデプロイ/アンデプロイされても、サーブレットがデータを保持しないので、キャッシュデータをクラスタノード間で移動させる必要がないことを意味します。このトポロジは以下のようになっています。

In-cluster topology
[注意]上図はHTTPセッションデータをCoherenceにキャッシュする仕組みを示していますが、このトポロジーはWebアプリケーションのデータをキャッシュする場合と同じです。

Setup
以下のような前提条件のもとでセットアップを進めます。
  • WLS 10.3.5 がインストール済みであること。
  • Java JDK 1.6+ がインストール済みであること。
  • ドメインが構成されていること。今回はドメイン名をbase_domainとする
  • Coherence 3.7+ for Java がインストール済みであること。これは単にzipファイルを解凍するだけでよい
  • Eclipse Indigo IDE (3.7.0) がインストール済みであること(オプション)
同じアプリケーションをデプロイする環境をセットアップする手順は以下の通りです。
  1. ノードマネージャ を構成し、Coherenceクラスタノードの起動・停止を可能にする
    この手順はWLSに詳しい読者にとっては当然なのですが、完全を期すため、Macで必要だった手順をまとめました。
    1) まず、WLSの起動に使う環境編集を設定します。
    export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
    # Dir where WLS installed to
    export MW_HOME=/Users/Dave/apps/wls1035_dev/
    export USER_MEM_ARGS="-Xmx1024m -XX:PermSize=1024m"
    2) ノードマネージャのパラメータを $MW_HOME/wlserver/common/nodemanager/nodemanager.properties に設置します。簡単のため、ネイティブライブラリ(これはプラットフォームに依存します)やSSLを使わないようにしました。
    NativeVersionEnabled=false
    PropertiesVersion=10.3
    ListenAddress=localhost
    SecureListener=false
    DomainRegistrationEnabled=true
    3) アプリケーションデプロイ先として、WLSのドメインを $MW_HOME/wlserver/common/nodemanager/nodemanager.domain プロパティファイルに追加しました。
    base_domain=/Users/Dave/apps/mywls/user_projects/domains/base_domain
    4) 最後に、ノードマネージャを立ち上げました(ノードマネージャはドメインではなく、マシンと関連付けられています)。
    cd $MW_HOME/wlserver/server/bin
    ./startNodeManager.sh
  2. WLS管理コンソールを使う新しいマシンの定義を構成する
    次に、ノードマネージャをCoherenceクラスタの立ち上げに使えるようにするため、マシンの定義をします。上述の通り、ノードマネージャはドメインではなくサーバに関連づけられており、マシンは1個以上のWLSインスタンス(サーバ)をホストするコンピュータの論理的な表現です。
    マシンを構成するために、[環境]>[マシン]でWLS管理コンソールのマシン画面に移動し、[新規]ボタンを押して以下の値を入力します。

    (画面1)
    名前: MyMachine - あなたのマシン名
    マシンのOS: その他 - Mac OSX用のネイティブライブラリを使わないので、ここでは指定しない


    (画面2)
    タイプ: プレーン - 追加のセキュリティ構成をしないようにします。
    [注意]他のパラメータはデフォルトのままにしています。


    ノードマネージャをデフォルト値のパラメータで立ち上げたら、特に追加の設定は必要ありません。マシンの監視ページでノードマネージャを監視できることを確認しましょう。



    もし状態が取得できない場合は、ノードマネージャの出力を確認して下さい。コンソールから起動している場合は、ノードマネージャのログファイル($MW_HOME/wlserver/common/nodemanager/nodemanager.log)を参照しましょう。

  3. Coherenceクラスタを構成し、起動する
    Webアプリケーションのデータをキャッシュするために使うCoherenceクラスタを立ち上げるためには、Coherenceクラスタを構成し、Coherenceサーバを立ち上げる定義をする必要があります。

    Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help
    Create Coherence clusters
    http://download.oracle.com/docs/cd/E21764_01/apirefs.1111/e13952/taskhelp/coherence/CreateCoherenceClusters.html
    Create Coherence servers
    http://download.oracle.com/docs/cd/E21764_01/apirefs.1111/e13952/taskhelp/coherence/CreateCoherenceServers.html

    Coherenceクラスタを構成するために、[環境]>[Coherenceクラスタ]と辿って、Coherenceクラスタ定義画面に移動します。ここで使用した設定値は以下の通りです。

    名前: MyCluster - 別の環境と衝突しないような名前にしています。
    カスタム・クラスタ構成ファイルの使用: チェック
    <activecache-example.zip>/WLSCohWebAppEAR/EarContent/APP-INF/classes/tangosol-coherence-override.xml がクラスタ用の Coherence operational override file です(キャッシュ構成ファイルではありません)。

    次に、Coherenceクラスタサーバーを構成します。[環境]>[Coherenceサーバー]を辿って設定画面へ移動します。今回使用した構成パラメータは以下の通りです。

    名前(任意): CacheServer1
    マシン(作成したマシン名): MyMachine
    クラスタ(作成したクラスタ名): MyCluster
    ユニキャスト・リスニング・ポート: 9999
    デフォルトの8888は他のクラスタで使われている可能性がありますので、別のクラスタに参加しないようにしておきます。

    その他の構成パラメータはデフォルトのままにしています。
    サーバーの起動構成は以下のパラメータを使用しました。

    Java ホーム: /Library/Java/Home
    Java ベンダー: Apple
    BEAホーム(WLSのインストールディレクトリ): /Users/Dave/apps/wls1035_dev/wlserver
    ルートディレクトリ(ドメインのベースディレクトリ): /Users/Dave/apps/mywls/user_projects/domains/base_domain
    クラスパス:
    /Users/Dave/apps/wls1035_dev/modules/features/weblogic.server.modules.coherence.server_10.3.4.1.jar:/Users/Dave/coherence/3.7/coherence-java/coherence/lib/coherence.jar
    これらのJarファイルの順序が重要です。正しい区切り文字(:)を使って下さい。
    引数:
    -Xms1024m -Xmx1024m -Dtangosol.coherence.cacheconfig=/Users/Dave/Documents/workspace/WLSCohWebAppEAR/EarContent/APP-INF/classes/coherence-cache-config.xml -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.role=CacheServer
    JVMへの引数はCoherenceキャッシュサーバーを起動するためのものです。

    [注意]Coherenceオーバーライドファイルの最後のパラメータでは、デフォルトストレージ設定がfalseに指定されています。そのため、ストレージ属性を明示的に有効にする必要があります。これは、WLSの起動スクリプトでこのプロパティを設定しなければ、TestServletのシステムプロパティを使って、ストレージ有効化のデフォルト設定を上書きすることができないためです。

    なお、上記パスは皆様の読者の環境に適宜合わせて下さい。
    Coherenceサーバを追加する場合、Coherenceサーバ管理ページにてCoherenceサーバを複製し、新しい(複製した)Coherenceサーバーの名前を変更すると簡単です。

    Coherence クラスタはCoherenceサーバーページから起動します([環境]>[Coherenceサーバー])。このページの[制御]タブで、全てのCoherenceサーバーを選択し、[起動]ボタンをクリックします。

     
  4. CoherenceとActiveCacheの共有ライブラリを展開する
    CoherenceとActiveCacheのJARファイルをデプロイする場合、WLSのクラスパスに追加する方法、Webアプリケーションの共有ライブラリとしてデプロイするなど、色々な方法があります。今回はJARファイルは共有ライブラリとしてデプロイして、(ライブラリをインポートするアプリケーションだけがスコープ内に共有ライブラリを持つように)利用を分離し、オーバーヘッドを最小限(クラスの1個のコピーのみがロードされるように)にしました。共有ライブラリはWLS管理コンソールからデプロイできます([環境]>[デプロイメント])。

    Deploy WLS Shared Libraty

  5. Coherenceキャッシュを使うWebアプリケーションをパッケージ、デプロイする
    WARファイルもしくはEARファイルで実施するのですが、今回はEARファイルを使います。やり方としては、WLSの自動デプロイディレクトリにEARファイルを配置する、管理コンソールを使う、 Weblogic Scripting Tool(WLST)を使う、(WLSTを使う)EclipseのようなIDEを使う、などがあります。今回は、OEPEプラグインが提供するウィザードを使うことにしました。
    Deploy EAR to WLS from Eclipse
    EAR Webアプリケーションプロジェクト(依存関係のあるプロジェクトも)をインポートするだけで、Coherenceのライブラリパスを更新して、デプロイ対象のWLSにデプロイできます。
サンプルWebアプリケーションのテスト
TestServletサンプルWebアプリケーションのURLは、
http://<your hostname>:7001/WLSCohWebApp/TestServlet
です。このアプリケーションは、Coherenceクラスタメンバーを表示し、MyCacheというキャッシュにエントリを追加します(キーはHTTPセッションIDで、値はHTTPセッションの最終変更値)。
Web app output
この出力から、アクティブセッションを持つクライアントの個数と、クラスタのメンバー個数がわかります。全てのキャッシュデータはこのサーブレットを実行したクライアントから見えるので、参照データやドロップダウンリストの値などの頻繁に変更されないアプリケーションデータにとっては理想的な保管場所になるかと思います。
 
サンプルアプリケーションについて
ActiveCacheの機能を使うと、キャッシュの参照をリソースとして構成することができます。TestServletでは、アノテーション @Resource を使って動的にNamedCache "MyCache" への参照を注入しています。

OracleR Fusion Middleware Using ActiveCache
Access the Data Cache from your Application
http://download.oracle.com/docs/cd/E21764_01/web.1111/e16517/coh_wls.htm#FEDEJAAI
mycache resource ref

Coherenceキャッシュのリファレンス(NamedCache)リソースは、JNDIルックアップから検索できます。サーブレットが参照する共有ライブラリを weblogic-application.xml ファイルで指定できます。

Shared libs config

CoherenceクラスタはJMXから監視することができます。クラスタのメトリックを見るためには、テストマシンのJConsoleを開き、weblogic.server.nodemanager... プロセスの一つを開きます(Coherence管理サーバーを起動して、リモートアクセス可能にすることもできます )。ノードツリーを開いたら、以下のようなメトリックを確認できるはずです。

JConsole view

明示的な起動と停止の操作のために、サーブレットのリスナークラスが登録されており、アプリケーションがアンデプロイされるとWebアプリケーションをシャットダウンします。

このエントリをご覧になった方々が、WLSのActiveCacheの機能を使えば、Webアプリケーションで頻繁に利用するデータへ高速にアクセスできることがわかってもらえると幸甚です。キャッシュを「サイドキャッシュ」(データを明示的にキャッシュに追加している)として使っていますが、データベースやその他のデータソースから必要なデータをキャッシュにオンデマンドで載せるように構成することも簡単です。その他のオプションはここでは検討していませんが、WLSTを使ってクラスタの設定と立ち上げを実行するスクリプトを作成することにも一考の価値があると思います。

サンプルアプリケーションはこちらからダウンロードできます。

関連資料

原文はこちら。
http://blogs.oracle.com/felcey/entry/using_weblogic_server_activecache_for

[Java] JSR updates including Public Review of JCP.Next

JSRの最近の状況です。
次の2件は、JSR 336: JavaTM SE 7 Release Contents ( http://jcp.org/en/jsr/summary?id=336 ) の一部として更新リリースを提出しました。
JSR 348: Towards a new version of the Java Community Process ( http://jcp.org/en/jsr/summary?id=348 ) は、新しいJava Community Process(JCP.Next)のためのJSRですが、これがPublic Reviewドラフトを提出し、2011年10月の最終リリースを目指して進捗しています。java.netのJSR348のページには、ドキュメントアーカイブや問題追跡、ディスカッションフォーラムなどがありますので、ご覧になった上で、レビュー及びフィードバックを是非お願いします。

[iPlanet Server] How to Set POST Request Body Size Limit In Oracle iPlanet Web Server 6.1 and 7.0

色々な理由でWebサーバのPOSTリクエスト本体のサイズを設定しなければならないことがあります。この内容について、新しくMy Oracle Supportに2件ナレッジ情報を投稿しました。
  1. How to Set POST Request Body Size Limit In Oracle iPlanet Web Server 6.1 (Doc ID 1327832.1)
  2. How To Set POST Request Body Size Limit In Oracle iPlanet Web Server 7 (Doc ID 1297025.1)
ご覧いただくには、My Oracle Support (MOS) のアカウントが必要です。


原文はこちら。
http://blogs.oracle.com/walter/entry/how_to_set_post_request

[SOA/BPM, Coherence] Coherence in SOA Suite 11g

Oracle SOA Suite 11gでは組み込みCoherenceキャッシュを使って、クラスタ全体でのアクティビティ(コンポジットのデプロイを含む)を協調させることができます。
標準では、この組み込みのCoherenceキャッシュはマルチキャストノード探索用に構成されていますが、サブネットに唯一のクラスタしかない場合、マルチキャストパケットはルーター境界を越えることはないので、この構成で通常は問題ありません。しかし、サブネット内に複数のクラスタがある場合や、ルーターがマルチキャストパケットを転送する場合、例えば独立した2個のSOAクラスタがCoherenceから両方とも確認できる場合、デプロイ時に問題が発生します。ログファイルをチェックしてみましょう、以下のようなメッセージが現れているはずです。
[SOA_server1] [ERROR] [] [Coherence] [] [] [APP: soa-infra] 2011-08-01 00:00:00.000/0000.000 Oracle Coherence GE 3.6.0.4  (thread=Cluster, member=1): This senior Member(Id=1, Timestamp=2011-08-01 00:00:00.000, Address=10.10.10.10:8088, MachineId=43868, Location=site:blah,machine:blah1,process:15875, Role=WeblogicServer) appears to have been disconnected from another senior Member(Id=1, Timestamp=2011-07-01 00:00:00.000, Address=10.11.11.11:8088, MachineId=43815, Location=site:blah,machine:blah2,process:18955, Role=WeblogicServer); stopping cluster service.
このログは、マシンblah1がマシンblah2が所有するクラスタを発見したというもので、両者が同じマルチキャストの情報を持っていることが発生の理由です。この結果、blah1へのデプロイメントが応答を停止し、最終的にはWebLogic Serverからスタックスレッドの警告が出ます。これを防ぐためには、両者が通信できなくすればよいのですが、それには2つの方法があります。
  1. 組み込みのCoherenceのユニキャストオプションを変更し、Well-Known Addressing(WKA)を使うことができます。これは高可用性ガイドに記述があります。
    Oracle® Fusion Middleware High Availability Guide
    Configuring Oracle Coherence for Deploying Composites
    http://download.oracle.com/docs/cd/E21764_01/core.1111/e10106/ha_soa.htm#ASHIA3848

    日本語はこちら。
    Oracle® Fusion Middleware高可用性ガイド
    コンポジットのデプロイでのOracle Coherenceの構成
    http://download.oracle.com/docs/cd/E23549_01/core.1111/b55898/ha_soa.htm#CHDFHAJE

    1ノードの環境の場合、wka1としてのlocalhostと同時に"localhost"を指定すれば、他の環境と分離することができます。
  2. Coherenceがリスニングしているマルチキャストアドレスとポートを再構成することが出来ます。上記のWKAを使わずに、-Dtangosol.coherence.clusteraddress と -Dtangosol.coherence.clusterport で指定できます。(そうでなければ、あなたがこれらのプロパティをどこに設定すべきかという指示に従ってください)。
    これらは、通常はCoherenceマルチキャストクラスタアドレッシングのルールに従います(特に、アドレスがマルチキャストIPアドレスの範囲にあり、Coherenceクラスタの中で一意になる必要があります)。通常はポート番号を変えるだけでなく、両方アドレスがユニークになるようにすることをお勧めします。それは、異なるポートのソケットでは互いのソケットが「みえてしまう」というOSレベルの問題があるからです。
みなさんが構成するクラスタがうまく動きますように(もちろん1ノードのクラスタもですよ)。


原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/coherence_in_soa_suite_11g