MDC на JBoss6 смешивая данные сеанса
У нас очень странное поведение в JBoss 6.1 при использовании MDC. Наше приложение представляет собой веб-службу SOAP, и при подключении к службе мы генерируем уникальный идентификатор транзакции, который мы устанавливаем в MDC для целей регистрации.
Теперь это работает нормально, когда я запускаю сервер на локальном компьютере в автономном режиме. Кажется, он отлично работает на другом сервере, который является частью кластера с двумя серверами. Другая машина не работает нормально. И затем у нас есть еще шесть серверов, которые находятся в том же кластере, где он не работает, как предполагалось.
Что происходит, так это то, что уникальный идентификатор транзакции, установленный MDC.put, смешивается между потоками. Как только новый клиент подключается к службе и получает новый идентификатор транзакции, все остальные активные сеансы получают такой же идентификатор транзакции. И когда сеанс заканчивается, и мы удаляем идентификатор транзакции MDC из этого сеанса, он удаляется из всех активных сеансов.
Я понятия не имею, как решить эту проблему, так как не могу воспроизвести проблему на моей локальной машине. И в кластере с двумя машинами, где одна работает, а другая нет, нет никакой разницы, которую я могу найти в конфигурации JBoss.
Кто-нибудь есть какие-либо предложения о том, как отследить, в чем проблема на самом деле?
Спасибо