gpt4 book ai didi

java - 使用 ExceptionMapper 进行 CDI 注入(inject)- @inject null

转载 作者:行者123 更新时间:2023-11-30 10:47:02 26 4
gpt4 key购买 nike

我有以下 ExceptionMapper:

 @Provider
public class GenericExceptionMapper
implements ExceptionMapper<Exception> {
@Inject
private ExceptionDAO exceptionDAO;

@Override
public Response toResponse(Exception e) {
LOGGER.error(e.getMessage(), e);
return Response.status(INTERNAL_SERVER_ERROR)
.type(MediaType.TEXT_PLAIN)
.entity(e.getMessage())
.build();
}

exceptionDAO 总是空的。我有一个 beans.xml

 <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee /beans_1_0.xsd"
></beans>

我尝试注入(inject)很多类,但它们总是显示为 null。

最佳答案

被管理的类 (ExceptionDAO) 和注入(inject)它的类都需要是 CDI 感知的。在这种情况下,这可能涉及使用 @RequestScoped(或其他 CDI 正常范围)标记两个类。

不要删除 @Provider 或其他 JAX-RS 注释;只需添加 CDI 注释即可。

关于java - 使用 ExceptionMapper 进行 CDI 注入(inject)- @inject null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36267886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com