1

これらのテクノロジを使用するプロジェクトがあり、多くの問題が発生しています。最初はこのエラーです:-

org.apache.tapestry5.ioc.internal.util.TapestryException: サービス 'ValueEncoderSource' の構築中に例外が発生しました: サービス ビルダー メソッド org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) の呼び出しエラー (TapestryModule.java:1910) (サービス 'ValueEncoderSource' の場合): サービス コントリビューション メソッドの呼び出しエラービルダー メソッド org.apache.tapestry5.hibernate.HibernateCoreModule.buildHibernateSessionSource(Logger, List, RegistryShutdownHub) (HibernateCoreModule.java:123 で) (サービス 'HibernateSessionSource' 用): org.hibernate.validator.event.ValidateEventListener は org.hibernate.event.PreInsertEventListener にキャストできません [クラスパス:org/apache/tapestry5/corelib/components/ExceptionDisplay.tml、3 行目]

これは、最新の休止状態アノテーション (バージョン 3.4.0 GA) を使用しています。Maven pom.xml で、org.hibernate 依存関係を次のように変更した場合:-

org.hibernate hibernate-annotations 3.2.1.ga

エラーはなくなりますが、新しいバージョンの注釈からのバグ修正は失われます。誰もこれを回避する方法を知っていますか?

4

3 に答える 3

1

はい、これらすべてのテクノロジを使用して Web アプリケーションを構築しました。私はタペストリ-休止状態モジュールを使用せず、タペストリ-スプリングのみを使用し、すべてのデータベース/休止状態/トランザクションをSpringに処理させます。

あなたの問題、特にあなたが説明した修正は、ライブラリの互換性の問題のように思えます。使用しているタペストリーのバージョンは何ですか?

tapestry-hibernate の 5.1 バージョンの場合、次のように表示されます。

このライブラリは、Hibernate のバージョン 3.3.1.GA (および hibernate-annotations のバージョン 3.4.0.GA) に対してコンパイルされていますが、より新しいバージョンで動作するはずです。

タペストリーのウェブサイトにあるので、それで問題ないはずです。

于 2009-06-19T13:16:45.467 に答える
1

ひょっとして、JBoss などの独自の Hibernate ライブラリが付属するアプリケーション サーバーにデプロイしますか? その場合、互換性のないバージョンの Hibernate Core と Hibernate Annotations が混在している可能性があります。

アプリケーション サーバーに付属の Hibernate JAR を削除してみて、それが機能するかどうかを確認してください。

于 2009-06-11T11:31:23.093 に答える
0

春、休止状態、CXF を使用しました。CXF は、インターフェイス サービスを Web サービスに変換するために使用されます。私が調べた他のどの Web サービス フレームワークよりもはるかに使いやすいです。

于 2009-06-11T09:30:09.367 に答える