2016-06-11 17 views
1

でカスタム予選結果に@Namedからの移行します@Message修飾子は次のようになります。完全を期すためは、私は本当に簡単なJAX-RSサービスを持っているNPE

@Qualifier 
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER }) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface Message { 
} 

、私が持っている他のコードは、JAX-RSアクティベータークラスです:

@ApplicationPath("/rest") 
public class JAXRSActivator extends Application { 
} 

空のbeans.xml。私が使用しているアプリケーションサーバーはWildfly 10.0.10です。

/rest/testにGETすると、コンテンツタイプがplain/textで、テキストが "java.lang.NullPointerException"で、応答が500になります。しかし、ログやメッセージにはこれ以上の情報はありません(特に、NPEの出所ではありません)。

私のproducerメソッドが呼び出されますが、Serviceクラスのmy test()メソッドは呼び出されません。

これは@Messageの代わりに@Named( "message")を使用するとうまく動作しますので、何が欠けていますか?

答えて

2

tldr; @Messageをパッケージに入れてください。

これはあなたが推測しているように、これは何かをテストするためのおもちゃの例でした。私はそれをデフォルトのパッケージにすべて投げました。

Hibernateバリデータは、パッケージが存在すると仮定して、デフォルトパッケージ内の注釈を処理しません。

関連する問題