2

永続性モデルで Bean 検証を作成しています。DB から構成パラメーターを取得するために、EJB Bean を呼び出す必要があります。どうすればこれを達成できますか?

EntityValidator を @Stateless および @LocalBean としてマークしようとしましたが、JBoss は依然として私の EntityValidator を POJO として扱います。それについて何かできることはありますか?または、POJO から EJB を取得するにはどうすればよいですか。

4

3 に答える 3

2

Bean Validation 1.0以降、EJBをそのままバリデーターに注入することはできません。ただし、これはBeanValidation1.1で変更されます。

現在、次の可能性があります。

  • JNDIを介してEJBを取得します。MyEjb myEjb = InitialContext.doLookup(myEjbName);
  • 作成されたバリデーターオブジェクトにEJB参照を挿入するカスタムConstraintValidatorFactoryを実装します
  • Seam Validationを使用します。これにより、 @Inject(免責事項:私はSeam Validationの作成者です)を使用してバリデーターオブジェクトの依存性注入を有効にします。

Bean 1.1では、これはすぐに使用できるようになります

于 2013-03-05T09:01:19.507 に答える
1

Currently, injection is not working in validators.

I've read that there are plans for future extension of bean validaton to enable exactly that behaviour.

However, there should be extension like seam or deltaspike, which could enabled you to provide injection.

Check this: injection in validators

于 2013-03-05T08:19:05.860 に答える
0

jboss があなたの Bean を JPA バリデーターに注入するとは思いません。

JDNI を使用して、EJB の POJO をルックアップできます。

于 2013-03-05T08:10:38.527 に答える