У меня есть следующий customEventPublisher-class:
@Component
public class CustomEventPublisher {
@Autowired
private static ApplicationEventPublisher applicationEventPublisher;
public static void doStuffAndPublishAnEvent(User user) {
OnPostUserDataEvent onPostUserDataEvent = new OnPostUserDataEvent(user, REST_URL);
applicationEventPublisher.publishEvent(onPostUserDataEvent);
}
}
publishEvent-метод, вызванный в Service:
public User create(User user) {
CustomEventPublisher.doStuffAndPublishAnEvent(user);
return repository.save(user);
}
config:
<context:component-scan base-package="example.service"/>
<context:component-scan base-package="example.util.emailUtil"/>
Событие реализовано в:
public class OnPostUserDataEvent extends ApplicationEvent {
private static final long serialVersionUID = 1L;
private String appUrl;
private User user;
public OnPostUserDataEvent(User user, String appUrl) {
super(user);
this.user = user;
this.appUrl = appUrl;
}
}
И я улавливаю исключение NullPointedException для:
applicationEventPublisher.publishEvent(onPostUserDataEvent)
Возможно, ApplicationEventPublisher не является @Autowired, но я не могу понять, почему.