Вы должны иметь возможность ограничить размер пула MDB до 1, что гарантирует обработку сообщений в правильном порядке.
Конечно, если вам все еще нужен параллелизм, у вас есть несколько вариантов, но это действительно зависит от данных.
Если у некоторых сообщений есть что-то общее, и порядок обработки имеет значение только в той группе сообщений, которые имеют общее значение, то вам может потребоваться иметь несколько тем или использовать очереди и пул потоков.
Если, с другой стороны, некоторые части логики, связанной с приходом сообщения, могут выполняться параллельно, в то время как другие биты не могут, тогда вам нужно будет разделить логику на параллельные ok и параллельные-not-ok части, и обработайте эти биты соответственно.