Mar*_*tin 14 code-injection java-ee cdi
我正在尝试Greeter在Wildfly 8.2内部运行的EJB上注入给定类型()的对象.但是,部署始终会失败并显示消息
Unsatisfied dependencies for type Greeter with qualifiers @Default
我试图用注释GreeterImpl和注入点注释,@Default但这也没有用.我在这里错过了什么吗?
我的Greeter界面:
public interface Greeter {
    public void sayHi();
}
我的GreeterImpl班级(唯一实施的班级Greeter):
public class GreeterImpl implements Greeter {
    private static final Logger LOGGER = LoggerFactory.getLogger(GreeterImpl.class);
    @Override
    public void sayHi() {
        LOGGER.info("Hi!");
    }
}
我的ScheduledGreeterEJB:
@Stateless
public class ScheduledGreeter {
    @Inject
    private Greeter greeter;
    @Schedule(second = "*/15", minute = "*", hour = "*")
    public void sayHi() {
        greeter.sayHi();
    }
}
我在这里错过了一些关于CDI的事吗?我需要一个beans.xmlat META-INF来实现吗?
编辑: 我正在将它部署为warWildfly,如果这甚至很重要的话.
Joh*_*ent 29
在Java EE 7中,JAR/WAR的默认扫描是annotated,如果您没有beans.xml指定扫描模式,则默认为基于注释的扫描.
你的类,GreeterImpl没有bean定义注释 - 特别是没有范围.您可以通过添加beans.xml或添加@Dependent(或其他范围)来覆盖它GreeterImpl
| 归档时间: | 
 | 
| 查看次数: | 31499 次 | 
| 最近记录: |