Вы можете подумать о настройке встроенного JMS-сервера в своем приложении, я бы порекомендовал ActiveMQ, поскольку его очень просто внедрить.
Для того, что вы хотите сделать, тема JMS идеально подходит. Когда кассир пробивает заказ, заказ записывается не в базу данных, а в сообщении в теме, назовем его newOrders.
На тему есть 2 подписчика: NewOrderPersister и KitchenNotifier. Каждый из них будет иметь метод onMessage (Message msg), который содержит детали заказа. Один сохраняет его в базе данных, другой добавляет его на экран или выкрикивает через кухню с текстом в речь, что угодно.
Приятной частью этого является то, что постеру не нужно знать, кто и сколько подписчиков ожидает сообщений. Поэтому, если вы хотите, чтобы NewOrderCOunter в бэк-офисе вел учет в режиме онлайн того, сколько денег сделал владелец сегодня, или добавляете «FreanchFiresOrderListener», чтобы иметь специальный дисплей рядом с глубокой сковородой, в остальной части ничего не нужно менять приложение. Они просто подписываются на тему.