5

JBoss 5.1 から JBoss 7.1 へのコードのアップグレードに取り組んでいますが、これらのメソッドがリソース アダプタに明示的に実装されていないと失敗します。それぞれの概念を理解しており、両者の間の契約についても知っています。それらを実装する方法やその意味について尋ねているのではありません。Java EE 6 コード (この場合は JBoss AS 7.1) に実装する必要がある理由を具体的に尋ねています。

それらに多くの考えを入れる正当な理由はありますか、それとも単に持っているだけで十分ですか:

boolean equals(Object obj) { return super.equals(obj) ; }
int hashCode() { return super.hashCode() ; }
4

1 に答える 1

1

これは次の理由によると思います

ここでManagedConnectionFactoryをチェックアウトしてください。

これはインターフェースでありequals()、 およびhashCode()メソッドを持っていることを確認してください。したがって、基本的な Java では、インターフェイスを実装する最初の具象クラスで、インターフェイスのすべてのメソッドを定義する必要があります。どのリソース アダプタが実装する必要があるか。したがって、これらのメソッドを定義する必要があります。

リソース アダプタはここでManagedConnectionFactory を実装する必要があります。

上記の質問のとおり、JCA 1.6 仕様によると、実装を提供する必要があります。

A resource adapter must provide implementations of the following interfaces:

javax.resource.spi.ManagedConnectionFactory
javax.resource.spi.ManagedConnection
javax.resource.spi.ManagedConnectionMetaData

1.5の場合はそうではありませんでした

そのため、検証中にエラーが発生します

JCA バリデータはバージョン 1.6 でより厳密になったため、エラーが発生しました。

これについてはあまり明確ではありません。同じ問題についてインターネット上に多くの質問や投稿があります。私が見つけた最良の説明は、接続ファクトリを提供するための「要件」でした。

また、エラーをバイパスする必要がある場合は、JCA 1.5 に切り替えるか、1.6 で無効にする必要があります。

于 2012-10-19T08:10:35.510 に答える