|
|
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Есть микроприложение написанное на play-1.4.3 и работающее под tomcat-ом Все, что делает - это принимает пост-запрос и отправляет его в процедуру БД (oracle) Все работает, но есть одна проблема: Если при старте приложения БД еще не работает(а оракл запускается всяко дольше), то томкэт пишет Error listenerStart и приложение больше не подымается. Если БД перезапустить во время работы то приложение также перестанет работать, пока его не перезапустишь. Есть ли возможность сделать что-то типа lazy-коннекта и reconnect к БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 09:37 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Migelle, Воткните пул соединений с БД. И настройте в нем валидацию. Пул будет пересоздовать подключения. Покажите код работы с базой. Play это ведь Web фреймверк. Какое он вообще имеет отношение к вопрос? Или там ORM встроен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 09:41 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
MigelleЕсть ли возможность сделать что-то типа lazy-коннекта и reconnect к БД? странно админские проблемы тащить в код приложения. У меня тоже на сайте оракл дольше стартует, но: - перегружаю хостинг я раз в 2 года - оракл каждый час не перегружают - операционка сначала грузит оракл а потом томкат MigelleЕсть ли возможность сделать что-то типа lazy-коннекта и reconnect к БД? можно. Но опять таки юзверь ждать часики или сообщение будет? Или ему экран затемнить с мессагой Ждите? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 09:57 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Petro123- операционка сначала грузит оракл а потом томкат У меня это разные машины. Petro123Но опять таки юзверь ждать часики или сообщение будет? Там нет юзверей вообще. Там железяки общаются, они подождут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:12 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Migelle, программист? Покажи код где у тебя ошибка. Т.к. при синхронном POST ответа та машина не дождётся и все сообщения потеряются. Слишком много вариантов решения. Migelle. Там железяки общаются, они подождут. каким образом железяка ждёт и накапливает свои желания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:19 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Migelle, делай оракл доступным 24х7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:20 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВоткните пул соединений с БД. И настройте в нем валидацию. Пул настроен, но где там настроить валидацию? Ничего подобного в доке не нашел. BlazkowiczПокажите код работы с базой. Вот конфигурация из application.conf Код: java 1. 2. 3. 4. 5. 6. 7. 8. Вызов происходит так Код: java 1. 2. 3. P.S. Проблема в том, что ява для меня почти темный лес, но приходится подправлять чужое приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:23 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Migelle, то что 5 минут старта оракле и потеряются за это время записи от POST имеет значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:26 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
MigelleПроблема в том, что ява для меня почти темный лес фигово. Вот эти 3 строки должны быть многократно выполнянемыми даже после райзе в try Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:36 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Petro123Migelle, то что 5 минут старта оракле и потеряются за это время записи от POST имеет значение? Проблема в том, что если в момент старта нет соединения с ораклом, приложение вообще не загружается Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:41 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
MigelleПроблема в том, что если в момент старта нет соединения с ораклом, приложение вообще не загружается я этот FW не знаю, но в общем случае надо вырубать код, пока не найдёшь строки инициализации коннекта к БД. Приложение будет грузится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:44 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Petro123Вот эти 3 строки должны быть многократно выполнянемыми даже после райзе в try Пересоединения не происходит вообще, сколько бы туда не стучалось запросов. Только перезапуск томката/приложения решает проблему. Я, конечно, поставлю какой-нибудь вотчдог, чтоб перегружал томкат, но некрасиво это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:52 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Petro123но в общем случае надо вырубать код, пока не найдёшь строки инициализации коннекта к БД. Там нечего вырубать. Все, что относится к коннекции БД я уже описал. Вся коннекция происходит внутри фреймворка, за пределами приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 14:54 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
MigelleP.S. Проблема в том, что ява для меня почти темный лес, но приходится подправлять чужое приложение. Ну, начинается... Найдите Java программиста, пусть посмотрит ваш код и расставить try...catch где надо и как надо. Может и правда пул не нужен. Нужно чтобы ваш модуль не падал при ошибках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 15:02 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
MigelleВся коннекция происходит внутри фреймворка, за пределами приложения А кому счас легко? Копать вплоть до своего наследника DB: http://alvinalexander.com/java/jwarehouse/play-framework-2.3/framework/src/play-jdbc/src/main/scala/play/api/db/DB.scala.shtml Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. если там нет DB.SetReconnect(true); )) Если без единой твоей строчки в приложении с вызовом фреймворк уже падает, то это баг самого FW ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 15:17 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНужно чтобы ваш модуль не падал при ошибках. Причем здесь модуль, если проблема в самом play. Приложение не загружается при старте томкэта. До вызовов моих функций дело не доходит. Соединение устанавливается внутри фреймворка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 15:33 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Petro123Если без единой твоей строчки в приложении с вызовом фреймворк уже падает, то это баг самого FW Именно... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 15:36 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
MigelleПричем здесь модуль, если проблема в самом play. Приложение не загружается при старте томкэтаПроблема не в play, а в том, что разработчик не читал документацию по жизненному циклу сервлетов и запросов к ним. Даже если нет желания реализовывать init(), всегда можно обернуть ошибку обращения к базе в 5xx коды. "Bad gateway" - то, что доктор прописал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 15:50 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Migelle, Прежде чем винить фреймверк, давайте посмотрим на полный stacktraсe а не его обрубок. Eсли там только playframework, то увидим куда вклинится. Вообще народ пишет что при наличии @Entity он всегда ломится в базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 16:05 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Migelle, Там внутри c3p0 connection pool. Можно попробовать поиграться с параметрами, которые он принимает из application.conf см тут и тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 16:30 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
dimonz80Migelle, Там внутри c3p0 connection pool. Можно попробовать поиграться с параметрами, которые он принимает из application.conf см тут и тут Хотя, судя по всему, не поможет. Пили свою инициализацию коннекшн пула. Пример в первой ссылке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 16:41 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
dimonz80Хотя, судя по всему, не поможет. Пили свою инициализацию коннекшн пула. Пример в первой ссылке Почему не поможет? Вроде то что нужно. Залочит все потоки, пока Оракл не подымется. Разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 17:31 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Если хост/сервис в дауне, то будет "connection timeout" на уровне IP-стека. Любое необработанное исключение фатально при развёртывании контекста и крайне нежелательно при обработке запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 17:58 |
|
||
|
Play 1.4 и реконнект к БД
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсли хост/сервис в дауне, то будет "connection timeout" на уровне IP-стека. Любое необработанное исключение фатально при развёртывании контекста и крайне нежелательно при обработке запроса. Это пул лезет в БД при первой инициализации? Разве это правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2016, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39317957&tid=2123661]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 527ms |

| 0 / 0 |
