powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как и что вы логируете ?
5 сообщений из 55, страница 3 из 3
Как и что вы логируете ?
    #39302837
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominВполне может быть так, что уникальность логина нового пользователя контролируется уникальностью в БД. Как результат- БД кидает исключение. С точки зрения слоя ДАО это именно что исключение. Но выше, где-то на уровне UI, оно превращается во вполне стандартное окошко пользователю про то, что такой логин уже есть.Вся это цепочка - логическая ошибка проектирования.
1. Проверить существование объекта не настолько накладно, чтобы этого нельзя было ещё до вставки.
2. Сегодня ограничение отключат для технологической операции, а потом не включат или потому, что забыли или потому, что "реально дубль, но всем пофиг, т.к. увидят штатное исключение, но только на уровне DAO". А послезавтра начнут рвать волосы на разных частях тела, т.к. дублей станет существенно больше трёх.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39302868
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton+Еще разворачивание стека, если вы его логгируете средствами log4j
тоже ударит по перформансу.
JVM обнаружит часто выкидываемое исключение и выкинет из него stacktrace нафиг, ибо нефиг. Разве не так?
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39302979
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov1. Проверить существование объекта не настолько накладно, чтобы этого нельзя было ещё до вставки.

Ну проверил. Нету. Вставил- а уже есть. Мало ли кто ещё вставляет.

Каждому своё. БД хорошо обеспечивает уникальность- пусть делает.

Но пусть будем - insert from select where not exists- но всё одно- то, что exception в точке его создания, может оказаться нормальной ситуаций выше. Как пример- мы знаем, что связь плохая и выше делаем N попыток выполнить сетевой запрос. Или просто (внешний) сервис иногда может 500 возвращать.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39303058
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominНу проверил. Нету. Вставил- а уже есть. Мало ли кто ещё вставляет.Совершенно верно.
Только это уже будет однозначная ошибка. Не техническая, так организационная. А не "здесь - рыба, там - не играем".Как пример- мы знаем, что связь плохая и выше делаем N попыток выполнить сетевой запрос. Или просто (внешний) сервис иногда может 500 возвращать.А зачем люди с конями мешаются в одну кучу???
Про N попыток авансом - вообще шедевр, а вставка дубля должна возвращать "400 Bad request", что никак не пересекается с 5xx группой.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39303581
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovКак пример- мы знаем, что связь плохая и выше делаем N попыток выполнить сетевой запрос. Или просто (внешний) сервис иногда может 500 возвращать.А зачем люди с конями мешаются в одну кучу???
Про N попыток авансом - вообще шедевр, а вставка дубля должна возвращать "400 Bad request", что никак не пересекается с 5xx группой.

Я не об этом.
Внешний сервис может быть с багами- такова жизнь.
Говоришь "сделай нечто", а он такой "уйди старушка, я в печали"- 500 тебе в морду. А то и 400 кинет- когда как. Делаешь ещё раз- о, сработало.
Сервис внешний, багрепорты можно слать сколько угодно.

Да, можно передавать в метод "сделай N попыток", но это уже когда совсем клиника (или просто ошибки сети).
...
Рейтинг: 0 / 0
5 сообщений из 55, страница 3 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Как и что вы логируете ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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