マイプロジェクトtechstackは次のようになります。このようなJavaEEの8、Wildflyは、JBoss と構造:JavaEE 8に同じ名前の2つのインタフェースを挿入できますか?
companycontext
- company
- workplace
- employee
- web (beans.xml here)
私は両方会社と職場プロジェクトでEmployeeAdapterインタフェースを持っています。 CDIは、すべてのプロジェクト内のすべてのBeanを発見するでしょう のでので、私は今のところエラー
A component named 'EmployeeAdapterImpl' is already defined in this module
を得るでしょう私の解決策であるような名前:ComEmployeeAdapter、WorkEmployeeAdapter ... は、私がのようなものを使用することができます@
// Implement
@Stateless @Named("company")
EmployeeAdapterImpl implement EmployeeAdapter
// Using
@Inject @Named("company") private EmployeeAdapter
// Implement
@Stateless @Named("workplace")
EmployeeAdapterImpl implement EmployeeAdapter
// Using
@Inject @Named("workplace") private EmployeeAdapter
という名前の私はそれが私たちのアダプターに名前を付けるためのルールよりもはるかに良いことだと思います。
ありがとうございました。
ご迷惑をおかけして申し訳ありません。そしてそれがうまくいかないので、各プロジェクトにEmployeeAdapterインターフェイスがあることに注意してください。 –
クラスの名前を異なるものにする必要があります。 'CompanyEmployeeAdapterImpl'を呼び出し、修飾子を付けて次のように使用します。' @Qualifier( "CompanyEmployeeAdapterImpl")private EmployeeAdapter a'' – Lino
そして他のクラスと同様に – Lino