powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / tomcat+Servlet+JSP+StoredProc
25 сообщений из 40, страница 1 из 2
tomcat+Servlet+JSP+StoredProc
    #38784011
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Ситуация:
Есть jsp с кнопкой submit.Сабмит вызывает метод сервлета, который коннектится к Oracle и вызывает процедуру с помощью executeUpdate() (процедура легкая-запускает JOBы по их ID).После этого идет переход обратно на jsp с сообщением о том что выполнено.

Вопрос: Сервлет ждет пока выполниться процедура в вызванном JOBе . Можно ли не ждать пока выполниться executeUpdate и сразу перейти обратно на jsp?


В процедуре и JOBах уверен заранее.

Спасибо.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784022
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeвызывает процедуру с помощью executeUpdate() (процедура легкая-запускает JOBы по их ID)
Почему не execute() ?

altjkeВопрос: Сервлет ждет пока выполниться процедура в вызванном JOBе . Можно ли не ждать пока выполниться executeUpdate и сразу перейти обратно на jsp?

Можно не ждать. AJAX, JEE WorkManager, Asynchronous Processing (Servlet 3.0) и 100500 аналогичных способов запустить фоновый процесс.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784041
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

Сразу в процедуре асинхронно запускать джоб.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784204
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczaltjkeвызывает процедуру с помощью executeUpdate() (процедура легкая-запускает JOBы по их ID)
Почему не execute() ?

altjkeВопрос: Сервлет ждет пока выполниться процедура в вызванном JOBе . Можно ли не ждать пока выполниться executeUpdate и сразу перейти обратно на jsp?

Можно не ждать. AJAX, JEE WorkManager, Asynchronous Processing (Servlet 3.0) и 100500 аналогичных способов запустить фоновый процесс.

1.Особой разницы не нашёл, если есть ключевой момент-буду рад услышать.
2.Существуют ограничения на используемые ср-ва.Можно ли сделать это в рамках представленных мной компонентов?
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784210
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke2.Существуют ограничения на используемые ср-ва.Можно ли сделать это в рамках представленных мной компонентов?
Вышеперечисленые средства целиком и полностью в рамках представленных вами компонентов. Разве что вы портлет какой пишете или плагин для JIRA?
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784216
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke1. Особой разницы не нашёл, если есть ключевой момент-буду рад услышать.
execute() - просто и понятно.
CallableStatement.executeUpdate() - при чтении кода вызывает WTF, с вопросами что именно хранимка апдейтит и почему результат этого апдейта в коде игнорируется. Соответсвтенно увеличивает WTF per minute - главный критерий качества кода.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784218
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FDaltjke,

Сразу в процедуре асинхронно запускать джоб.
Процедура(назовем SP1 ) запускаемая в сервлете и запускает джоб(назовем what - SP2 ). По идее блокировка сессии происходит на момент запуска SP1 , а по факту на SP2 , а насколько я знаю джобы создают свои сессии.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784224
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

Код: java
1.
  new Thread(service:runCallableStatementToScheduleNewJob).start();
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784225
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczaltjke2.Существуют ограничения на используемые ср-ва.Можно ли сделать это в рамках представленных мной компонентов?
Вышеперечисленые средства целиком и полностью в рамках представленных вами компонентов. Разве что вы портлет какой пишете или плагин для JIRA?
Нет, просто никогда не сталкивался с этими вещами на практике. Если кинете пару примеров реализации AJAX под сервлеты, буду признателен.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784229
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeНет, просто никогда не сталкивался с этими вещами на практике. Если кинете пару примеров реализации AJAX под сервлеты, буду признателен.
Дык вот же они.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784280
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczaltjkeНет, просто никогда не сталкивался с этими вещами на практике. Если кинете пару примеров реализации AJAX под сервлеты, буду признателен.
Дык вот же они.
Прошерстил ссылок 50, не нашёл нужного.
Интересуют конкретные примеры для данной задачи.А именно: вызов execute без ожидания ответа.Сталкивались с этим раннее?Может завалялось пару источников хороших.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784284
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeПрошерстил ссылок 50, не нашёл нужного.

Бывает.

altjkeИнтересуют конкретные примеры для данной задачи.А именно: вызов execute без ожидания ответа.Сталкивались с этим раннее?Может завалялось пару источников хороших.
Конкретно по этому вопросу уже ответил конкретным кодом: 16743789
Только это грабли. Но раз вам лень изучать более правильные технологии для реализации асинхронных процессов в JEE, то пользуйтесь этим простым кодом.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784295
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczaltjkeПрошерстил ссылок 50, не нашёл нужного.

Бывает.

altjkeИнтересуют конкретные примеры для данной задачи.А именно: вызов execute без ожидания ответа.Сталкивались с этим раннее?Может завалялось пару источников хороших.
Конкретно по этому вопросу уже ответил конкретным кодом: 16743789
Только это грабли. Но раз вам лень изучать более правильные технологии для реализации асинхронных процессов в JEE, то пользуйтесь этим простым кодом.
Не лень, просто время нехватает на разбор всех этих прелестей.Сам понимаю что так код не пишут, но что поделаешь.

Позвольте несколько вопросов по new Thread().start();

1) Предполагает создание нового потока ответ которого сервлет ждать не будет?
2) В него я помещаю мой execute?
3) Как в этом случае закрывать соединение с базой?

Спрашиваю потому что не мею возможности просмотра большинства ссылок в интернете в т.ч. и доки.
Заранее спасибо.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784310
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke1) Предполагает создание нового потока ответ которого сервлет ждать не будет?

Проблемы будут только пре деплоее\редеплоее\остановки контейнера. Поэтоу JEE спека запрещает использовать свои потоки и вместо этого предлагает использовать JEE WorkManager, Asynchronous Processing (Servlet 3.0) или JMS, которые вам "некогда" изучать.

altjke2) В него я помещаю мой execute?

Не только.

altjke3) Как в этом случае закрывать соединение с базой?

Получение соединения из пула, запуск процедуры и закрытие соединения нужно всё поместить в этот поток, так как JDBC API не является потокобезопасным. И каждому потоку желательно иметь (получать и отдавать) своё соединение, чтобы не влиять на другие потоки.

altjkeСпрашиваю потому что не мею возможности просмотра большинства ссылок в интернете в т.ч. и доки.
Большой китайский firewall мешает?
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784340
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПроблемы будут только пре деплоее\редеплоее\остановки контейнера. Поэтоу JEE спека запрещает использовать свои потоки и вместо этого предлагает использовать JEE WorkManager, Asynchronous Processing (Servlet 3.0) или JMS, которые вам "некогда" изучать.


Когда возникнут ситуации деплоя/редеплоя/отключения томкат джобы запущенные таким образом все равно работают(сейчас), думаю и с потоками должно быть так же.

Насчет файрвола - все может быть)

Спасибо за ответы.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784352
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeКогда возникнут ситуации деплоя/редеплоя/отключения томкат джобы запущенные таким образом все равно работают(сейчас), думаю и с потоками должно быть так же.

Если потоки по каким-то причинам зависнут на долго, то они будут держать ссылку на все классы war модуля задерживая его выгрузку из PermGen/Metaspace.
Так же потоки могут задерживать штатную остановку контейнера.
Есть и другие причины по которым JEE требует использовать только свои потоки. Но в такой простой задаче они не так актуальны.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784374
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke0FDaltjke,

Сразу в процедуре асинхронно запускать джоб.
Процедура(назовем SP1 ) запускаемая в сервлете и запускает джоб(назовем what - SP2 ). По идее блокировка сессии происходит на момент запуска SP1 , а по факту на SP2 , а насколько я знаю джобы создают свои сессии.

Если SP2 не надо использовать текущую сессию, то можно запустить с use_current_session=FALSE без блокировки сессии, но тогда нельзя запустить SP2 параллельно.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784433
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FD[но тогда нельзя запустить SP2 параллельно.
Параллельно с чем? с SP1? да мне это и не нужно.
у меня SP1 примерно такого вида:

Код: plsql
1.
2.
3.
begin
dbms_job.run(1234);
end;



А what в джобе с id=1234 лопатит миллион записей.
Мне параллель SP1 и SP2 нафиг ненужна.Мне нужно чтобы SP1 запустило джоб(джоб в свою очередь создал свою сессию) и вернул ответ типа - я молодец,я запустил джоб!А рез-т джоба мне ждать не надо,там своя обработка.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784460
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

не получится запустить параллельно несколько SP2
так используй DBMS_SCHEDULER.RUN_JOB, зачем старый использовать dbms_job
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784486
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FDaltjke,

не получится запустить параллельно несколько SP2
так используй DBMS_SCHEDULER.RUN_JOB, зачем старый использовать dbms_job
На шедулер прав нету :( а так бы с радастью

А SP2 не могут одновременно выполняться и так.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784619
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeИнтересуют конкретные примеры для данной задачи.А именно: вызов execute без ожидания ответа.Сталкивались с этим раннее?Может завалялось пару источников хороших. http://assenkolov.blogspot.ru/2012/06/performance-of-long-running-requests.html
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784720
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeПосле этого идет переход обратно на jsp с сообщением о том что выполнено.
Эта часть интересна?
Ведь Вы понимаете, что если сервлет отвечает не дождаясь окончания операции с БД, то еще как-то надо узнать этот результат. :)
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784921
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей АрсеньевaltjkeПосле этого идет переход обратно на jsp с сообщением о том что выполнено.
Эта часть интересна?
Ведь Вы понимаете, что если сервлет отвечает не дождаясь окончания операции с БД, то еще как-то надо узнать этот результат. :)
Интересен ответ что JOB запустился,а рез-т работы joba обрабатывается на уровне оракла.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784936
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeИнтересен ответ что JOB запустился,а рез-т работы joba обрабатывается на уровне оракла.
+1
JOB сам по себе асинхронный. И не требует над собой асинхронного сервлета.
Иначе это просто хранимка.
...
Рейтинг: 0 / 0
tomcat+Servlet+JSP+StoredProc
    #38784949
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123altjkeИнтересен ответ что JOB запустился,а рез-т работы joba обрабатывается на уровне оракла.
+1
JOB сам по себе асинхронный. И не требует над собой асинхронного сервлета.
Иначе это просто хранимка.

Но сервлет почему то ждет пока процедура в JOBe отработает :(
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / tomcat+Servlet+JSP+StoredProc
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]