ヘッダーをスキップ
Oracle Real-Time Decisionsリリース・ノート
リリース3.0
B54061-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

2 アップグレードに関する問題

この章では、以前のリリースからOracle RTDリリース3.0にアップグレードする方法に関連する問題について説明します。この章の内容は次のとおりです。

2.1 以前のリリースからOracle RTDリリース3.0にアップグレードする

この項の内容は次のとおりです。

2.1.1 カスタムJavaコードのあるインライン・サービスのアップグレードにおける考慮事項

Oracle RTDリリース3.0では、一部のJavaクラス、インタフェース、定数およびメソッドは、明示的にパブリックとして指定されています。これらのパブリックAPIは、Oracle RTDのインストール先であるRTD_HOME/docs/api/に存在する場合があります。インライン・サービスをアップグレードできるようにするには、すべてのカスタムJavaコードではこれらのAPIを使用する必要があります。

ロギングAPIパッケージの変更

ロギング・メソッドは、com.sigmadynamics.sdo.SDOBaseからcom.sigmadynamics.sdo.support.Logに移動されています。古いログ・メソッドを使用したカスタム・コードでは、import com.sigmadynamics.sdo.support.Log;またはimport static com.sigmadynamics.sdo.support.Log.*;のインポート文を追加することで、それらが新しい場所で見つかる場合があります。

パブリックAPIにおける非推奨

com.sigmadynamics.server.SDDataSource.getInstance(String)では、com.sigmadynamics.server.SDDataSource.getDataSource(String)を使用する必要があります。新しいメソッドでは、具体的な実装ではなくインタフェースを返します。

2.1.2 rtd-ds-client.jarに名前が変更されたsdclient.jarファイル

以前のリリースのOracle RTDでは、クライアント統合リソース・バンドルのsdclient.jarは、RTD_HOME/client/Client Examples/Java Client ExampleにあるJavaクライアント用サンプルでパッケージ化されていました。

Oracle RTD 3.0では、このリソースはsdclient.jarからrtd-ds-client.jarに名前が変更されました。このファイルは、依存する他のjarファイルとともにRTD_HOME/client/DecisionServiceにあります。

2.1.3 サーバーの起動時、以前にデプロイされたインライン・サービスのアップグレードのロードで発生するエラー

以前のリリースのOracle RTD環境をリリース3.0にアップグレードすると、以前にデプロイされたインライン・サービスのサーバー側アップグレードが失敗し、Oracle RTDサーバーのログに次のようなエラーが出力される場合があります。

2009-03-03 14:58:55,312 ERROR [AppFactory] Error loading Inline Service DC_Demo in deployment state Development.  Will mark it as invalid in the database.
java.lang.NoClassDefFoundError:
 com/sigmadynamics/sdo/interfaces/client/SingletonInterface
 at java.lang.Class.getDeclaredMethods0(Native Method)
 at java.lang.Class.privateGetDeclaredMethods(Class.java:2427

サーバーのインライン・サービスの無効な状態に対処するには、次の手順に従います。

  1. Oracle RTD 3.0 Decision Studioのインライン・サービスをクリーンアップし、再コンパイルします。

  2. インライン・サービスを再デプロイします。

2.1.4 Decision Studioにおいて、以前のバージョンのワークスペースからアップグレードされたインライン・サービス・プロジェクトでビルド・エラーが発生する

リリース3.0のDecision Studioを使用して、以前のバージョンのOracle RTDインライン・サービスをワークスペースから開くと、メタデータをリリース3.0のスキーマにアップグレードすることを要求するプロンプトが自動的に表示されます。ワークスペースのインライン・サービスのDecision Studio側アップグレードが失敗し、「Problems」ビューに次のようなビルドの問題が表示される場合があります。

com.sigmadynamics.sdo.base.ChoiceModel cannot be resolved to a type
GENAllOffersCG.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 231
com.sigmadynamics.sdo.base.ChoiceModel cannot be resolved to a type
GENAllOffersCGChoice.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 154
ChoiceModel cannot be resolved to a type GENAllOffersCGChoice.java
DC_Demo221/gensrc/com/sigmadynamics/sdo line 200 The constructor
ApplicationBase(String, int, int) is undefined
GENApplication.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 81
ChoiceModel cannot be resolved to a type GENApplication.java
DC_Demo221/gensrc/com/sigmadynamics/sdo line 366 2
ChoiceModel cannot be resolved to a type GENApplication.java
DC_Demo221/gensrc/com/sigmadynamics/sdo line

Decision Studioワークスペースのインライン・サービスの無効な状態に対処するには、RTD 3.0 Decision Studioのインライン・サービスをクリーンアップし、再コンパイルします。

2.1.5 Decision Studioでコンパイラのコンプライアンス・レベルが不正なために発生するビルド・エラー

Oracle RTD Decision Studio 3.0では、適切なJavaコンパイラ用コンプライアンス・レベルとして5.0のレベルを使用するインライン・サービスを指定する必要があります。Javaコンパイラ用コンプライアンス・レベルでこれより低い値がインライン・サービスに使用されると、指定されたプロジェクトにソース・レベルに関連するビルド・エラーが繰り返して発生する場合があります。たとえば、次のようなエラーです。

  • 構文エラー: 静的インポートはソース・レベルが5.0の場合にのみ使用できます。

  • 構文エラー: for each文はソース・レベルが5.0の場合にのみ使用できます。

  • 構文エラー: パラメータ化型はソース・レベルが5.0の場合にのみ使用できます。

これらのビルド・エラーに対処するには、Decision Studioでインライン・サービスのJavaコンパイラのコンプライアンス・レベルを5.0に設定します。このプロパティの構成の詳細は、『Oracle Real-Time Decisionsプラットフォーム開発者ガイド』の第11.2.2項「Javaコンパイラ準拠レベルの設定」を参照してください。