我在尝试部署web应用程序时遇到以下错误:
在注入点[BackedAnnotatedField]处具有限定符@Default\n的AuthzInfo类型的依赖项不明确
可能的依赖项:\n-Producer方法[AuthzInfo],其限定符[@Any@Default]声明为[[BackedAnnotatedMethod]@producers@RequestScoped
我只创造了一个这样的制作人:
@Produces @RequestScoped
public AuthzInfo getAuthzInfo(@Context HttpServletRequest httpRequest)
//...
}
我正在使用@Inject注释
:
@Inject private AuthzInfo authzInfo;
但是,我已经创建了一个@MONTUser
注释,并且使用此注释标记了@Producer@MONTUser
和@Inject@MONTUser
。问题已经解决了。
为什么我需要使用此工作环境?只有一个生产者生成AuthInfo
对象。
producer方法返回AuthzInfo
,但AuthzInfo
本身是一个CDI管理的bean。这就是为什么它是不明确的,在这种情况下需要一个限定符。
您可能正在bean中使用
。bean发现模式=“all”
。xml
如果您更改为Bean-Disportation-Mode="注释"
(CDI 1.2中的默认值,并且不需要beans.xml
),则只会发现具有bean定义注释的类,而忽略所有其他类:
2.5.1。Bean定义注释
bean类可以具有bean定义注释,允许将其放置在应用程序中的任何位置,如Bean Archives中定义的。带有bean定义注释的bean类被称为隐式bean。
bean定义注释集包含:
>
@ApplicationScoped
,@SessionScoped
,@ConversationScoped
和@RequestScoped
注释,
所有其他正常范围类型,
@Interceptor
和@Decorator
注释,
所有原型注释(即注释为@Steretype pe
的注释),
以及@相关的
范围注释。
我试图修改我们现有的CDI扩展,它创建自己的代理bean。现在只有一个为每个服务创建的代理。服务有类似于应用程序范围的东西,所以服务总是只有一个实例。 我想要完成的是为每个注入点创建一个代理bean。我需要它们来存储特定于给定注射点的一些信息。如果同一个服务有更多的注入点,那么将有更多的代理bean,但它们后面仍然有一个服务实例。但是,当我以这种方式更改行为时,Weld会抱怨不明确的依赖关系,因为
我正在尝试弄清楚Disruptor是否适合我的应用程序:一个相当复杂的负载生成器,用于长时间对高性能数据库进行基准测试。Disruptor模式很有吸引力,因为: 高吞吐量 低延迟 无垃圾/可预测的长时间运行行为 应用程序拓扑的简化版本如下: ===P1=== 由馈送的系统组件有1个生产者馈送许多并行消费者(当前为)。每个事件应该由这些消费者之一恰好处理一次。排序约束是:如果A在B之前产生,那么A将
我需要将bean的同一个实例注入到我的应用程序的几个地方,并创建了以下工厂类,该类使用注释来初始化bean,注释来返回bean的同一个实例。 我遇到的问题是,当我部署应用程序GlassFish时,会返回以下错误消息: 我可以通过添加注释来克服这个异常,但是这似乎不是解决问题的最佳方法。 我不想在应用程序中到处添加一个限定符,因为使用不同的实现需要在多个地方更改代码。其目的是,工厂的更高版本将读取配
我正试图将我的JSF应用程序迁移到CDI。我已经暗示了以下变化: null deploymentException:WELD-001409类型[EagerBeansRepository]在注入点[[BakedAnnotatedField]@inject private org.omnifaces.applicationListener.EagerBeansRepository]具有限定符[@def
有人能解释一下CDI范围注释在生产者中的作用吗?他们似乎什么也做不了。 这些,自然地,在启动时给出了这个(省略的)错误。 WELD-001409:类型的依赖关系不明确。可能的依赖关系: 带有限定符[@Any@Default]的生产者方法[Thing]声明为[[BackedAnnotatedMethod]@生成公共pkg。测验东西制作人。thingMaker(), 因此,尽管“RequestScop
我正在从WF 7.4.0迁移。最终比分为16.0.0。最终的在解决了不同模块的升级问题后,我遇到了以下问题:一个不明确的依赖项异常。如何保持与两个数据库的连接? SessionFactory hibernate-core-5.3.9现在似乎是从EntityManagerFactory扩展过来的,而它没有扩展到hibernate-core-4.2.14(WF7.4)。SessionFactory在H