Одновременное использование EJB, представленного как служба RMI - PullRequest
0 голосов
/ 04 ноября 2010

Я создал приложение, которое имитирует несколько клиентов, использующих один и тот же сервис RMI.Этот сервис затем вызывается одновременно каждым клиентом, получающим и загружающим данные на сервер.Меня беспокоит, если каждый вызов удаления занимает некоторое время, может ли реализация удаленного сервиса (JBoss 5 EJB) обрабатывать эти вызовы удаленно или сериализует их вниз.

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

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

Вызовы RMI не секвенированы, если реализации удаленного метода не выполняют какую-либо синхронизацию.Это относится как к RMI / JRMP, так и к RMI / IIOP.

1 голос
/ 04 ноября 2010

Что именно вы имеете в виду?

Вы имеете в виду, что есть несколько клиентов, каждый из которых получает удаленный EJB-компонент и затем вызывает метод на полученном ими заглушке / прокси-сервере или выполняет большое количествоклиенты используют один прокси?

А о каких EJB-бинах идет речь?Сессионные компоненты без сохранения состояния?

Эти компоненты объединяются сервером и при каждом входящем в них удаленном вызове метода экземпляр назначается рабочему потоку из пула потоков.Так что да, если количество запросов в заданном временном интервале больше, чем количество доступных экземпляров бина и рабочих потоков, тогда эти избыточные запросы должны будут ждать, пока бин станет доступным.

Это автоматическиймеханизм дросселирования таким образом.

...