В Spring Framework классы, представляющие событие, которое должно быть опубликовано ApplicationEventPublisher
и прослушано @EventListener
, EventObject <- ApplicationEvent <- PayloadApplicationEvent
.
Мой вопрос: что не может обнуляться source
в исходном конструкторе EventObject
и во всех конструкторах производных подклассов?
Javadocs дают довольно смутное объяснение, что это
"объект, на котором изначально произошло рассматриваемое событие" .
Это ассоциированная сущность домена или служба издателя или что-то еще?
Кроме того, я не понимаю, зачем вообще это делать, если @EventListener
заявляет, что "События могут быть ApplicationEvent экземпляры, а также произвольные объекты "?