0

GAE-JAVA-SDK-1.5.5から1.6.0および1.6.1にアップデートした後、私のアプリケーションは正常に機能しなくなりました。 RPCサービスでエラーが発生し始めました。GAE-java-sdk-1.6.0/1.6.1に更新した後のFUBAR persistencemanagerシングルトン

Exception while dispatching incoming RPC call com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void com.skip.school.client.service.AdminService.addStudent(com.skip.school.shared.Student)' threw an unexpected exception: java.lang.NoClassDefFoundError: Could not initialize class com.skip.school.server.PmfSingleton 

Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.skip.school.server.PmfSingleton 

ログ全体は、で見つけることができます。

ユーザーが最初にrpc呼び出しを開始したときに初期化する必要があるシングルトンがあります。 私が使用するシングルトンは正しくなければなりません。stackeroverflowやウェブ上のあらゆる場所に多くの例があります。

public final class PmfSingleton { 
    private final static PersistenceManagerFactory pmfInstance = JDOHelper.getPersistenceManagerFactory("transactions-optional"); 

    private PmfSingleton() { } 

    public static PersistenceManagerFactory get() { 
    return pmfInstance;  
    } 
} 

私はそのようなすべてのサーバー実装でクラスを呼び出します。

PersistenceManager pm = PmfSingleton.get().getPersistenceManager(); 

これは、SDK 1.5.5上で動作し、以下ではなく、SDK 1.6.0上と上記の、誰もが私はSDK 1.6.0以上を使用したい場合、私は変更すべきか間違っている」とは何を知っていますか?

+0

原因:java.lang.NoSuchMethodError:com.google.appengine.api.datastore.TransactionOptions $ Builder.withXG(Z)Lcom/google/appengine/api/datastore/TransactionOptions; – DataNucleus

+0

それはどういう意味ですか?これは、オプションのトランザクション(getPersistencManagerFactoryのオプション)がもうそれを行う正しい方法ではないことを意味しますか? – Aegis

+0

これは、いくつかのGAE内部APIが異なるように見えることを意味します(JDOではなく、そのJDOプラグインが呼び出します)。一部のGoogleユーザーからのコメントが必要です。 – DataNucleus

答えて

0

AppEngine SDKの新しいバージョンにアップグレードした後、同じ問題が発生しました。問題は、appengine-api-1.0-sdk jarの古いバージョンがデプロイメントフォルダにぶら下がっていたことになります。

アプリケーションのwar\WEB-INF\libフォルダを見て、appengine-api-1.0-sdk-1.x.y.jarという2つの異なるバージョンがあるかどうかを確認してください。私はappengine-api-1.0-sdk-1.5.xファイルを削除して修正しました。

1

この問題は、日付のずれたバージョンのdatanucelus jarに関連しています。私は、最新バージョンに更新Eclipseプラグインから利用v1.6.1と私は古い瓶にすべての古い参照を削除して、それを固定し、ちょうどこれらの3を残してきました:

  • DataNucleusの-のAppEngine-1.0.10を
  • DataNucleusのコア-1.1.5.jar
  • DataNucleusの-JPA-1.1.5.jar

.final.jar私はあなたのために働くことを願っています!

関連する問題