目次

Oracle TopLinkリリース・ノート

- 1 Oracle TopLink 12.2.1の新機能

- 2 非推奨のTopLink Grid

- 3 TopLinkオブジェクト・リレーショナルの問題

- 3.1 ERROR PARSING VALIDATION.XML - JAVA.UTIL.CONCURRENT.EXECUTIONEXCEPTION

- 3.2 ExalogicのTuningAgentプロファイラが設定されない

- 3.3 WLSシステムMBeanブラウザでEclipseLinkログ・レベルを設定できない問題

- 3.4 外部トランザクション制御でUnitOfWork.release()がサポートされない

- 3.5 UPDATEのリターン・ポリシーとオプティミスティック・ロック

- 3.6 TimestampをStringとして返すJDBCドライバ

- 4 0(ゼロ)の値の主キーの許可

- 5 JCA Oracle Databaseサービスと組み合されたSybaseの管理対象サーバー

- 6 コンテナ管理のJPAを使用するEclipseLinkでのロギング構成

- 7 ドキュメントのアクセシビリティについて

Oracle® Fusion Middleware

Oracle TopLinkリリース・ノート

12c (12.2.1)

E69915-01(原本部品番号:E67787-01)

2015年10月

このドキュメントでは、Oracle TopLinkに関連する問題について説明します。内容は次のとおりです。

- 1項「Oracle TopLink 12.2.1の新機能」

- 2項「非推奨のTopLink Grid」

- 3項「TopLinkオブジェクト・リレーショナルの問題」

- 4項「0(ゼロ)の値の主キーの許可」

- 5項「JCA Oracle Databaseサービスと組み合されたSybaseの管理対象サーバー」

- 6項「コンテナ管理のJPAを使用するEclipseLinkでのロギング構成」

- 7項「ドキュメントのアクセシビリティについて」

1 Oracle TopLink 12.2.1の新機能

このリリースの新しい機能/機能強化は次のとおりです。

- MOXyでのBean検証のサポート
この機能強化では、EclipseLinkでのJAXBの実装であるMOXyにBean検証の方法(JSR303およびJSR349に準拠)を提供します。

- MOXyでのJSON-Pサポート
JSR-353 MOXyのサポートが提供されることで、要件(パフォーマンス、メモリーなど)に基づいて使用するJSONパーサーを選択できます。デフォルトでは、MOXyはhttps://jsonp.java.netのデフォルトの実装を使用します

詳細は、https://wiki.eclipse.org/EclipseLink/DesignDocs/405161を参照してください

- JPA-RSの機能拡張
このリリースでは、JPA RESTfulサービスに2つの追加(プロジェクションおよびページネーション)が含まれています。

- マルチテナンシ用eclipselink.multitenant.strategyプロパティ
EclipseLink固有のプロパティ(eclipselink.multitenant.strategy)が導入され、マルチテナンシが透過的に処理される環境がサポートされます。このプロパティの値は'external'(マルチテナンシ要件が外部(アプリケーション)で処理され、TopLinkで無視される)か、org.eclipse.persistence.descriptors.MultitenantPolicyインタフェースを実装するクラスの完全修飾名です。

このオプションを使用するために@Multitenantエンティティを定義する必要はなく、EntityManagerFactoryはテナント間で共有されます。その共有キャッシュは無効になり、エンティティで独自のスキーマは定義しません。

2 非推奨のTopLink Grid

Oracle TopLink 12.2.1では、TopLink Grid機能は推奨されません。

3 TopLinkオブジェクト・リレーショナルの問題

この項には、次の問題に関する情報が含まれます。

- 3.1項「ERROR PARSING VALIDATION.XML - JAVA.UTIL.CONCURRENT.EXECUTIONEXCEPTION」

- 3.2項「ExalogicのTuningAgentプロファイラが設定されない」

- 3.3項「WLSシステムMBeanブラウザでEclipseLinkログ・レベルを設定できない問題」

- 3.4項「外部トランザクション制御でUnitOfWork.release()がサポートされない」

- 3.5項「UPDATEのリターン・ポリシーとオプティミスティック・ロック」

- 3.6項「TimestampをStringとして返すJDBCドライバ」

3.1 ERROR PARSING VALIDATION.XML - JAVA.UTIL.CONCURRENT.EXECUTIONEXCEPTION

ある状況では、ログ・ファイルに次のような警告のログ・メッセージが含まれていることがあります。このログ・メッセージに害はなく、TopLinkのvalidation.xmlファイル(JSR 303 Bean検証仕様に定義)の検索について示しています。TopLinkではファイルシステムのvalidation.xmlのみ読み取ることができ、アーカイブからは読み取れません。

[WARNING] [] [org.eclipse.persistence.jaxb.BeanValidationHelper] [tid: [STANDBY].ExecuteThread: '35' for queue: 'weblogic.kernel.Default
(self-tuning)'] [ecid: 8ee5cff5-3f55-4f1b-a389-4328958b1ee9-0000003d,0] [APP:
webcenter] [partition-name: DOMAIN] [tenant-name: GLOBAL] Error parsing
validation.xml[[
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException:
URI scheme is not "file"

3.2 ExalogicのTuningAgentプロファイラが設定されない

TopLink Exalogicの自動チューナを使用する際に、oracle.toplink.exalogic.tuning.TuningAgentプロファイラが有効化されません。TuningAgentプロファイラは、スタック・スレッドの問題が原因で無効化されました。

3.3 WLSシステムMBeanブラウザでEclipseLinkログ・レベルを設定できない問題

Oracle Enterprise Managerを使用してEclipseLinkログ・レベルを設定します。WLSシステムMBeanブラウザを使用して、この操作を実行しないでください。

3.4 外部トランザクション制御でUnitOfWork.release()がサポートされない

Java Transaction API(JTA)と同期している作業ユニットは、解放されると例外をスローします。現行のトランザクションでその変更を永続化しない場合、JTAトランザクションはロールバックする必要があります。

コンテナ境界型のトランザクションでは、EJB/セッション・コンテキストで次のようにsetRollbackOnly()をコールします。

@Stateless
public class MySessionBean
{    @Resource
SessionContext sc;

public void someMethod()
{
...
sc.setRollbackOnly();
}
}

Bean境界型のトランザクションでは、EJB/セッション・コンテキストから取得したUserTransactionで次のようにrollback()をコールします。

@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
public class MySessionBean implements SomeInterface
{
@Resource
SessionContext sc;

public void someMethod()
{
sc.getUserTransaction().begin();
...
sc.getUserTransaction().rollback();
}
}

3.5 UPDATEのリターン・ポリシーとオプティミスティック・ロック

リターン・ポリシーを使用すると、INSERTおよびUPDATEの実行時に変更された値を返してキャッシュ済オブジェクトに移入できますが、このポリシーは、UPDATEで数値バージョンのオプティミスティック・ロックと組み合せると機能しません。すべてのUPDATE操作に対して返される値が1となり、意味のあるロック保護は提供されません。

UPDATEのリターン・ポリシーは、数値のオプティミスティック・ロックと組み合せて使用しないでください。

INSERTのリターン・ポリシーは、オプティミスティック・ロックの使用時に正常に機能します。

3.6 TimestampをStringとして返すJDBCドライバ

TopLinkでは、サーバーから返される日時の情報は、Timestampを使用しているものと仮定されます。JDBCドライバが現在の日付に対してStringを返すと、TopLinkは例外をスローします。これは、DB2 JDBCドライバの使用時に発生します。

この問題を回避するには、Timestampを返すドライバ(COM.ibm.db2.jdbc.app.DB2Driverなど)を使用するか、サーバー時間のかわりにローカル時間を使用するようにポリシーを変更してください。

別の回避方法は、次のようにプラットフォームで使用されるValueReadQueryで問合せリダイレクタを使用することです。

ValueReadQuery vrq = new ValueReadQuery(
"SELECT to_char(sysdate, 'YYYY-MM-DD HH:MM:SS.SSSSS') FROM DUAL"
);
vrq.setRedirector(new TSQueryRedirector());
...
class TSQueryRedirector implements QueryRedirector
{
public Object invokeQuery(DatabaseQuery query, Record arguments, Session session)
{
String value = (String)session.executeQuery(query);
return ConversionManager.getDefaultManager().convertObject(
value, java.sql.Timestamp.class
);
}
}

4 0(ゼロ)の値の主キーの許可

デフォルトで、EclipseLinkは、nullを使用できないプリミティブ型(intやlongなど)で0(ゼロ)をnullとして解釈するため、0が主キーにとって無効な値となります。この設定は、persistence.xmlファイルのallow-zero-idプロパティを使用して変更できます。有効な値は次のとおりです。

- true - EclipseLinkは、0(ゼロ)の値を0として解釈します。この設定により、主キーで0の値を使用できます。

- false - (デフォルト)EclipseLinkは、0(ゼロ)をnullとして解釈します。

詳細は、http://wiki.eclipse.org/EclipseLink/UserGuideにあるEclipseLinkユーザーズ・ガイドを参照してください。

警告:
この特定の設定をpersistence.xmlを介して構成すると、サーバーで実行されているすべてのアプリケーションに影響を及ぼすため、この構成プロパティの追加には潜在的な危険があります

5 JCA Oracle Databaseサービスと組み合されたSybaseの管理対象サーバー

クラスタ内でOracle Database Adapterと組み合せてJCAサービスを使用し、Sybaseデータベースに対してデータベース操作を実行する場合、クラスタ内の管理対象ノードは、メッセージを処理して、重複する操作を試行することがあります。

Sybaseのサポートされるバージョンでは、Oracle TopLinkのレコード・ロックに対応していないため、重複する操作の試行がSybaseで許可されます。

6 コンテナ管理のJPAを使用するEclipseLinkでのロギング構成

デフォルトで、コンテナ管理のJPAのEclipseLinkユーザーは、Oracle WebLogic Serverのロギング・オプションを使用して、EclipseLinkで生成されたすべてのログ・メッセージをレポートします。『Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタリング』のWebLogicロギング・サービスの構成に関する項を参照してください。

EclipseLinkのネイティブ・ロギング構成を使用するには、次のプロパティをpersistence.xmlファイルに追加します。

<property name="eclipselink.logging.logger" value="DefaultLogger"/>

7 ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートを購入したオラクル社のお客様は、My Oracle Supportを介して電子的なサポートにアクセスできます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートを購入したオラクル社のお客様は、My Oracle Supportを介して電子的なサポートにアクセスできます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

Oracle Fusion Middleware, 12c (12.2.1) TopLinkリリース・ノート

E69915-01

Copyright © 2014, 2015 Oracle and/or its affiliates All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。お客様との間に適切な契約が定められている場合を除いて、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2016, Oracle and/or its affiliates.All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。