javax.enterprise.event.Event初始化

问题描述 投票:2回答:1

[嗨,我正在关注这篇文章Best practice for REST token-based authentication with JAX-RS and Jersey以实现基于令牌的身份验证系统。当我部署服务时,tomcat正在启动,并且没有出现任何与自动装配或其他错误有关的错误,但是当我碰到控制器时,由于该事件显示userAuthenticatedEvent的空指针异常,因此无法触发该事件。我认为该事件尚未初始化。

@Autowired
@AuthenticatedUser
private Event<Long> userAuthenticatedEvent;
java authentication jax-rs
1个回答
0
投票

您需要在声明中使用@InjectEvent<T>中的javax.enterprise.event类由CDI自动管理和实例化。当您需要触发该事件时,只需使用fire()在其中传递T类型的参数即可。例如:

@Inject@AuthenticatedUserprivate Event<Long> userAuthenticatedEvent;

userAuthenticatedEvent.fire(*some Long value*);

© www.soinside.com 2019 - 2024. All rights reserved.