【问题标题】:Ambiguos injection for HashMap from producer with CDI使用 CDI 的生产者对 HashMap 的模糊注入
【发布时间】:2013-09-16 01:37:52
【问题描述】:

我有以下课程:

public class MyMap extends HashMap {
   public MyMap () { }
   some more methods...
}


@SessionScoped
public ProducerClass implements Serializable {
   @Produces @MyItem  HashMap<A,B> produceItems () { }
}

@Named 
public ConsumerClass {
  @Inject @MyItem HashMap<A,B> property;
}

@Retention(RUNTIME)
public @interface MyItem {
}

我在 ConsumerClass 的 MyMap 和 HashMap 的属性中得到错误不明确的注入点。

怎么可能?我认为注入类是通过@MyItem 注释给出的唯一的。

【问题讨论】:

    标签: java cdi producer


    【解决方案1】:

    你必须将MyItem标记为CDI Qualifier,否则这个注解将无用。

    @Qualifier
    @Retention(RUNTIME)
    public @interface MyItem {
    }
    

    应该做的工作。

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 2017-02-09
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 2023-03-29
      • 2013-01-07
      • 2012-06-10
      • 1970-01-01
      相关资源
      最近更新 更多