Websphere Application Server v8(WAS8)からWebphere Liberty Base v17(WL17)にソフトウェアプロジェクトを移行し、EJBに問題が発生しました。例えば。以下のEJBがあります:Websphere Liberty BaseでEJBConfigurationExceptionを実行しました。
対応するローカルインタフェースを持つ@Stateless
@Local(MyUserServiceLocal.class)
public class MyUserServiceBean implements MyUserServiceLocal {
@EJB
private OtherServiceLocal otherServiceLocal;
@Resource
private SessionContext context;
public MyUserServiceBean() {
}
public String getUserEmail() {...}
public String getUserDataId() throws ServiceException {...}
...
}
:
@Local
public interface MyUserServiceLocal {
public String getUserEmail();
public String getUserDataId() throws ServiceException;
...
}
同様の実装方式で、次のより多くのEJBのがあります。
プロジェクトが正常に構築され、すべてのEclipseプロジェクト内のすべてのファセットが正しく設定され、mavenは新しく展開可能なEARファイルを作成します。しかし、アプリケーションのデフォルトページにアクセスすると、次の入れ子例外がスローされます。The MyUserServiceBean bean class for the MyApplication#MyUserServiceEjb.jar#MyUserServiceBean bean does not have a public constructor that does not take parameters.
現在、この例外がWL17によってスローされる理由は想像できません。私のWLの機能設定は次のようになります。
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>cdi-1.2</feature>
<feature>distributedMap-1.0</feature>
<feature>ejbLite-3.2</feature>
<feature>ejb-3.2</feature>
<feature>jacc-1.5</feature>
<feature>jaxrs-2.0</feature>
<feature>jaxws-2.2</feature>
<feature>jca-1.7</feature>
<feature>jdbc-4.1</feature>
<feature>jndi-1.0</feature>
<feature>jpa-2.1</feature>
<feature>jsf-2.2</feature>
<feature>jsp-2.3</feature>
<feature>ldapRegistry-3.0</feature>
<feature>mdb-3.2</feature>
<feature>servlet-3.1</feature>
<feature>ssl-1.0</feature>
<feature>webCache-1.0</feature>
<feature>wmqJmsClient-2.0</feature>
</featureManager>
私はmdbまたはejb機能をロードしないときと同じです。この問題を解決する方法はありますか?私はたくさんのグーグルでインターネットの半分を見つけましたが、この問題を解決するには、答えやアイデアを得られませんでした。
これはお手伝いできますか? https://stackoverflow.com/questions/24868561/bean-does-not-have-a-public-constructor-that-does-not-take-parameters-error-de and https://stackoverflow.com/questions/ 43904524/was-liberty-ejb-bean-do-not-a-public-constructor-not-take-p- – fantaghirocco
ご意見ありがとうございました。参照されるSOの質問には、問題を解決するための3つのアイデアがあります。私は次の結果を得てそれらすべてを試しました:(1)@PostConstruct - 動作しません。 (2)デフォルトのコンストラクタ+ EJBアノテーションを使用する代わりにメンバを注入する - 動作しません。 (3)Mavenプラグインの設定ミス - 問題に適合しません。 ||申し訳ありませんが、私はまだ同じ問題を抱えていて、このBeanだけです。問題を持たない全く同じインプリメンテーション・スキームに従うと、他の多くのビーンがあります。 – Joko