我有这个LoggerProducer
类,它被注入到一个@Stateless
bean 中以生成日志条目,如此处所述。
问题是当CustomerBean
被调用(甚至没有调用logger.info
)时,@Produces
方法(检索 bean 类名)以NullPointerException
. 这段代码有什么问题?
@Named
@Singleton
public class LoggerProducer {
@Produces
public Logger produceLogger(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger(
injectionPoint.getBean().getBeanClass()); // <- error here
}
}
注入记录器的bean:
import org.slf4j.Logger;
@Stateless
@LocalBean
@Named
public class CustomerBean {
@Inject
private Logger logger;
......
logger.info("some message");