読者です 読者をやめる 読者になる 読者になる

WildFly で StereoType に CDI Scope を指定しても上手く認識してくれない

関西WildFly 8(旧JBoss AS)勉強会 - connpass やるので、ちょこちょこネタ出し。

タイトルの通りなんですが、GlassFish4.0 では上手く動いて WildFly8.0.0 - 8.1.0 では上手く動きませんでした。
そんな困らなかったので詳しく追っかけてないですが、なんでなんでしょうねー?

2014/08/26 追記:WildFly のバグとして登録されました。
WildFly で StereoType に CDI Scope を指定しても上手く認識してくれない件を調べる - nekop's blog
[WFLY-3774] CDI bean with StereoType is not injectable in implicit bean archive - JBoss Issue Tracker

以下サンプルコード
Model.java

package hoge;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Stereotype;
import javax.inject.Named;

@Stereotype
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Named
@RequestScoped // これが効かない!
public @interface Model {
}

BackingBean.java

package hoge;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;

@Model // ここの RequestScoped が効いてくれない!
// これ外すと javax.el.PropertyNotFoundException だったり、
// BackingBean を他で Inject してたら CDI のデプロイエラー
@RequestScoped
public class BackingBean {
  private static final long serialVersionUID = 1L;

  private String test;
  public String getTest() { return test; }
  public void setTest(String value) { test = value; }
  public void output() {
    System.out.println(test);
  }
}