# Listener order, an event returned from a listener, and a listener that throws


--- all listeners succeed ---
earliest     (@Order(-10), a different bean)
receipt      (@Order(0)) returns a ReceiptIssued
onReceipt    received ReceiptIssued[orderId=A-1]
first        (@Order(1))
second       (@Order(2))
unordered    (no @Order)

--- the @Order(2) listener throws ---
earliest     (@Order(-10), a different bean)
receipt      (@Order(0)) returns a ReceiptIssued
onReceipt    received ReceiptIssued[orderId=A-2]
first        (@Order(1))
second       (@Order(2))
publishEvent threw: IllegalStateException: second listener failed
