Скорее всего, вам лучше всего использовать 2 очереди.Один и тот же объект на каждой стороне может быть производителем в одной очереди и потребителем в другой.Тогда у вас есть:
Object1 "Hello world" -> queueDirection1 -> Object2 processes "hello world"
Object2 "Hello world" -> queueDirection2 -> Object1 processes "hello world"
Это теперь полностью асинхронно, без временных требований между очередями.
Я думаю, что любая конфигурация с одной очередью или одной темой представляет рискнежелательная блокировка или, возможно, самопринятие сообщения.Обязательно подумайте, как будет вести себя система, если скорость сообщений увеличивается или время обработки увеличивается.