jdoの使用について

94 views
Skip to first unread message

Shigeo Mutoh

unread,
Nov 3, 2017, 11:05:20 AM11/3/17
to Google-App-Engine-Japan
武藤ともうします。

二日前、古いGAE/Jのアプリの改修を行おうと久々にeclipse neonを立ち上げ、
うっかり何かをupdateしてしまった時からドツボにハマっています。
gcloudのインストール、app-engineモジュールのインストールなどは
ドキュメント通り行いました。(こんなことになっていることすら知らなかった)

ハマりにハマって、、、
その古いアプリの改修をいったん諦め、サンプルコードの実行を試みたところ、
それさえも失敗しております。以下の問題はサンプルコード+PMの取得程度です。

問題は2つあります。

<問題1:いきなり例外が飛んでいる>
この例外がとんでもなぜか起動には成功してhello worldの表示は動作します。

WARNING: Could not instantiate listener org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
...

このContextLoaderListenerはspring.jarにあるらしいのですが、eclipseのbuild path設定
からは突っ込める気配がありませんでした。


<問題2:PMの取得に失敗する>
JDOを使いたいので、以下のようにPMを取得するコードを書いたのですが例外が飛びます。

private static PersistenceManagerFactory pmfInstance;
public static PersistenceManager getPM() {
if( pmfInstance == null ) {
pmfInstance = JDOHelper.getPersistenceManagerFactory("transactions-optional");
}
return pmfInstance.getPersistenceManager();
}

-- log --
WARNING: /hello
javax.jdo.JDOFatalUserException: A property named javax.jdo.PersistenceManagerFactoryClass must be specified, or a jar file with a META-INF/services/javax.jdo.PersistenceManagerFactory entry must be in the classpath, or a property named javax.jdo.option.PersistenceUnitName must be specified.
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:856)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:1092)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:914)
at jp.tmhouse.mytest2.HelloAppEngine.getPM(HelloAppEngine.java:40)

これはたぶんjdoconfig.xmlの記述と整合が取れてないのだろうと、META-INF/jdoconfig.xml
を書いてみましたが変化なしです。


ここまで来て、サンプルコードレベルでここまでハマるのはおかしい、と気づきました
ので、皆さんのお知恵を拝借しようと考えました。
なお、相当ぐぐって英語も沢山読みましたが、
https://cloud.google.com/appengine/docs/standard/java/datastore/jdo/overview
ここに書いて有ることは理解できますが、同じようにやりたくてもwarが存在しないので
手も足も出ないでいます。

どうかお助けください。
と、ここまで書いて、ようするにJDOを使ったサンプルソースが欲しいということに
気が付きました。探してみます。

長文失礼しました。
では。


---
このメールは、AVG によってウイルス チェックされています。
http://www.avg.com

Reply all
Reply to author
Forward
0 new messages