我试图将给定类型的对象(Greeter
)注入运行在Wildfly 8.2内部的EJB中。但是,部署总是会失败,并显示消息
Unsatisfied dependencies for type Greeter with qualifiers @Default
我试图用@Default
注释GreeterImpl和注入点,但这也不起作用。我错过了什么吗?
我的迎宾员
界面:
public interface Greeter {
public void sayHi();
}
MyGreeterImpl
类(唯一实现Greeter
的类):
public class GreeterImpl implements Greeter {
private static final Logger LOGGER = LoggerFactory.getLogger(GreeterImpl.class);
@Override
public void sayHi() {
LOGGER.info("Hi!");
}
}
我的ScheduledGreeter
EJB:
@Stateless
public class ScheduledGreeter {
@Inject
private Greeter greeter;
@Schedule(second = "*/15", minute = "*", hour = "*")
public void sayHi() {
greeter.sayHi();
}
}
我是不是错过了CDI的一些东西?我需要豆子吗。xml
atMETA-INF
这样做有效吗?
编辑:我将把它作为war
部署到Wildfly,如果这很重要的话。
在JavaEE 7中,JARs/WARs的默认扫描是注释的
,这意味着如果您没有指定扫描模式的beans.xml
,它将默认为基于注释的扫描。
您的类,GreeterImpl
没有定义bean的注释,尤其是没有作用域。您可以通过添加bean来覆盖此功能。xml
或通过将@Dependent
(或其他作用域)添加到GreeterImpl
在JBoss上部署我的Java应用程序时,我遇到了一个愚蠢的问题。在我使用接口类更改源代码之前,一切都很好。所以我的问题是: 10:05:34,838错误[org.jboss.MSC.service.fail](MSC服务线程1-6)MSC00001:无法启动服务jboss.deployment.unit。“MDK-Exchange-1.1.0.war”。WeldService:org.jboss
我在JBoss上部署我的Java应用程序时遇到了一个愚蠢的问题。在我使用接口类更改源代码之前,一切都很好。所以这是我的问题: ... 在JBoss 7.1上部署时会出现以下错误: 10:05:34838错误[org.jboss.msc.service.fail](msc服务线程1-6)MSC00001:无法启动服务jboss。部署。单元“mdk-exchange-1.1.0.战争”。WeldSer
我有豆子如下所示。 我得到的错误就像 我做错什么了吗。
我有以下代码来管理两种存储库。这两个存储库类都继承了一个接口,以允许重新初始化它们的资源。 全球应用范围回购: 每个用户,会话范围的回购: 将此(不带)注入上下文时 但是,当向UserRepository类添加时,部署失败,例外情况如下: 添加CDI bean的名称,如 会导致相同的异常。唯一与一起工作的是使用var声明中的接口: 然而,我可能需要子类功能,所以使用并不是真正需要的(目前)。 问题
我在时出错。我不明白为什么。 我的应用服务器:GlassFish 4.1.2 当我创建我的类时,服务器给出一个错误 当我@Inject我创建的类时,服务器给出了一个错误 我想把它注入另一个类,比如: UserService实现java类 Maven pom xml文件
在部署到jboss arquilian服务器时,我遇到了以下问题(在部署本地jboss服务器时似乎没有这个问题 org.jboss.weld.exceptions.DeploymentException:WELD-001408类型[CarPolicyServiceWithContext]的依赖项不满足,其限定符为[@default],位于注入点[[field]@Inject com.athlon.