Для консольного приложения Windows вы хотите использовать SetConsoleCtrlHandler для обработки CTRL + C и CTRL + BREAK.
См. здесь для примера .
Документация на самом деле довольно ясна:
ActiveMQ сохранит порядок сообщений, отправляемых одним производителем всем потребителям по теме. Если в очереди есть один потребитель, то порядок сообщений, отправленных одним производителем, также будет сохранен.
blockquote>Так как вы спрашиваете о Темах, первое предложение в значительной степени закрепляет его за вами, для Тем, порядок сохраняется, когда есть один производитель. Каждый подписчик в теме просматривает каждое отправленное сообщение и видит его в том порядке, в котором оно было отправлено (за исключением переупорядочения на основе приоритетов). Только когда вы говорите об очередях (не темах), порядок становится более сложным.
Для очереди вы больше не делаете pub / sub, вы делаете двухточечную передачу, и в этом случае несколько подписчиков конкурируют за сообщения из очереди, и, таким образом, у вас больше нет гарантии заказа, так как каждый потребитель будет принимать некоторые сообщения и в зависимости от предварительной выборки они будут принимать их в некоторых пакетах, которые вы не можете предсказать.