DeploymentException:WELD-001408 在使用扩展 类 时注入
DeploymentException: WELD-001408 on injection when using extended classes
我有以下 DBO:
public abstract class DetailDbo{
....
}
public abstract class MasterDbo<T>{
....
}
public class B extends DetailDbo{
....
}
public class A extends MasterDbo<B>{
....
}
我的服务:
@Stateless
@LocalBean
public class MyService<T extends MasterDbo<D>, D extends DetailDbo>{
//implemetation
}
我的豆子:
public class MyBean<T extends MasterDbo<D>, D extends DetailDbo>{
@Inject
protected MyService<T, D> ws;
...
}
扩展 bean:
SpecialBean extends MyBean<A, B>{
//implemetation
}
在注入点出现以下异常:
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [MyService<A, B>] with qualifiers [@Default] at injection point [[field] @Inject protected com.xxx.xx.MyBean.ws]
为什么会出现此错误?
感谢帮助!
恭喜!您刚刚在 Weld 中发现了一个错误:https://issues.jboss.org/browse/WELD-1855
在等待修复期间,您可以使用此解决方法。将您的 EJB 更改为:
@Stateless
@LocalBean
public class MyService<T extends MasterDbo<? extends DetailDbo>, D extends DetailDbo>{
//implemetation
}
应该可以。
我有以下 DBO:
public abstract class DetailDbo{
....
}
public abstract class MasterDbo<T>{
....
}
public class B extends DetailDbo{
....
}
public class A extends MasterDbo<B>{
....
}
我的服务:
@Stateless
@LocalBean
public class MyService<T extends MasterDbo<D>, D extends DetailDbo>{
//implemetation
}
我的豆子:
public class MyBean<T extends MasterDbo<D>, D extends DetailDbo>{
@Inject
protected MyService<T, D> ws;
...
}
扩展 bean:
SpecialBean extends MyBean<A, B>{
//implemetation
}
在注入点出现以下异常:
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [MyService<A, B>] with qualifiers [@Default] at injection point [[field] @Inject protected com.xxx.xx.MyBean.ws]
为什么会出现此错误?
感谢帮助!
恭喜!您刚刚在 Weld 中发现了一个错误:https://issues.jboss.org/browse/WELD-1855
在等待修复期间,您可以使用此解决方法。将您的 EJB 更改为:
@Stateless
@LocalBean
public class MyService<T extends MasterDbo<? extends DetailDbo>, D extends DetailDbo>{
//implemetation
}
应该可以。