ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

TopLinkコネクトは出来ました。

project.xmlは作成できたのですが、日本語ドキュメントの通り

DatabaseSession session = (DatabaseSession)SessionManager.getManager().getSession("SampleSession", true);

と書いてデータベースセッションを取得しようとすると、以下のようなエラーが出ます。

例外の説明: いくつかの[1] SessionLoaderExceptionsがスローされました:
***
例外[TOPLINK-9005] (Oracle TopLink - 10g release 2 (10.1.3.0.0DP4) (Build 050715)): oracle.toplink.exceptions.SessionLoaderException
例外の説明: <project-xml>ファイル[DeploymentDescriptor.xml]をロードする際に、例外がスローされました。
内部例外: 例外[TOPLINK-7099] (Oracle TopLink - 10g release 2 (10.1.3.0.0DP4) (Build 050715)): oracle.toplink.exceptions.ValidationException
例外の説明: デプロイメント・プロジェクトのxmlリソース[DeploymentDescriptor.xml]がリソース・パスに見つかりませんでした。リソース名/パスおよびXMLProjectReaderに渡されたクラス・ローダーが正しいかどうかを確認してください。プロジェクトのxmlはアプリケーションのデプロイ済JARのルートに含まれている必要があります。プロジェクトのxmlがアプリケーションのJARのサブディレクトリ内でデプロイされた場合、正しいリソース・パスに"\"ではなく"/"が使用されていることを確認してください。

        at oracle.toplink.exceptions.SessionLoaderException.finalException(SessionLoaderException.java:90)
        at oracle.toplink.tools.sessionconfiguration.XMLLoader.loadInternal(XMLLoader.java:147)
        at oracle.toplink.internal.security.PrivilegedAccessController.loadDeploymentXML(PrivilegedAccessController.java:517)
        at oracle.toplink.tools.sessionconfiguration.XMLLoader.load(XMLLoader.java:120)
        at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:298)
        at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:369)
        at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:194)

DeploymentDescriptor.xmlなんて作った覚えがない。。つかそんなのどこで作るんだ??というわけで、グーグルで探してみるも、有力な情報は見つからず。実はもう一つの方法があって、XMLの内容をJavaソース化するという手があったりします。それは、ワークベンチより、プロジェクトJavaソースってのを出力すると良かったりします。こいつを仮にTopLinkUtil.javaとすると、以下のような感じでデータベースセッション取得できました。

TopLinkUtil util = new TopLinkUtil();
DatabaseSession session = util.createDatabaseSession ();
session.login();

多分開発リリースなんで、色々と変更が加わっているのでしょうね。とりあえず、めでたし。めでたし。ってこれからか(汗