Клиент JAX-WS, использующий апплет - PullRequest
1 голос
/ 21 февраля 2011

Кажется, что я попадаю в проблемный сценарий, когда объединяю архитектуру JAX-WS с управлением сеансом всего этого с помощью клиента апплета.

Для поддержки сеанса я добавил в порт клиентаследующее свойство BindingProvider.SESSION_MAINTAIN_PROPERTY.

Однако дело в том, что когда я вызываю два экземпляра апплета (обращаясь к веб-сайту на двух вкладках) одновременно, сеанс смешивается между двумя клиентами.Я подозреваю, что это связано с тем фактом, что несколько экземпляров апплета используют один и тот же экземпляр JVM и, таким образом, между ними используется статический код.Однако я не могу понять, какая часть используется в обоих экземплярах.

Я убедительно подтвердил, что эта проблема смешивания сеансов возникает только при одновременном запуске экземпляров из одного и того же браузера, т. Е. Когда используется статический код JVM,Другими словами, код управления сеансом работает правильно во всех других случаях, которые я тестировал.

1 Ответ

1 голос
/ 21 февраля 2011

.. Я подозреваю, что это связано с тем, что несколько экземпляров апплета используют один и тот же экземпляр JVM.

Со страницы Next Generation вТехнология подключаемых модулей Java для апплетов .

Новый способ выполнения апплетов

Новый способ выполнения апплетов имеет архитектурное сходство с технологией Java Web Start, но более тесную интеграцию с браузером,Апплеты больше не выполняются на виртуальной машине Java (JVM) внутри веб-браузера.Вместо этого для выполнения апплетов запускается отдельный машинный процесс JVM .По умолчанию , запускается только одна машина JVM, но у вас есть возможность запустить более одной JVM ...

(выделение)

Testваши подозрения.

...