Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用CDI从生产者处为HashMap注入歧义_Java_Cdi_Producer - Fatal编程技术网

Java 使用CDI从生产者处为HashMap注入歧义

Java 使用CDI从生产者处为HashMap注入歧义,java,cdi,producer,Java,Cdi,Producer,我有以下课程: public class MyMap extends HashMap { public MyMap () { } some more methods... } @SessionScoped public ProducerClass implements Serializable { @Produces @MyItem HashMap<A,B> produceItems () { } } @Named public ConsumerClass

我有以下课程:

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 {
}
公共类MyMap扩展了HashMap{
公共MyMap(){}
还有一些方法。。。
}
@会议范围
public ProducerClass实现了可序列化{
@生成@MyItem HashMap produceItems(){}
}
@命名
公共消费类{
@注入@MyItem HashMap属性;
}
@保留(运行时)
public@interface-MyItem{
}
我在MyMap和HashMap表单ConsumerClass的属性处获得错误注入点

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

必须将MyItem标记为CDI限定符,否则此注释将无效

@Qualifier
@Retention(RUNTIME)
public @interface MyItem {
}
应该完成这项工作。

您必须将MyItem标记为CDI限定符,否则此注释将无效

@Qualifier
@Retention(RUNTIME)
public @interface MyItem {
}
我应该做这项工作