![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
что такое пул соединений?
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Хранилище готовых к употреблению соединений. В данном случае речь шла о соединениях к базе данных. Обычно используют уже существующие пакеты, которые только настроить надо. После использования соединения оно возвращается обратно в хранилище и становится доступным другому желающему. Как книги в библиотеке. Это сообщение отредактировал(а) COVD - 18.5.2006, 18:27 |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
вы меня с SingleThreadModel о котором я и не слышал ни чего до этого топа запутали совсем
значить так, для каждого реквеста создаеться поток. но это вовсе не значит что это поток для своей обработки бирет инстанс сервлета из какого-то пула. не совсем так. апп сервер не знает и не может знать чего у вас там в сервлете запрограммировано. может вы "хороший" парень а может и нет. в конце концов вы в любом случае сталкиваетесь с массой незаметных на первых взгляд случаев синхронизации - например получении коннекта к базе из пула это операция синхронизированная и могущая занимать несколько секунд легко. да и не только она. апп сервер следит за количество потоков-реквестов и если их количество начинает сильно расти это значит что ваш единственый инстанс-сервлет "захлебываеться". вот в этом случае он и может создать еще один сервлетик в надежде что это поможет распределить загрузку. в большенстве случаев - поможет Но все это конечно теории и нюансы имплементации конкретного апп сервера, но вы как разработчик должны предполагать что ваше вэб приложение вполне может работать на апп сервере который плодит сервлеты начет того что хранить в контексте что-то это идея не лучшая - согласен полностью. да и честно говря не очень понятно, зачем. разве что ссылку на объект-синглтон туда пихать. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Неверная логика. Метод - он всегда один (не зависит от количества инстансев), потому что это описание, что надо сделать, набор инструкций. Метод doGet будет одновременно исполняться разными потоками, и у каждого потока будет свой участок памяти, где создаются локальные переменные метода. Инстансы же нужны, чтобы хранить состояние, данные. Если вы в сервлете их не храните, то увеличение количества обьектов сервлета не имеет смысла, это только отожрет память, и ничего более. Думаю, что создатели серверов это учитывали, и обьекты сервлетов будут плодиться только, если сервер об этом явно попросить, например, имплементируя SingleThreadModel. Т.е. если вы намерены хранить данные именно в сервлете (а не в сессии) и поэтому хотите иметь на каждый поток свой обьект сервлета. Это сообщение отредактировал(а) COVD - 18.5.2006, 21:03 |
|||
|
||||
| jimur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 21.4.2006 Репутация: 1 Всего: 3 |
||||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
jimur, быстрее сокетов ничего нету.
|
|||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
теоретически как разрешить проблему мне понятно, спасибо всем огромное, особенно ALKS'у....
только вот начальство пока не согласно с тем, что бы клиент пулил меня для асинхронного получения ответа буду копать в направление Web Service..... |
|||
|
||||
| jimur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 21.4.2006 Репутация: 1 Всего: 3 |
||||
|
||||
| ALKS |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
COVD, а блокировки где, как ты думаеш, храняться? в методе или все-таки в инстансе объекта? |
||||
|
|||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
||||
|
||||
| jimur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 21.4.2006 Репутация: 1 Всего: 3 |
Если я правильно понял второй модуль запускаетсся как отдельный процесс, возможно на другой машине, в нем должне жить реализованный тобой адаптер. Тогда решение примерно следующее: Реализуешь адаптер (RMI Server), который регистрируется в rmiregistry. Твой сервлет использует RMI Client для отправки заданий на сервер и для получения результатов. Вроде ничего сложного. |
|||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
ок, спасибо jimur. это еще один из вариантов решения проблемы....
а случаем ссылок на статьи или книги по технологии RMI нету? можно ли RMI Server реализовать на java (не java-script а именно джава)? |
|||
|
||||
| jimur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 21.4.2006 Репутация: 1 Всего: 3 |
ссылка на туториал http://www.google.ru/search?q=rmi+tutorial
этого достаточно для реализации простого приложения на jguru.com есть хороший раздел на эту тему спецификацию тоже хорошо бы прочитать
ммм... java-script то здесь вообще каким боком? |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
Эээ RMI (Remote method invocation ) это только Java. за пределами Java эта абревиатура не существует. в общем случае, вне языков программированя, такая техника называеться RPC (remote procedure call). RMI это по сути реализация RPC в Java.
|
|||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
jimur, не зная теории можно и не такие вопросы задать по поводу доков - неплохая инфа тут - RMI tutorial Добавлено @ 12:15 jimur, а в чем будет преимущество в использование RMI а не сокетов в моем случае? |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |