Вопросы: реестр контрактов — архив 5
Re: Вопросы: общие и технические вопросы по ЕИС
Добрый день.
При отправке контракта (44-ФЗ) возникает ошибка «Произошла ошибка perform publication contract with message».
Ни у кого в данный момент не возникает данная ошибка?
-
Juster - Иногда заглядывает
- Сообщений: 9
- Зарегистрирован: 12 янв 2017, 13:05
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Роль: Заказчик
- Пункты репутации: 0
Re: Вопросы: общие и технические вопросы по ЕИС
Alienora » 19 июл 2018, 12:13
Juster писал(а):Добрый день.
При отправке контракта (44-ФЗ) возникает ошибка «Произошла ошибка perform publication contract with message».
Ни у кого в данный момент не возникает данная ошибка?
Вот вопрос обсуждался.
post377984.html?hilit=perform
publication contract#p377984
Единственный способ отделаться от искушения – поддаться ему.
Оскар Уайльд
-
Alienora - Профессор
- Сообщений: 12901
- Изображения: 0
- Зарегистрирован: 22 янв 2013, 10:25
- Благодарил (а): 202 раз.
- Поблагодарили: 1752 раз.
- Роль: Заказчик
Re: Вопросы: реестр контрактов
Stol-Stul » 20 июл 2018, 16:30
Добрый день!
У меня в реестре контрактов в статусе «подготовка информации» висит контракт от 2015 года. Он был возвращен от ФО на доработку, но потом я так понимаю, что его провели по п.4 ст.93. А контракт так и остался висеть «мертвым грузом».
Что делать? Пусть так дальше и висит?
-
Stol-Stul - Завсегдатай
- Сообщений: 82
- Зарегистрирован: 01 апр 2017, 12:12
- Благодарил (а): 45 раз.
- Поблагодарили: 0 раз.
- Роль: Заказчик
- Пункты репутации: 10
Re: Вопросы: реестр контрактов
kir_dfg » 20 июл 2018, 16:36
Stol-Stul писал(а):Добрый день!
У меня в реестре контрактов в статусе «подготовка информации» висит контракт от 2015 года. Он был возвращен от ФО на доработку, но потом я так понимаю, что его провели по п.4 ст.93. А контракт так и остался висеть «мертвым грузом».
Что делать? Пусть так дальше и висит?
Добрый день. Ну если провели по п.4 и в открытой части его нет, то пусть висит.
Непонятно только, причем тут ФО) контроль же только с 2017 года введен. Может, он просто вообще на подготовке? Тогда можно удалить и все.
Машины времени есть у каждого. Те, что переносят в прошлое, зовутся воспоминаниями, а те, что уносят в будущее — мечтами ©
-
kir_dfg - Профессор
- Сообщений: 12112
- Зарегистрирован: 19 дек 2016, 11:34
- Откуда: Юпитер-2
- Благодарил (а): 173 раз.
- Поблагодарили: 1534 раз.
- Роль: Заказчик
- Пункты репутации: 635
Re: Вопросы: реестр контрактов
Stol-Stul » 20 июл 2018, 16:55
kir_dfg писал(а):Добрый день. Ну если провели по п.4 и в открытой части его нет, то пусть висит.
Непонятно только, причем тут ФО) контроль же только с 2017 года введен. Может, он просто вообще на подготовке? Тогда можно удалить и все.
Видимо, у нас в тот период все-таки был фин.контроль)
К сожалению, его можно только редактировать, кнопки удалить нет.
-
Stol-Stul - Завсегдатай
- Сообщений: 82
- Зарегистрирован: 01 апр 2017, 12:12
- Благодарил (а): 45 раз.
- Поблагодарили: 0 раз.
- Роль: Заказчик
- Пункты репутации: 10
Re: Вопросы: реестр контрактов
kir_dfg » 20 июл 2018, 18:04
Stol-Stul писал(а):
kir_dfg писал(а):Добрый день. Ну если провели по п.4 и в открытой части его нет, то пусть висит.
Непонятно только, причем тут ФО) контроль же только с 2017 года введен. Может, он просто вообще на подготовке? Тогда можно удалить и все.Видимо, у нас в тот период все-таки был фин.контроль)
К сожалению, его можно только редактировать, кнопки удалить нет.
Ну тогда и бог с ним, пусть висит. В открытой части если нет.
Машины времени есть у каждого. Те, что переносят в прошлое, зовутся воспоминаниями, а те, что уносят в будущее — мечтами ©
-
kir_dfg - Профессор
- Сообщений: 12112
- Зарегистрирован: 19 дек 2016, 11:34
- Откуда: Юпитер-2
- Благодарил (а): 173 раз.
- Поблагодарили: 1534 раз.
- Роль: Заказчик
- Пункты репутации: 635
Re: Вопросы: реестр контрактов
sviv » 20 июл 2018, 18:07
Stol-Stul писал(а):
kir_dfg писал(а):Добрый день. Ну если провели по п.4 и в открытой части его нет, то пусть висит.
Непонятно только, причем тут ФО) контроль же только с 2017 года введен. Может, он просто вообще на подготовке? Тогда можно удалить и все.Видимо, у нас в тот период все-таки был фин.контроль)
К сожалению, его можно только редактировать, кнопки удалить нет.
Если Вам оно мешает и самим удалить не получается, то в Техподдержку надо обратиться, чтобы они удалили на стадии «подготовка информации». А если не позволяет время обратиться в Тех. поддержку , то правильно посоветовал «Кир…» пусть себе висит на сайте как ненужный элемент.
-
sviv - Профессор
- Сообщений: 4664
- Зарегистрирован: 26 фев 2014, 10:43
- Благодарил (а): 213 раз.
- Поблагодарили: 1137 раз.
- Роль: Заказчик
- Пункты репутации: 338
Re: Вопросы: прочие вопросы по регистрации заказчика в ЕИС
annmok » 23 июл 2018, 00:44
Добрый день,уважаемые знатоки:)
подскажите пожалуйста — у нас изменилось наименование организации-заказчика. В Сводный реестр казначеи внесли видимо в пятницу. я сейчас хотела разместить отчет… зашла под ЭЦП,не ругался,вижу наверху измененное наименование… сформировала исполнение контракта.. при подписании говорит что не удается построить цепочку сертификатов до доверенного корневого центра.. и потом что не удалось создать подпись из-за ошибки. Подскажите — нужно бежать получать новую ЭЦП? Странно как-то,зайти-то под ЭЦП я смогла..
-
annmok - Завсегдатай
- Сообщений: 247
- Зарегистрирован: 17 мар 2016, 11:22
- Благодарил (а): 91 раз.
- Поблагодарили: 10 раз.
- Роль: Заказчик
- Пункты репутации: 11
Re: Вопросы: прочие вопросы по регистрации заказчика в ЕИС
ДиМкА » 23 июл 2018, 08:41
annmok писал(а):Добрый день,уважаемые знатоки:)
подскажите пожалуйста — у нас изменилось наименование организации-заказчика. В Сводный реестр казначеи внесли видимо в пятницу. я сейчас хотела разместить отчет… зашла под ЭЦП,не ругался,вижу наверху измененное наименование… сформировала исполнение контракта.. при подписании говорит что не удается построить цепочку сертификатов до доверенного корневого центра.. и потом что не удалось создать подпись из-за ошибки. Подскажите — нужно бежать получать новую ЭЦП? Странно как-то,зайти-то под ЭЦП я смогла..
Может попробовать удалить временные файлы, перезагрузиться, после чего пытаться заново подписывать.
-
ДиМкА - Профессор
- Сообщений: 7933
- Зарегистрирован: 01 ноя 2014, 00:31
- Благодарил (а): 13 раз.
- Поблагодарили: 1558 раз.
- Роль: Заказчик
- Пункты репутации: 589
Re: Вопросы: прочие вопросы по регистрации заказчика в ЕИС
annmok » 23 июл 2018, 09:45
ДиМкА писал(а):Может попробовать удалить временные файлы, перезагрузиться, после чего пытаться заново подписывать.
не помогло:(
самое интересное что на СБербанке я подписала контракт без проблем..и захожу нормально на ЕИС. а вот подписать не могу.. попробую попозже с другого компа.
-
annmok - Завсегдатай
- Сообщений: 247
- Зарегистрирован: 17 мар 2016, 11:22
- Благодарил (а): 91 раз.
- Поблагодарили: 10 раз.
- Роль: Заказчик
- Пункты репутации: 11
Вернуться в Закон 44-ФЗ
Кто сейчас на форуме
Зарегистрированные пользователи: ASGOR, Google [Bot], Татьяна
Добрый день,
Техподдержка, к сожалению, с 24.10.2018 не может решить мою проблему.
Я в поиске тех, кто с ней столкнулся.
Исходные данные:
Запрос котировок в электронной форме после 01.10.2018.
Процедура заключения контракта через Реестр «Заключение контрактов» в ЕИС.
Стадия процедуры: Подписание заказчиком.
Не дает подписать заказчику. Ошибка, не позволяющая размещение: Документ на основании которого сформирован проект контракта и который указан в поле «Реквизиты протокола, в котором определен победитель» является недействующим»
Все протоколы и в ЕИС, и на ЭП на месте. Причем их даже выбрать и скорректировать было нельзя во время создания проекта контракта в реестре заключения контрактов.
Со всех сторон пытались подписать: снаружи/изнутри. Разными людьми с разными правами.
Досоздавали новые проекты контрактов/ удаляли. Создавали проекты контрактов из результатов рассмотрения в Извещении. Ошибка не уходит.
Техподдержка с 31.10.18 прекратила регистрировать мои обращения по данной проблеме, по звонку говорит, что «в работе, ожидайте, у нас сроков регламентированных нет».
А у меня регламентированные сроки уже ушли
Пробовали разместить в Реестре контрактов бумажные подписанные варианты контрактов — ошибка статуса контракта при размещении. Контракт должен быть заключен в электронной форме.
Безысходность в конце года.
Была реализована доработка, в рамках которой в реестре размещения информации о закупках перестала проверяться обязательность соответствия международного непатентованного/торгового наименования лекарственного препарата справочнику ЕСКЛП.
Была реализована доработка, в рамках которой в реестре размещения информации о закупках перестала проверяться обязательность связи требований заказчика с позицией плана-графика для извещений по ст. 111.1 Федерального закона №44-ФЗ.
Исправлена ошибка, в результате которой при просмотре карточки плана-графика на вкладке «Позиции плана-графика» мог отсутствовать список позиций.
Исправлена ошибка, в результате которой при формировании первичных сведений о контракте в реестре контрактов на форме «Уточнение сведений о лекарственном препарате» после заполнения всех обязательных полей и нажатия на кнопку «Сохранить» могло неправомерно возникать сообщение: «Должны быть заполнены сведения о лекарственном препарате».
Исправлена ошибка, в результате которой при переходе в реестр контрактов могло возникать сообщение: Страница временно недоступна. «Попробуйте перезагрузить страницу».
Исправлена ошибка, в результате которой при отправке по интеграции извещения о закупке мог неправомерно срабатывать автоконтроль: «При установленном признаке закупки лекарственных препаратов в извещении о закупке должна быть введена информация хотя бы по одной позиции объекта закупки, являющейся лекарственным препаратом».
Обеспечена реализация функции подписки на информацию о новых закупках и обеспечена функция отправки информации о новых закупках по действующим подпискам.
Обеспечена возможность указывать сведений об управляющей организации для юридических лиц иностранного государства.
Обеспечена возможность отображения дополнительного блока «Сведения о результатах общего собрания участников ЮЛ РФ» при регистрации юридического лица Российской Федерации.
Обеспечена возможность формирования и отображения произвольных вложений.
Обеспечена возможности контроля количества и стоимости выполненных услуг, когда нет конкретного количества работ или услуг.
Обеспечен функционал отказа от приемки товаров, работ, услуг.
Обеспечена возможность ввода детальной спецификации для товаров, работ, услуг.
Обеспечена возможность указания сведений о стране происхождения товара.
Исправлена ошибка, в результате которой в личном кабинете пользователя при изменении прав пользователя могло возникать сообщение: «Ошибка сервера, повторите действие позже».
Исправлена ошибка, в результате которой при регистрации нового участника закупок с типом «Юридическое лицо РФ» могла отсутствовать возможность зарегистрироваться в качестве представителя участника закупок.
Исправлена ошибка, в результате которой в личном кабинете пользователя при просмотре историй о создании и подписании электронного акта могли некорректно открываться ссылки.
Реализована возможность согласования сведений о закупках с организацией, уполномоченной на согласование сведений о закупках, до размещения в ЕИС.
Реализована возможность загрузки посредством интеграционного взаимодействия от электронных торговых площадок сведений о времени проведения торгов по новой схеме «biddingTimeInfo».
Для закупки у единственного поставщика (исполнителя, подрядчика), осуществляемой вследствие аварии, иных чрезвычайных ситуаций природного или техногенного характера, непреодолимой силы, при необходимости срочного медицинского вмешательства, а также для предотвращения угрозы возникновения указанных ситуаций, обеспечена возможность формирования сведений о договоре без установления связи с позицией в плане закупки и извещением о закупке, если это предусмотрено положением о закупке заказчика.
Реализована возможность указания информации о стране происхождения товара при формировании сведений о договоре и сведений об исполнении договора.
Исправлена ошибка, в результате которой при просмотре списка позиций плана закупки могла не отображаться связь позиции с размещенным извещением о закупке.
Исправлена ошибка, в результате которой при размещении проекта изменений плана закупки могло отображаться сообщение: «Произошла ошибка при подготовке к размещению».
Исправлена ошибка, в результате которой при формировании проекта плана закупки после нажатия кнопки «Создать план закупки» в блоке «Информация об организации заказчика» мог некорректно отображаться ИНН организации.
Исправлена ошибка, в результате которой при формировании протоколов отказа и уклонения от заключения договора для способов закупки, участниками которых могут быть только субъекты малого и среднего предпринимательства мог не срабатывать контроль, проверяющий обязательность заполнения полей: «Лот закупки», «Заявка», «Основание для принятия решения», «Реквизиты подтверждающих документов» на вкладке «Решение комиссии».
Исправлена ошибка, в результате которой после добавления новой организации в перечень заказчиков, в отношении которых проводится оценка соответствия, могли не отображаться уведомления о проведении оценки соответствия, сформированные в 2020 году.
Исправлена ошибка, в результате которой при размещении перечня заказчиков, в отношении которых проводится оценка соответствия, могло отображаться сообщение: «could not update: ru.lanit.fz223.plan.priv.model.Plan#<идентификационный номер плана закупок>».
Исправлена ошибка, в результате которой при размещении проекта изменений сведений о договоре могла появляться запись в журнале событий о повторном размещении договора с нарушением сроков, указанных в части 2 статьи 4.1 Федерального закона № 223-ФЗ.
Исправлена ошибка, в результате которой при просмотре сведений о договоре в статусе «Размещено» могло отображаться сообщение: «Значение признака отличается от установленного в лоте извещения».
Исправлена ошибка, в результате которой при загрузке посредством интеграционного взаимодействия проекта изменений плана закупки могло отображаться сообщение: «Запрашиваемая страница временно недоступна. Попробуйте повторить попытку позже».
Исправлена ошибка, в результате которой при загрузке посредством интеграционного взаимодействия проекта изменений плана закупки могла не выполняться проверка наличия и актуальности кода ОКВЭД2 в справочнике.
Исправлена ошибка, в результате которой при загрузке посредством интеграционного взаимодействия проекта изменений плана закупки мог не срабатывать контроль: «Позиция с указанным guid = <Указывается initialPositionGuid> имеет признак «Закупка запланирована на третий или последующие годы реализации плана закупки» и не может использоваться в качестве позиции исходного плана закупки».
Исправлена ошибка, в результате которой возможно было внести изменения в сведения о лоте в статусе «Отменен» при загрузке посредством интеграционного взаимодействия проекта изменений извещения о закупке.
Исправлена ошибка, в результате которой в личном кабинете заказчиком могло некорректно отображаться сообщение: «Данные об организации в реестре заказчиков не соответствуют регистрационным данным организации в связи с обновлением на основании сведений <Единой системы идентификации и аутентификации/Единого государственного реестра юридических лиц>. Необходимо внести изменения в сведения в реестре заказчиков».
Исправлена ошибка, в результате которой при создании сведений об исполнении договора могло возникать сообщение: «Произошла ошибка. Пожалуйста, повторите операцию. В случае повторного возникновения ошибки обратитесь в службу поддержки Официального сайта».
Исправлена ошибка, в результате которой в реестре электронного документооборота при просмотре документов с файлами могло отображаться сообщение «Ошибка 500».
Исправлена ошибка, в результате которой возможно было неправомерно внести изменения в документ, загруженный из внешней системы посредством интеграционных процессов.
Исправлена ошибка, в результате которой при загрузке лекарственного препарата могло возникать сообщение «Произошла системная ошибка».
Исправлена ошибка, в результате которой при авторизации могло возникать сообщение «Страница временно недоступна. Попробуйте перезагрузить страницу».
Обеспечена возможность отображения историчности предельной отпускной цены и отображения референтной цены.
Обеспечена возможность отображения идентификатора признания контракта недействительным.
Обеспечена возможность отображения информации о приостановке по жалобе и ссылки на поиск жалоб по извещению в реестре жалоб.
Обеспечена возможность отображения информации о прохождении контроля средствами ЕИС по ч.5.1 ст. 99 (п. 3.7).
Обеспечена возможность отображения информации об обстоятельствах, допускающих исключение из установленных запретов или ограничений.
Обеспечена возможность отображения историчности предельной отпускной цены и отображения референтной цены.
Обеспечена возможность отображения признака запрета указания дополнительных характеристик.
Обеспечена возможность отображения в плане-графике в рамках года нескольких «особых строк» с одним типом закупки.
Обеспечена возможность поиска по КБК итоговых показателей и сведениям целевых статей в ППГ.
Обеспечена возможность указания в плане-графике в рамках года несколько «особых строк» с одним типом закупки.
Обеспечена детализация КБК, КВР в позиции плана-графика всех уровней + КБК автономных и бюджетных учреждений в рамках национальных проектов.
Обеспечена возможность изменения ввода и отображения сведений о КБК, целевых статьях в части исключения символа «О».
Обеспечена возможность формирования документа закупки «Отмена извещения о продлении срока подачи заявок».
Обеспечена возможность отображения референтной цены, стоимости с учетом референтной цены, предельной отпускной цены в таблице сведений вариантов поставки лекарственного препарата.
Обеспечена идентификация недействительного контракта в информации о контракте, заключенном
Обеспечены новые правила удаления проектов извещений, лотов, требований заказчиков, для которых установлена связь со сведениями о бюджетном обязательстве.
Обеспечена возможность осуществления контроля по части 5.1 статьи 99.
Обеспечена возможность изменения контроля в части учета подспособа «Электронный аукцион на проведение работ по строительству, реконструкции, кап. ремонту, сносу объекта кап. строительства, предусматривающих проектную документацию, утвержденную в порядке, установленном законодательством о градостроительной деятельности» с начальной (максимальной) ценой контракта больше 2 млрд. руб.
Обеспечен запрет указания дополнительных характеристик, если объектом закупки является оборудование, и закупка осуществляется в рамках национального режима.
Обеспечена возможность блокировки ручного ввода лекарств.
Обеспечена возможность корректировки сообщений о начале контроля и сообщений об отказе в контроле информации о контракте, информации об изменении контракта, информации
Обеспечена возможность формирования и отображения результатов контроля информации о признании судом контракта недействительным.
Обеспечена возможность формирования и отображения результатов контроля плана-графика закупок с 2020 года для бюджетных и автономных учреждений с учетом целевых статей.
Обеспечено соответствие КБК, относящихся к национальным проектам, в позиции плана-графика закупок/извещении о закупке и информации о контракте
Обеспечена возможность заполнения полей «Способ указания цены контракта» и «Формула цены контракта» информации о заключенном контракте (его изменении), в случае, когда в извещении установлен признак «Указать формулу цены и максимальное значение цены контракта».
Исправлена ошибка, в результате которой в карточке закупки могла не отображаться страничная навигация в блоке «Информация о процедуре заключения контракта».
Исправлена ошибка, в результате которой в карточке закупки могли некорректно отображаться данные о протоколе рассмотрения заявки.
Исправлена ошибка, в результате которой при поиске закупки по сокращенному наименованию организации заказчика в результатах поиска могли отображаться не все закупки данного заказчика.
Исправлена ошибка, в результате которой в карточке обязательного общественного обсуждения на вкладке «Журнал событий» могло отображаться некорректное количество нарушений.
Исправлена ошибка, в результате которой в карточке контракта мог некорректно отображаться статус контракта.
Исправлена ошибка, в результате которой в карточке контракта могла отображаться некорректная гиперссылка «Номер реестровой записи реестра банковских гарантий (исполнение контракта)».
Исправлена ошибка, в результате которой в карточке и печатной форме плана-графика закупок могли некорректно отображаться даты «Размещено» и «Обновлено».
Исправлена ошибка, в результате которой при внесении изменений в контракт мог неправомерно срабатывать контроль: «Год в выбранной позиции плана-графика закупок не должен превышать год размещения первой версии информации о контракте».
Исправлена ошибка, в результате которой при отправке на контроль проекта контракта могло возникать сообщение: «perform Publication Contract With Message».
Исправлена ошибка, в результате которой при размещении проекта исполнения контракта могло возникать сообщение: «Из-за технических проблем автоматический контроль нарушения законодательства не может быть выполнен в полном объеме. Для решения проблем свяжитесь с Оператором Общероссийского официального сайта».
Исправлена ошибка, в результате которой при редактировании плана-графика на вкладке «Особые закупки» контекстное меню позиции могло быть неактивно.
Ошибка на официальном сайте в реестре контрактов
- Elena.ru
- Сообщения:288
- Зарегистрирован:11 июн 2009, 13:48
- Контактная информация:
Уже вторые сутки пытаемся разместить сведения об исполнении контракта. Трехдневный срок вышел Постоянно сайт временно не работает и выскакивает ошибка PublicationContractWithMessage. Как потом проверяющие реагируют на подобные ситуации? скрин экрана делаем, запросы в тех поддержку отправляем.
- Буравчик
- Сообщения:2114
- Зарегистрирован:25 май 2012, 10:21
- Контактная информация:
Re: Ошибка на официальном сайте в реестре контрактов
Сообщение
Буравчик » 04 июл 2018, 15:04
Ну попробуйте почистить кэш браузера. И у вас теперь 5 раб. дней на размещение.
- Elena.ru
- Сообщения:288
- Зарегистрирован:11 июн 2009, 13:48
-
Контактная информация:
Re: Ошибка на официальном сайте в реестре контрактов
Сообщение
Elena.ru » 04 июл 2018, 15:15
Буравчик писал(а):Ну попробуйте почистить кэш браузера. И у вас теперь 5 раб. дней на размещение.
если платежное поручение от 28.06.2018, то 5 рабочих? я думала, что это действует если платежки начиная с 01.07
- Elena.ru
- Сообщения:288
- Зарегистрирован:11 июн 2009, 13:48
- Контактная информация:
Re: Ошибка на официальном сайте в реестре контрактов
Сообщение
Elena.ru » 04 июл 2018, 15:18
чистка кеша не помогла. ошибка сайта. сайт временно недоступен
- Maria_K
- Сообщения:19
- Зарегистрирован:13 апр 2016, 13:37
- Контактная информация:
Re: Ошибка на официальном сайте в реестре контрактов
Сообщение
Maria_K » 06 июл 2018, 09:08
Такая же проблема была по нескольким контрактам. Суть проблемы была в большом количестве символов в наименовании предмета контракта. Когда внесли изменение в контракт и уменьшили наименование все прошло успешно.
- Elena.ru
- Сообщения:288
- Зарегистрирован:11 июн 2009, 13:48
- Контактная информация:
Re: Ошибка на официальном сайте в реестре контрактов
Сообщение
Elena.ru » 09 июл 2018, 17:49
Maria_K писал(а):Такая же проблема была по нескольким контрактам. Суть проблемы была в большом количестве символов в наименовании предмета контракта. Когда внесли изменение в контракт и уменьшили наименование все прошло успешно.
А КАК ВЫЯСНИЛИ, ЧТО ПРОБЛЕМА В ЭТОМ?
- Maria_K
- Сообщения:19
- Зарегистрирован:13 апр 2016, 13:37
- Контактная информация:
Re: Ошибка на официальном сайте в реестре контрактов
Сообщение
Maria_K » 10 июл 2018, 08:45
Elena.ru писал(а):
Maria_K писал(а):Такая же проблема была по нескольким контрактам. Суть проблемы была в большом количестве символов в наименовании предмета контракта. Когда внесли изменение в контракт и уменьшили наименование все прошло успешно.
А КАК ВЫЯСНИЛИ, ЧТО ПРОБЛЕМА В ЭТОМ?
Выяснили опытным путем
IndoKnight, что идеально завернуть вам дал как Exception
семантика в рамках Java EE.. работа.
вот две единственные строки «bean provider», то есть вы и я, должны знать об исключениях в Java EE:
ваш bean полностью свободен для восстановления от любого типа исключения или ошибки, как вы считаете нужным, в отношении других ограничений, под которыми может находиться bean. Если вы оправились от исключения, то поздравляю-проблем нет anymore =)
соответствующим ограничением может быть, например, то, что» корпоративные компоненты, использующие демаркацию транзакций, управляемых контейнером, не должны использовать методы управления транзакциями, которые мешают границам демаркации транзакций контейнера», чтобы процитировать Java EE 7 учебник 48-2 страницы (вы хотите программно установить откат управляемой транзакции контейнера, используйте метод ejbcontext.setRollbackOnly()).
Вам также не рекомендуется, как и в любом типе приложения Java, обрабатывать Throwable
или Error
брошенный с очень низкого уровня. RuntimeException
теоретически считается в этой категории, поскольку он так лихо сигнализирует об «ошибке разработчика», которая похожа на» совершенно неожиданную», но мы все знаем, что это не так.
в основном, неожиданное исключение (исключения времени выполнения + другое дерьмо, которое мы предполагаем, происходит от кого-то другого) предполагается, что ваш код не может быть обработан и должен обрабатываться сервером. Сервер должен обрабатывать исключение» unhandleable» (посмотреть спецификация EJB 3.2, стр. 204), напечатав что-то об этом в журнале (я перейду к деталям немного позже!).
более конкретно..
вы спросили (И вот во что я верю или не верны):
все исключения приложений описанное выше должно быть брошено
непосредственно EJB клиенту?
да. и транзакция (если она активна) не должна откатываться, если вы явно не указываете, что она должна использовать атрибут отката ApplicationException
. Исключение Java-кода-это очень естественная вещь. Java EE не имеет намерения разрушать эту модель программирования. Так что вперед, бросьте проверенные исключения, как вам нравится, заставляя клиентов пытаться поймать те или отметьте исключения среды выполнения как исключения приложения и бросьте их тоже. Счастливого броска!
если системные исключения обернуты внутри javax.EJB-компонента.EJBException перед
бросая клиенту, затем javax.EJB-компонента.EJBException считаются
Системное Исключение?
да, но не по той причине, которую вы предоставляете. Чтобы быть ясным, нет типа SystemException. Это просто причудливая формулировка для описания таких исключений, которые большинство бобов там не могло произойти, и скорее всего, они происходят из контейнера EJB. Ваш код определенно не должен вызывать EJBException. Это, вероятно, только помешало бы уму сервера. Также вы не можете аннотировать исключение как @ApplicationException так как вы не владеете кодом, он предоставляется API Java EE. Вы можете расширить EJBException, но не имеет смысла маскировать ваш код как часть кодовой базы сервера. Наиболее главное, с EJBException расширяет RuntimeException, я думаю, что безопасно классифицировать EJBException как «исключение системного уровня».
Берегись Дьявола
некоторые пульт ДУ клиенты получат исключения remoteexception вместо исключения EJBException.
перехватчики что вы, возможно, даже не знаете в огромном проекте предприятия, может проглотить исключения, брошенные из вашего метода выполнение активной транзакции commit хотя у вас никогда не было планов позволить ему это сделать.
держу пари, вы думаете, что a подавленные исключением всегда извлекается с помощью Throwable.getCause(). Обратите внимание, что спецификация EJB 3.2 не говорит, что контейнер должен или должен щадить ссылку на подавленную причину. Фактически, единственное, что должен сделать контейнер, это зарегистрировать исключение. Тогда, если Боба нет одноэлементный экземпляр bean должен быть отброшен и больше никогда не использоваться. Кроме того, если компонент является управляемым сообщением компонентом, только тогда требуется «обернуть»исходное исключение. Как «обернуть» исключение не указано. Супер портативный прохладный код, вероятно, следует взглянуть на подобное.getCause() метод и Throwable.getSuppressed () тоже. Не ожидайте, что в вашем коде обработки всегда будет найдено исходное исключение.
асинхронные методы (методы публичного сеанса bean аннотированы @асинхронные), который возвращает void, не может распространять исключение на своего клиента. Таким образом, они не должны объявлять или исключения приложений (посмотреть спецификация EJB 3.2 страница 82). Обратите внимание, что при вызове асинхронного метода сервер может не предоставить потоковые ресурсы для обслуживания вашего запроса, и если это так, он должен бросить.. EJBException (страница 48)!
Логирование ошибок программы EDI Connector ведётся по умолчанию по пути C:EdiConnectorlogsevents.log.
Для быстрого поиска темы с описанием ошибки, в поле поиска копируйте начало ошибки без директорий.
Unable to execute file: Create Process failed; code 2 The system cannot find the file specified
Ошибка возникает при завершении процесса установки (Finishing Instalation).
Причина: На ПК не установлен Microsoft .NET FrameWork 2.0 или выше.
Решение:
- Удалите EDI Connector.
- Установите .NET FrameWork 2.0 или выше.
- Установите EDI Connector.
Unable to find a version of the runtime to run this application
Cannot create process
Причина: На ПК не установлен Microsoft.NET FrameWork 2.0 или выше.
Решение:
- Удалите EDI Connector.
- Установите .NET FrameWork 2.0 или выше.
- Установить EDI Connector.
Can’t send xml: Could not find a part of the path ‘F:export’
Can’t send binaries: Could not find a part of the path ‘F:export’
Причина: Программа не может обратиться к указанной директории. Вероятно, что это путь к сетевому диску.
Решение: Используйте абсолютный путь. Пример: ‘fs-7.szexport.local1COrdersexport’. Либо используйте безусловный путь через IP адрес. Пример: ‘192.168.131.70F:1COrdersexport’.
Can’t read listMB: Could not find a part of the path ‘F:importORDER’
Причина: Не находит директорию по типу файла или невозможно создать папку с именем типа файла в указанной директории импорта ‘F:import’. Возможно, что дело в сетевом диске.
Решение: Используйте абсолютный путь. Пример: ‘fs-7.szexport.local1COrdersexport’. Либо используйте безусловный путь через IP адрес. Пример: ‘192.168.131.70F:1COrdersexport’.
Can’t send xml: Access to the path ‘fs-7.szexport.local1COrdersexport’ is denied
Can’t send binaries: Access to the path ‘fs-7.szexport.local1COrdersexport’ is denied
Причина: У пользователя, запускающего службу EdiServiceService, недостаточно прав для доступа в директорию.
Решение:
- Если служба EdiServiceService запущена под локальным пользователем, то используйте пользователя с администраторскими правами.
- Если службы находятся в Мой компьютер ⇒ Контекстное меню «Управление» ⇒ Службы и приложения, выберите службу EdiServiceService, затем в контекстном меню выберите «Запустить».
Can’t send xml: The given path’s format is not supported
Can’t send binaries: The given path’s format is not supported
Причина: Формат пути к файлам указан неверно/не указана маска файла.
Решение: Проверьте во вкладке «Соединения» поле «Путь экспорта». Директория для экспортируемых документов должна быть прописана только в одном месте (в поле «Путь экспорта», либо в «Расширенный экспорт»). При указании директории в «Расширенный экспорт» заполните маску для документа.
Необрабатываемое исключение в приложении. При нажатии кнопки «Продолжить» приложение проигнорирует ошибку и попытается продолжить работу. При нажатии кнопки «Выход» приложение немедленно завершит работу. Устройство не готово.
Причина: Приложение было запущено без прав администратора (Рис. 1).
Решение: Нажмите кнопку «Выход» и запустите приложение от имени администратора.
Ответ не является правильным XML
Причина: EDI Connector пытается скачать файл не xml-формата.
Решение:
- Во вкладке «Соединения» поставьте галочку в поле «Игнорировать сертификат».
- Отметьте галочкой поле «Выделить».
- Нажмите кнопку «Сохранить».
- Перезапустите службу (нажмите «Отправить/получить всё»).
Internal service error: Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip
Решение:
- Во вкладке «Соединения» измените адрес сервиса. Адрес soap.ediweb.ru/wsedi/services/EDIServiceSoap замените на https://service.ediweb.ru/wsedi/services/EDIServiceSoap.
- Отметьте галочкой поле «Выделить».
- Нажмите кнопку «Сохранить».
- Перезапустите службу.
java.rmi.ServerException: EJBException:; nested exception is:
javax.ejb.EJBException: Error in ‘lv.fis.edi.control.ejb.handlers.SendListChangeStateHandler.handle()’ while handle SendListChangeState event.; CausedByException is:
from m in class lv.fis.edi.comp.edi.UPDResponseModel where m.sendListId = ?
Решение:
Очистите файл status_cache.xml, который находится в папке, где установлен коннектор. По умолчанию: C:EdiConnectorbinstatus_cache.xml
В случае, если ошибка не решена, обратитесь в поддержку Ediweb.
Internal service error: Базовое соединение закрыто: Непредвиденная ошибка при передаче…
Решение:
Смените адрес SOAP на другой. Варианты адреса:
- https://soap.ediweb.ru/wsedi/services/platform
- https://service.ediweb.ru/wsedi/services/platform
I made a registration form which is going to register a new user into MySQL database, but I keep getting this Excepting when I submit the form. Any clue what could be the problem?
Entity class Korisnik.java:
@Entity
@Table(name = "korisnik", catalog = "cs230-projekat", schema = "")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Korisnik.findAll", query = "SELECT k FROM Korisnik k"),
@NamedQuery(name = "Korisnik.findByKorisnikId", query = "SELECT k FROM Korisnik k WHERE k.korisnikId = :korisnikId"),
@NamedQuery(name = "Korisnik.findByIme", query = "SELECT k FROM Korisnik k WHERE k.ime = :ime"),
@NamedQuery(name = "Korisnik.findByPrezime", query = "SELECT k FROM Korisnik k WHERE k.prezime = :prezime"),
@NamedQuery(name = "Korisnik.findByUsernameAndPassword", query = "SELECT k FROM Korisnik k WHERE k.username = :username AND k.password = :password"),
@NamedQuery(name = "Korisnik.findByUsername", query = "SELECT k FROM Korisnik k WHERE k.username = :username"),
@NamedQuery(name = "Korisnik.findByPassword", query = "SELECT k FROM Korisnik k WHERE k.password = :password"),
@NamedQuery(name = "Korisnik.findByEmail", query = "SELECT k FROM Korisnik k WHERE k.email = :email"),
@NamedQuery(name = "Korisnik.findByLoggedin", query = "SELECT k FROM Korisnik k WHERE k.loggedin = :loggedin")})
public class Korisnik implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "KORISNIK_ID")
private Integer korisnikId;
@Size(max = 255)
@Column(name = "IME")
private String ime;
@Size(max = 255)
@Column(name = "PREZIME")
private String prezime;
@Size(max = 255)
@Column(name = "USERNAME")
private String username;
@Size(max = 255)
@Column(name = "PASSWORD")
private String password;
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
@Size(max = 255)
@Column(name = "EMAIL")
private String email;
@Basic(optional = false)
@NotNull
@Column(name = "LOGGEDIN")
private boolean loggedin;
@OneToMany(mappedBy = "korisnikId")
private Collection<Auto> autoCollection;
@OneToMany(mappedBy = "korisnikId")
private Collection<Komentari> komentariCollection;
Managed bean KorisnikManagedBean.java:
@Named(value = "korisnikManagedBean")
@SessionScoped
public class KorisnikManagedBean implements Serializable {
@EJB
private KorisnikSessionBean korisnikSessionBean;
private Korisnik newUser;
private String username;
private String password;
private String email;
private String ime;
private String prezime;
/**
* Creates a new instance of KorisnikManagedBean
*/
public KorisnikManagedBean() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getIme() {
return ime;
}
public void setIme(String ime) {
this.ime = ime;
}
public String getPrezime() {
return prezime;
}
public void setPrezime(String prezime) {
this.prezime = prezime;
}
public String register(){
newUser = new Korisnik(getIme(), getPrezime(), getUsername(), getPassword(), getEmail());
korisnikSessionBean.registration(newUser);
return "index.xhtml";
}
public String login(){
newUser = korisnikSessionBean.getKorisnik(getUsername(), getPassword());
if(newUser == null){
return "index.xhtml";
} else {
korisnikSessionBean.login(newUser);
return "profile.xhtml";
}
}
public String logout(){
if(!newUser.getLoggedin()|| newUser == null){
return "index.xhtml";
} else {
korisnikSessionBean.logout(newUser);
return "index.xhtml";
}
}
}
Session Bean KorisnikSessionBean.java:
@Stateless
@LocalBean
public class KorisnikSessionBean {
@PersistenceContext(unitName = "Projekat-ejbPU")
private EntityManager em;
public void persist(Object object) {
em.persist(object);
}
public Korisnik registration(String username, String password, String email, String ime, String prezime){
Korisnik korisnik = getKorisnik(username, password);
if(korisnik == null){
korisnik = new Korisnik(username, password, email, ime, prezime);
persist(korisnik);
return korisnik;
}else{
return null;
}
}
public Korisnik registration(Korisnik k){
Korisnik korisnik = getKorisnik(k.getUsername(), k.getPassword());
if(korisnik == null){
korisnik = new Korisnik(k.getIme(), k.getPrezime(), k.getUsername(), k.getPassword(), k.getEmail());
persist(korisnik);
return korisnik;
}else{
return null;
}
}
public Korisnik getKorisnik(String username, String password){
Korisnik korisnik;
try{
korisnik = em.createNamedQuery("Korisnik.findByUsernameAndPassword", Korisnik.class).setParameter("username", username).setParameter("password", password).getSingleResult();
return korisnik;
}catch(NoResultException e){
return null;
}
}
public Korisnik login(Korisnik k){
k.setLoggedin(true);
em.merge(k);
return null;
}
public Korisnik logout(Korisnik k){
k.setLoggedin(false);
em.merge(k);
return null;
}
public List<Korisnik> getKorisnikList(){
try{
return em.createNamedQuery("User.findAll", Korisnik.class).getResultList();
} catch(NoResultException e){
System.out.println("No result list from getUserList");
return null;
}
}
}
Registration.xhtml:
<h:form>
<div class="form-group">
<span class="form-control">Ime :</span>
<h:inputText class="form-control" value="#{korisnikManagedBean.ime}" validatorMessage="Molimo vas unesite vase ime">
<f:validateRegex pattern="^[a-zA-Z]{1,}$" />
</h:inputText>
</div>
<div class="form-group" style="margin-bottom: 13px;">
<span class="form-control">Prezime :</span>
<h:inputText class="form-control" value="#{korisnikManagedBean.prezime}" validatorMessage="Molimo vas unesite vase prezime">
<f:validateRegex pattern="^[a-zA-Z]{1,}$" />
</h:inputText>
</div>
<div class="form-group" style="margin-bottom: 13px;">
<span class="form-control">Username :</span>
<h:inputText class="form-control" value="#{korisnikManagedBean.username}" validatorMessage="Molimo vas unesite vas username">
<f:validateRegex pattern="^[a-zA-Z]{1,}$" />
</h:inputText>
</div>
<div class="form-group" style="margin-bottom: 13px;">
<span class="form-control">Password :</span>
<h:inputSecret class="form-control" value="#{korisnikManagedBean.password}" validatorMessage="Molimo vas unesite vas password">
<f:validateRegex pattern="^[a-zA-Z0-9]{1,}$" />
</h:inputSecret>
</div>
<div class="form-group" style="margin-bottom: 13px;">
<span class="form-control">Email :</span>
<h:inputText class="form-control" value="#{korisnikManagedBean.email}" validatorMessage="Molimo vas unesite vas e-mail">
<f:validateRegex pattern="^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$" />
</h:inputText>
</div>
<div class="submit">
<h:commandButton action="#{korisnikManagedBean.register()}" value="Register" class="btn btn-lg btn-success" />
</div>
<h:messages class="error" style="margin-left: 25px; margin-top: 10px;" />
</h:form>
After submitting the form above I get this exception:
javax.faces.el.EvaluationException: javax.ejb.EJBException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.ejb.EJBException
at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)
at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:698)
at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:503)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4475)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2009)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1979)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at com.sun.proxy.$Proxy364.registration(Unknown Source)
at bean.__EJB31_Generated__KorisnikSessionBean__Intf____Bean__.registration(Unknown Source)
at view.KorisnikManagedBean.register(KorisnikManagedBean.java:80)
at view.KorisnikManagedBean$Proxy$_$$_WeldClientProxy.register(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at javax.el.ELUtil.invokeMethod(ELUtil.java:326)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:536)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:269)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 35 more
Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-projekat.korisnik WHERE ((USERNAME = 'asd') AND (PASSWORD = 'asd'))' at line 1
Error Code: 1064
Call: SELECT KORISNIK_ID, EMAIL, IME, LOGGEDIN, PASSWORD, PREZIME, USERNAME FROM cs230-projekat.korisnik WHERE ((USERNAME = ?) AND (PASSWORD = ?))
bind => [2 parameters bound]
Query: ReadAllQuery(name="Korisnik.findByUsernameAndPassword" referenceClass=Korisnik sql="SELECT KORISNIK_ID, EMAIL, IME, LOGGEDIN, PASSWORD, PREZIME, USERNAME FROM cs230-projekat.korisnik WHERE ((USERNAME = ?) AND (PASSWORD = ?))")
at org.eclipse.persistence.internal.jpa.QueryImpl.getDetailedException(QueryImpl.java:377)
at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:260)
at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:516)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:400)
at bean.KorisnikSessionBean.getKorisnik(KorisnikSessionBean.java:56)
at bean.KorisnikSessionBean.registration(KorisnikSessionBean.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
... 53 more
Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-projekat.korisnik WHERE ((USERNAME = 'asd') AND (PASSWORD = 'asd'))' at line 1
Error Code: 1064
Call: SELECT KORISNIK_ID, EMAIL, IME, LOGGEDIN, PASSWORD, PREZIME, USERNAME FROM cs230-projekat.korisnik WHERE ((USERNAME = ?) AND (PASSWORD = ?))
bind => [2 parameters bound]
Query: ReadAllQuery(name="Korisnik.findByUsernameAndPassword" referenceClass=Korisnik sql="SELECT KORISNIK_ID, EMAIL, IME, LOGGEDIN, PASSWORD, PREZIME, USERNAME FROM cs230-projekat.korisnik WHERE ((USERNAME = ?) AND (PASSWORD = ?))")
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:679)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1995)
at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2714)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2667)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:477)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1155)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1114)
at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:402)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1202)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2894)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1797)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1779)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1744)
at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
... 87 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-projekat.korisnik WHERE ((USERNAME = 'asd') AND (PASSWORD = 'asd'))' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2683)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2144)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2310)
at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:642)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:1002)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:641)
... 107 more
IndoKnight, что идеально завернуть вам дал как Exception
семантика в рамках Java EE.. работа.
вот две единственные строки «bean provider», то есть вы и я, должны знать об исключениях в Java EE:
ваш bean полностью свободен для восстановления от любого типа исключения или ошибки, как вы считаете нужным, в отношении других ограничений, под которыми может находиться bean. Если вы оправились от исключения, то поздравляю-проблем нет anymore =)
соответствующим ограничением может быть, например, то, что» корпоративные компоненты, использующие демаркацию транзакций, управляемых контейнером, не должны использовать методы управления транзакциями, которые мешают границам демаркации транзакций контейнера», чтобы процитировать Java EE 7 учебник 48-2 страницы (вы хотите программно установить откат управляемой транзакции контейнера, используйте метод ejbcontext.setRollbackOnly()).
Вам также не рекомендуется, как и в любом типе приложения Java, обрабатывать Throwable
или Error
брошенный с очень низкого уровня. RuntimeException
теоретически считается в этой категории, поскольку он так лихо сигнализирует об «ошибке разработчика», которая похожа на» совершенно неожиданную», но мы все знаем, что это не так.
в основном, неожиданное исключение (исключения времени выполнения + другое дерьмо, которое мы предполагаем, происходит от кого-то другого) предполагается, что ваш код не может быть обработан и должен обрабатываться сервером. Сервер должен обрабатывать исключение» unhandleable» (посмотреть спецификация EJB 3.2, стр. 204), напечатав что-то об этом в журнале (я перейду к деталям немного позже!).
более конкретно..
вы спросили (И вот во что я верю или не верны):
все исключения приложений описанное выше должно быть брошено
непосредственно EJB клиенту?
да. и транзакция (если она активна) не должна откатываться, если вы явно не указываете, что она должна использовать атрибут отката ApplicationException
. Исключение Java-кода-это очень естественная вещь. Java EE не имеет намерения разрушать эту модель программирования. Так что вперед, бросьте проверенные исключения, как вам нравится, заставляя клиентов пытаться поймать те или отметьте исключения среды выполнения как исключения приложения и бросьте их тоже. Счастливого броска!
если системные исключения обернуты внутри javax.EJB-компонента.EJBException перед
бросая клиенту, затем javax.EJB-компонента.EJBException считаются
Системное Исключение?
да, но не по той причине, которую вы предоставляете. Чтобы быть ясным, нет типа SystemException. Это просто причудливая формулировка для описания таких исключений, которые большинство бобов там не могло произойти, и скорее всего, они происходят из контейнера EJB. Ваш код определенно не должен вызывать EJBException. Это, вероятно, только помешало бы уму сервера. Также вы не можете аннотировать исключение как @ApplicationException так как вы не владеете кодом, он предоставляется API Java EE. Вы можете расширить EJBException, но не имеет смысла маскировать ваш код как часть кодовой базы сервера. Наиболее главное, с EJBException расширяет RuntimeException, я думаю, что безопасно классифицировать EJBException как «исключение системного уровня».
Берегись Дьявола
некоторые пульт ДУ клиенты получат исключения remoteexception вместо исключения EJBException.
перехватчики что вы, возможно, даже не знаете в огромном проекте предприятия, может проглотить исключения, брошенные из вашего метода выполнение активной транзакции commit хотя у вас никогда не было планов позволить ему это сделать.
держу пари, вы думаете, что a подавленные исключением всегда извлекается с помощью Throwable.getCause(). Обратите внимание, что спецификация EJB 3.2 не говорит, что контейнер должен или должен щадить ссылку на подавленную причину. Фактически, единственное, что должен сделать контейнер, это зарегистрировать исключение. Тогда, если Боба нет одноэлементный экземпляр bean должен быть отброшен и больше никогда не использоваться. Кроме того, если компонент является управляемым сообщением компонентом, только тогда требуется «обернуть»исходное исключение. Как «обернуть» исключение не указано. Супер портативный прохладный код, вероятно, следует взглянуть на подобное.getCause() метод и Throwable.getSuppressed () тоже. Не ожидайте, что в вашем коде обработки всегда будет найдено исходное исключение.
асинхронные методы (методы публичного сеанса bean аннотированы @асинхронные), который возвращает void, не может распространять исключение на своего клиента. Таким образом, они не должны объявлять или исключения приложений (посмотреть спецификация EJB 3.2 страница 82). Обратите внимание, что при вызове асинхронного метода сервер может не предоставить потоковые ресурсы для обслуживания вашего запроса, и если это так, он должен бросить.. EJBException (страница 48)!
Вопросы: реестр контрактов
Ошибка при подписании сведения о БО
Здравствуйте! Кто-нибудь знает, что делать с ошибкой при подписании сформированных сведений о БО (реестр контрактов, регистрация нового ГК)?
java.lang.RuntimeException: javax.ejb.EJBTransactionRolledbackException: nested exception is: javax.ejb.EJBException: See nested exception; nested exception is: java.lang.RuntimeException: Error occurred while validating print form [printFormContentId = 281983921]. Ошибка при валидации по схеме.
-
IrinaI72 - Новичок
- Сообщений: 2
- Зарегистрирован: 08 апр 2019, 10:36
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Роль: Заказчик
- Пункты репутации: 0
Re: Вопросы: реестр контрактов
Da10 » 08 апр 2019, 13:30
Коллеги, такой вопрос. Если внести изменения в карточку контракта по причине технической ошибки (неверно указан бюджет) через функционал «внести изменения» -> «исправление сведений», это является нарушением, если уже больше 5 дней с момента заключения прошло или нет? При сохранении, вроде не ругается.
«Ребята! У нас две проблемы: Минобороны и пуговица. Мы пуговицу найти можем? Чисто теоретически? Можем. А с Минобороны… ничего. Вывод: ищем пуговицу.»
-
Da10 - Завсегдатай
- Сообщений: 851
- Зарегистрирован: 06 дек 2018, 10:15
- Благодарил (а): 7 раз.
- Поблагодарили: 23 раз.
- Роль: Заказчик
- Пункты репутации: 21
Re: Вопросы: реестр контрактов
kir_dfg » 08 апр 2019, 13:32
Da10 писал(а):Коллеги, такой вопрос. Если внести изменения в карточку контракта по причине технической ошибки (неверно указан бюджет) через функционал «внести изменения» -> «исправление сведений», это является нарушением, если уже больше 5 дней с момента заключения прошло или нет? При сохранении, вроде не ругается.
Нет, не является. Наоборот, устраняете нарушение. Если что, можно отбиться всегда.
Главное, чтобы это было именно исправление, а не внесение изменений в контракт.
Машины времени есть у каждого. Те, что переносят в прошлое, зовутся воспоминаниями, а те, что уносят в будущее — мечтами ©
-
kir_dfg - Профессор
- Сообщений: 12112
- Зарегистрирован: 19 дек 2016, 11:34
- Откуда: Юпитер-2
- Благодарил (а): 173 раз.
- Поблагодарили: 1534 раз.
- Роль: Заказчик
- Пункты репутации: 635
Re: Вопросы: реестр контрактов
Da10 » 08 апр 2019, 13:40
kir_dfg писал(а):
Da10 писал(а):Коллеги, такой вопрос. Если внести изменения в карточку контракта по причине технической ошибки (неверно указан бюджет) через функционал «внести изменения» -> «исправление сведений», это является нарушением, если уже больше 5 дней с момента заключения прошло или нет? При сохранении, вроде не ругается.
Нет, не является. Наоборот, устраняете нарушение. Если что, можно отбиться всегда.
Главное, чтобы это было именно исправление, а не внесение изменений в контракт.
Спасибо. Будем устранять)
«Ребята! У нас две проблемы: Минобороны и пуговица. Мы пуговицу найти можем? Чисто теоретически? Можем. А с Минобороны… ничего. Вывод: ищем пуговицу.»
-
Da10 - Завсегдатай
- Сообщений: 851
- Зарегистрирован: 06 дек 2018, 10:15
- Благодарил (а): 7 раз.
- Поблагодарили: 23 раз.
- Роль: Заказчик
- Пункты репутации: 21
Re: Ошибка при подписании сведения о БО
kir_dfg » 08 апр 2019, 14:19
IrinaI72 писал(а):Здравствуйте! Кто-нибудь знает, что делать с ошибкой при подписании сформированных сведений о БО (реестр контрактов, регистрация нового ГК)?
java.lang.RuntimeException: javax.ejb.EJBTransactionRolledbackException: nested exception is: javax.ejb.EJBException: See nested exception; nested exception is: java.lang.RuntimeException: Error occurred while validating print form [printFormContentId = 281983921]. Ошибка при валидации по схеме.
Здравствуйте. Давно вылезло? Если сегодня, то только ждать.
А так посмотрите, нет ли где длинных строк, пустых полей и прочего.
Машины времени есть у каждого. Те, что переносят в прошлое, зовутся воспоминаниями, а те, что уносят в будущее — мечтами ©
-
kir_dfg - Профессор
- Сообщений: 12112
- Зарегистрирован: 19 дек 2016, 11:34
- Откуда: Юпитер-2
- Благодарил (а): 173 раз.
- Поблагодарили: 1534 раз.
- Роль: Заказчик
- Пункты репутации: 635
Re: Обсуждение: обсуждение техподдержки и крики души
IrinaI72 » 08 апр 2019, 14:54
Отвечая на свой же вопрос, вдруг кому-то пригодится.. Если при подписании сформированных сведений о БО появляется ошибка на всю страницу java.lang. и т.д., вернитесь в Информацию о поставщике и проставьте там появившиеся после обновления поля «Наименование объекта почтовой связи» и «Номер ячейки».
-
IrinaI72 - Новичок
- Сообщений: 2
- Зарегистрирован: 08 апр 2019, 10:36
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Роль: Заказчик
- Пункты репутации: 0
Re: Вопросы: реестр контрактов
annmok » 08 апр 2019, 17:09
коллеги, добрый день.
ошибка perform publication contract with message, затем после нажатия на кнопку ок- internal server error. . И все, висит глухо, крутится, пока руками не наберёшь в строке поиска адрес заново. Другие контракты-не знаю, у меня не было пока шанса попробовать, не заключали больше ничего. Сейчас доеду до работы и попробую сформировать контракт вручную..
воюю с техподдержкой, ошибка сохраняется, была надежды что новый контракт смогу опубликовать..как бы не так:((( Подскажите,можт я, курица, делаю что-то неправильно..
Нажала подписать и разместить в модуле «заключение контрактов». Контракт ушел в ЕИС.
Потом зашла в Реестр контрактов,нажала сформировать сведения о контракте,выбрала нужную закупку, заполнила все и отправляю на размещение и контроль… по логике все верно… но блин ошибка,хоть ты убейся.
Количество символов в наименовании контракта небольшое. перевыбирать извещение по рекомендации ТП пробовала… Ставить гарантии по контракту (продукты!) пробовала.. а воз и ныне там. Сегодня 08 апреля.. контракт от 11 марта… каждый день начинаю утро с письма в ТП…
-
annmok - Завсегдатай
- Сообщений: 245
- Зарегистрирован: 17 мар 2016, 11:22
- Благодарил (а): 87 раз.
- Поблагодарили: 10 раз.
- Роль: Заказчик
- Пункты репутации: 11
Re: Вопросы: реестр контрактов
ДиМкА » 08 апр 2019, 17:38
annmok писал(а):воюю с техподдержкой, ошибка сохраняется, была надежды что новый контракт смогу опубликовать..как бы не так:((( Подскажите,можт я, курица, делаю что-то неправильно..Нажала подписать и разместить в модуле «заключение контрактов». Контракт ушел в ЕИС.Потом зашла в Реестр контрактов,нажала сформировать сведения о контракте,выбрала нужную закупку, заполнила все и отправляю на размещение и контроль… по логике все верно… но блин ошибка,хоть ты убейся.Количество символов в наименовании контракта небольшое. перевыбирать извещение по рекомендации ТП пробовала… Ставить гарантии по контракту (продукты!) пробовала.. а воз и ныне там. Сегодня 08 апреля.. контракт от 11 марта… каждый день начинаю утро с письма в ТП…
Сегодня такая же ошибка
ДиМкА писал(а):После обновления вернулась ошибка: при публикации контракта «Произошла ошибка performPublicationContractWithMessage»/»Internal Server Error».
Плагин переустановил, перезагрузился — не уходит.
Причем на разных машинах — одно и тоже.
Обсуждение: обсуждение техподдержки и крики души
post454648.html#p454648
-
ДиМкА - Профессор
- Сообщений: 7933
- Зарегистрирован: 01 ноя 2014, 00:31
- Благодарил (а): 13 раз.
- Поблагодарили: 1558 раз.
- Роль: Заказчик
- Пункты репутации: 589
Вернуться в Работа заказчика
Кто сейчас на форуме
Зарегистрированные пользователи: ASGOR, Google [Bot]
Вопросы: реестр контрактов
Ошибка при подписании сведения о БО
IrinaI72 » 08 апр 2019, 13:04
Re: Вопросы: реестр контрактов
Da10 » 08 апр 2019, 13:30
Re: Вопросы: реестр контрактов
kir_dfg » 08 апр 2019, 13:32
Re: Вопросы: реестр контрактов
Da10 » 08 апр 2019, 13:40
Re: Ошибка при подписании сведения о БО
kir_dfg » 08 апр 2019, 14:19
Re: Обсуждение: обсуждение техподдержки и крики души
IrinaI72 » 08 апр 2019, 14:54
Re: Вопросы: реестр контрактов
annmok » 08 апр 2019, 17:09
коллеги, добрый день.
воюю с техподдержкой, ошибка сохраняется, была надежды что новый контракт смогу опубликовать..как бы не так:((( Подскажите,можт я, курица, делаю что-то неправильно..
Нажала подписать и разместить в модуле «заключение контрактов». Контракт ушел в ЕИС.
Потом зашла в Реестр контрактов,нажала сформировать сведения о контракте,выбрала нужную закупку, заполнила все и отправляю на размещение и контроль. по логике все верно. но блин ошибка,хоть ты убейся.
Количество символов в наименовании контракта небольшое. перевыбирать извещение по рекомендации ТП пробовала. Ставить гарантии по контракту (продукты!) пробовала.. а воз и ныне там. Сегодня 08 апреля.. контракт от 11 марта. каждый день начинаю утро с письма в ТП.
Re: Вопросы: реестр контрактов
ДиМкА » 08 апр 2019, 17:38
ДиМкА писал(а): После обновления вернулась ошибка: при публикации контракта «Произошла ошибка performPublicationContractWithMessage»/»Internal Server Error».
Плагин переустановил, перезагрузился — не уходит.
Причем на разных машинах — одно и тоже.
Re: Ошибка в реестре контрактов
Прохожий зак » 08 апр 2019, 21:53
Re: Вопросы: реестр контрактов
ДиМкА » 09 апр 2019, 09:19
Источник
EJB Exception (Doc ID 2402366.1)
Last updated on NOVEMBER 22, 2022
Applies to:
CCB — Oracle Utilities Customer Care and Billing
OUAF/FW — Oracle Utilities Framework
On : 2.5.0.2.0 version, ENV — Environment
When running the CCB app in native mode in the Weblogic Server, there are some issues when installing the ear files.
he ear files (SPLService, SPLWeb, Webservices) are installed correctly, their state is active, but there are «EJB Exception» Errors
ERROR
————————
<> com.splwg.shared.common.LoggedException: Failed READ due to EJBException
Caused By: javax.ejb.EJBException: EJB Exception: ; nested exception is:
com.oracle.pitchfork.interfaces.LifecycleCallbackException: Failure to invoke protected void com.splwg.ejb.service.impl.ServiceBean.initializeContext() on bean class class com.splwg.ejb.service.impl.SPLServiceBean_8o7vtd_Impl with args: null
Caused By: com.oracle.pitchfork.interfaces.LifecycleCallbackException: Failure to invoke protected void com.splwg.ejb.service.impl.ServiceBean.initializeContext() on bean class class com.splwg.ejb.service.impl.SPLServiceBean_8o7vtd_Impl with args: null
Caused By: java.lang.reflect.InvocationTargetException
Caused By: java.lang.ExceptionInInitializerError
Caused By: java.lang.NullPointerException
Could not start flush listener for WebservicesCacheFlusher. Please check JMS configuration.
javax.naming.NameNotFoundException: While trying to lookup ‘jms.OUFlushConnectionFactory’ didn’t find subcontext ‘jms’. Resolved »; remaining name ‘jms/OUFlushConnectionFactory’
821 [[ACTIVE] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’] ERROR (common.cache.CacheFlushManager) Flush listener for WebservicesCacheFlusher could not be started
com.splwg.shared.common.LoggedException: (805522049) Could not start flush listener for WebservicesCacheFlusher. Please check JMS configuration.
What is the impact of there errors?
В
Solution
To view full details, sign in with your My Oracle Support account.
Don’t have a My Oracle Support account? Click to get started!
In this Document
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. пїЅ Oracle | Contact and Chat | Support | Communities | Connect with us | | | | Legal Notices | Terms of Use
Источник
EJB3.1 Системные исключения против javax.EJB-компонента.EJBException
просто немного фона на EJB3.1 исключения, прежде чем поднимать мой вопрос —
исключения приложений состоят из
пользовательские checked или unchecked исключения, которые имеют @Исключение applicationexception аннотации
все проверенные исключения
java.ленг.Исключение & это исключения подкласса
кроме java.РМО.RemoteException & это исключения подкласса
Системные исключения составляют
java.РМО.RemoteException и это исключения подкласса
все неотмеченные исключения
java.ленг.RuntimeException и его подклассов исключений
Ява.ленг.Ошибка и это исключения подкласса
Ниже приведено заявление, которое я прочитал в этом книги
в исключениях системы EJB не исключено клиентом, когда встречаются такие исключения не передаются клиенту как есть, но обертываются в javax.EJB-компонента.EJBException.
- все исключения приложений, описанные выше, должны быть брошены непосредственно EJB клиенту?
- если системные исключения обернуты внутри javax.EJB-компонента.EJBException перед броском клиенту, то является javax.EJB-компонента.EJBException рассматривается как система Исключение?
2 ответов
- да, более или менее так они работают. Для получения дополнительной информации о поведении EJB ознакомьтесь со следующим сообщением в блоге:ссылке
исключение применения будет брошено когда ошибка бизнес-логики, в отличие от системной ошибки.
существует важное различие: исключения приложений не автоматически вызвать откат транзакции. У клиента возможность восстановления после создания исключения приложения.
исключения приложений отправляются клиенту без переупаковки как исключение EJBException. Поэтому их можно использовать для проверки отчетов ошибки или проблемы бизнес-логики, и они дойдут до клиента.
- javax.ejb.EJBException выходит RuntimeException Так что да, это системное исключение.
общий сценарий, связанный с этим: если у вас есть непойманные RuntimeException в коде приложения будет откат. Это довольно полезное поведение по умолчанию.
IndoKnight, что идеально завернуть вам дал как Exception семантика в рамках Java EE.. работа.
вот две единственные строки «bean provider», то есть вы и я, должны знать об исключениях в Java EE:
ваш bean полностью свободен для восстановления от любого типа исключения или ошибки, как вы считаете нужным, в отношении других ограничений, под которыми может находиться bean. Если вы оправились от исключения, то поздравляю-проблем нет anymore =)
соответствующим ограничением может быть, например, то, что» корпоративные компоненты, использующие демаркацию транзакций, управляемых контейнером, не должны использовать методы управления транзакциями, которые мешают границам демаркации транзакций контейнера», чтобы процитировать Java EE 7 учебник 48-2 страницы (вы хотите программно установить откат управляемой транзакции контейнера, используйте метод ejbcontext.setRollbackOnly()).
Вам также не рекомендуется, как и в любом типе приложения Java, обрабатывать Throwable или Error брошенный с очень низкого уровня. RuntimeException теоретически считается в этой категории, поскольку он так лихо сигнализирует об «ошибке разработчика», которая похожа на» совершенно неожиданную», но мы все знаем, что это не так.
в основном, неожиданное исключение (исключения времени выполнения + другое дерьмо, которое мы предполагаем, происходит от кого-то другого) предполагается, что ваш код не может быть обработан и должен обрабатываться сервером. Сервер должен обрабатывать исключение» unhandleable» (посмотреть спецификация EJB 3.2, стр. 204), напечатав что-то об этом в журнале (я перейду к деталям немного позже!).
более конкретно..
вы спросили (И вот во что я верю или не верны):
все исключения приложений описанное выше должно быть брошено непосредственно EJB клиенту?
да. и транзакция (если она активна) не должна откатываться, если вы явно не указываете, что она должна использовать атрибут отката ApplicationException . Исключение Java-кода-это очень естественная вещь. Java EE не имеет намерения разрушать эту модель программирования. Так что вперед, бросьте проверенные исключения, как вам нравится, заставляя клиентов пытаться поймать те или отметьте исключения среды выполнения как исключения приложения и бросьте их тоже. Счастливого броска!
если системные исключения обернуты внутри javax.EJB-компонента.EJBException перед бросая клиенту, затем javax.EJB-компонента.EJBException считаются Системное Исключение?
да, но не по той причине, которую вы предоставляете. Чтобы быть ясным, нет типа SystemException. Это просто причудливая формулировка для описания таких исключений, которые большинство бобов там не могло произойти, и скорее всего, они происходят из контейнера EJB. Ваш код определенно не должен вызывать EJBException. Это, вероятно, только помешало бы уму сервера. Также вы не можете аннотировать исключение как @ApplicationException так как вы не владеете кодом, он предоставляется API Java EE. Вы можете расширить EJBException, но не имеет смысла маскировать ваш код как часть кодовой базы сервера. Наиболее главное, с EJBException расширяет RuntimeException, я думаю, что безопасно классифицировать EJBException как «исключение системного уровня».
Берегись Дьявола
некоторые пульт ДУ клиенты получат исключения remoteexception вместо исключения EJBException.
перехватчики что вы, возможно, даже не знаете в огромном проекте предприятия, может проглотить исключения, брошенные из вашего метода выполнение активной транзакции commit хотя у вас никогда не было планов позволить ему это сделать.
держу пари, вы думаете, что a подавленные исключением всегда извлекается с помощью Throwable.getCause(). Обратите внимание, что спецификация EJB 3.2 не говорит, что контейнер должен или должен щадить ссылку на подавленную причину. Фактически, единственное, что должен сделать контейнер, это зарегистрировать исключение. Тогда, если Боба нет одноэлементный экземпляр bean должен быть отброшен и больше никогда не использоваться. Кроме того, если компонент является управляемым сообщением компонентом, только тогда требуется «обернуть»исходное исключение. Как «обернуть» исключение не указано. Супер портативный прохладный код, вероятно, следует взглянуть на подобное.getCause() метод и Throwable.getSuppressed () тоже. Не ожидайте, что в вашем коде обработки всегда будет найдено исходное исключение.
асинхронные методы (методы публичного сеанса bean аннотированы @асинхронные), который возвращает void, не может распространять исключение на своего клиента. Таким образом, они не должны объявлять или исключения приложений (посмотреть спецификация EJB 3.2 страница 82). Обратите внимание, что при вызове асинхронного метода сервер может не предоставить потоковые ресурсы для обслуживания вашего запроса, и если это так, он должен бросить.. EJBException (страница 48)!
Источник
Уважаемые заказчики! В связи с обновлениями ЕИС на версию 9.3 существует ошибки интеграции извещений
Уважаемые заказчики! В связи с обновлениями Единой информационной системы в сфере закупок РФ (далее – ЕИС) на версию 9.3 существует ошибки интеграции извещений:
Извещение. See nested exception; nested exception is: java.lang.ClassCastException
Некорректные данные. IDE. See nested exception; nested exception is: java.lang.ClassCastException: ru.lanit.fz44.ejb.service.priz.dto.PrizKtruCharacteristicValueDto incompatible with ru.lanit.fz44.ejb.facade.ktru.dto.CharacteristicValueDto javax.ejb.EJBException: See nested exception; nested exception is: java.lang.ClassCastException: ru.lanit.fz44.ejb.service.priz.dto.PrizKtruCharacteristicValueDto incompatible with ru.lanit.fz44.ejb.facade.ktru.dto.CharacteristicValueDto java.lang.ClassCastException: ru.lanit.fz44.ejb.service.priz.dto.PrizKtruCharacteristicValueDto incompatible with ru.lanit.fz44.ejb.facade.ktru.dto.CharacteristicValueDto at ru.lanit.fz44.ejb.facade.priz.integration.impl.LotPositionTransformerBean.buildSelectedKtruCharacteristicValueFromRef(LotPositionTransformerBean.java:220) at ru.lanit.fz44.ejb.facade.priz.integration.impl.LotPositionTransformerBean.buildKtruCharacteristicFromPpg(LotPositionTransformerBean.java:173) at ru.lanit.fz44.ejb.facade.priz.integration.impl.LotPositionTransformerBean.mapKtru(LotPositionTransformerBean.java:137) at ru.lanit.fz44.ejb.facade.priz.integration.impl.LotPositionTransformerBean.transform(LotPositionTransformerBean.java:99) at sun.reflect.GeneratedMethodAccessor3503.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ejs.container.EJSContainer.invokeProceed(EJSContainer.java:5882) at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:586) at ru.lanit.monitoring.monitors.aop.MonitoredOperationInterceptor.monitorAroundMethod(MonitoredOperationInterceptor.java:62) at sun.reflect.GeneratedMethodAccessor1047.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:
В настоящее время службой технической поддержки ГИС направлена задача на исправление в ЕИС.
(ПРИЗ_АК_0000_0632) В таблице по лекарственным препаратам содержатся строки, в которых выбраны лекарственные формы и дозировки, не соответствующие указанному значению МНН.
НАТРИЯ ХЛОРИД:
НАТРИЯ ХЛОРИД
НАТРИЯ ХЛОРИД:
НАТРИЯ ХЛОРИД
До момента исправления ошибок в целях соблюдения сроков размещения извещений необходимо:
- Создать проект извещения в ГИС «Госзакупки ЯО».
- Направить на размещение – получить текст ошибки ЕИС (один из вышеуказанных).
- Разместить извещение напрямую в ЕИС.
- Обратиться в службу технической поддержки ГИС «Госзакупки ЯО» с указанием номера извещения и даты размещения извещения для ручного перевода в ГИС в состояние «Опубликован». Обращаем внимание, что в службу технической поддержки необходимо обращаться своевременно в связи с осуществлением импорта протоколов закупки.
Приносим свои извинения за доставленные неудобства.
Источник
I have an entity called Medico which was created as an Entity Class from Database, hence I think the entity definition is failsafe here, nevertheless the definition is the following:
@Entity
@Table(name = "medico")
@XmlRootElement
@NamedQueries({All named queries here})
public class Medico implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "idMedico")
private Integer idMedico;
@Basic(optional = false)
@NotNull
@Column(name = "Identificacion")
private int identificacion;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 33)
@Column(name = "Primer_Nombre")
private String primerNombre;
@Size(max = 33)
@Column(name = "Segundo_Nombre")
private String segundoNombre;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 33)
@Column(name = "Primer_Apellido")
private String primerApellido;
@Size(max = 33)
@Column(name = "Segundo_Apellido")
private String segundoApellido;
@Basic(optional = false)
@NotNull
@Column(name = "Telefono")
private long telefono;
@Column(name = "Telefono_Celular")
private BigInteger telefonoCelular;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 33)
@Column(name = "Direccion")
private String direccion;
// Constructors..
// Getters and setters..
}
I want to create new Medico entities on MySql database, and this is how I am doing so:
@ManagedBean
@ViewScoped
public class ConsultaMedicos implements Serializable {
// Variables Definition ..
@EJB
private DoctorsFacadeLocal doctorsFacade;
// Constructor and other methods ..
public String save()
{
try{
doctorsFacade.save(consultedDoctor);
FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_INFO, CREATE_SUMMARY, null);
FacesContext.getCurrentInstance().addMessage(CREATE_SUMMARY, fm);
}
catch(Exception ex){
FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, CREATE_ERROR_SUMMARY, null);
FacesContext.getCurrentInstance().addMessage(CREATE_ERROR_SUMMARY, fm);
return null;
}
return "listaMedicos.xhtml";
}
...
}
@Local
public interface DoctorsFacadeLocal {
List<Medico> findAllDoctors();
Medico findDoctorByIdNumber(int identificacion);
void edit(Medico medico);
void save(Medico medico);
}
@Stateless
public class DoctorsFacade implements DoctorsFacadeLocal {
@PersistenceContext
private EntityManager em;
// Other methods..
@Override
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void save(Medico medico)
{
em.persist(medico);
em.flush();
}
}
After I call save()
from my JSF page, I get the following exception:
javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5194)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5092)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4880)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
at $Proxy157.save(Unknown Source)
at com.lemm.web.bean.ConsultaMedicos.save(ConsultaMedicos.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:467)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:254)
at com.sun.el.parser.AstValue.invoke(AstValue.java:228)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated while executing Automatic Bean Validation on callback event:'prePersist'. Please refer to embedded ConstraintViolations for details.
at org.eclipse.persistence.internal.jpa.metadata.listeners.BeanValidationListener.validateOnCallbackEvent(BeanValidationListener.java:90)
at org.eclipse.persistence.internal.jpa.metadata.listeners.BeanValidationListener.prePersist(BeanValidationListener.java:62)
at org.eclipse.persistence.descriptors.DescriptorEventManager.notifyListener(DescriptorEventManager.java:698)
at org.eclipse.persistence.descriptors.DescriptorEventManager.notifyEJB30Listeners(DescriptorEventManager.java:641)
at org.eclipse.persistence.descriptors.DescriptorEventManager.executeEvent(DescriptorEventManager.java:200)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectClone(UnitOfWorkImpl.java:4216)
at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.cloneAndRegisterNewObject(RepeatableWriteUnitOfWork.java:576)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalRegisterObject(UnitOfWorkImpl.java:2883)
at org.eclipse.persistence.internal.sessions.MergeManager.registerObjectForMergeCloneIntoWorkingCopy(MergeManager.java:932)
at org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:492)
at org.eclipse.persistence.internal.sessions.MergeManager.mergeChanges(MergeManager.java:263)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:3467)
at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.mergeCloneWithReferences(RepeatableWriteUnitOfWork.java:363)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:3427)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.mergeInternal(EntityManagerImpl.java:452)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.merge(EntityManagerImpl.java:429)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.merge(EntityManagerWrapper.java:286)
at com.lemm.ejb.facade.DoctorsFacade.save(DoctorsFacade.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5367)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:862)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:801)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:371)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5339)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5327)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:214)
... 47 more
What am I doing wrong? What am I missing?
If it serves for anything heres my persistence.xml
<persistence-unit name="lemmPU" transaction-type="JTA">
<jta-data-source>jdbc/lemmdb</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
</properties>
</persistence-unit>
Я делаю веб-приложение с использованием Java EE, базы данных sqlserver. Я пытаюсь добавить нового клиента в базу данных с помощью entitymanager, и я получаю такое исключение. Сервер (glassfish) работает без ошибок
[2018-11-09T13:20:33.396+0100] [glassfish 4.1] [WARNING] [AS-EJB-00056] [javax.enterprise.ejb.container] [tid: _ThreadID=32 _ThreadName=http-listener-1(5)] [timeMillis: 1541766033396] [levelValue: 900] [[ A system exception occurred during an invocation on EJB KontoBean, method: public void rental.KontoBean.addNewClient(rental.DaneLogowaniaEntity,rental.DaneKlientEntity,rental.KlientEntity)]] [2018-11-09T13:20:33.397+0100] [glassfish 4.1] [WARNING] [] [javax.enterprise.ejb.container] [tid: _ThreadID=32 _ThreadName=http-listener-1(5)] [timeMillis: 1541766033397] [levelValue: 900] [[ javax.ejb.EJBException at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:752) at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:702) at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88) at com.sun.proxy.$Proxy212.addNewClient(Unknown Source) at rental.__EJB31_Generated__KontoBean__Intf____Bean__.addNewClient(Unknown Source) at rental.KontoNamed.addNewKlientEntity(KontoNamed.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.el.parser.AstValue.invoke(AstValue.java:289) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304) at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) at javax.faces.component.UICommand.broadcast(UICommand.java:315) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:138) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTxRequiredCheck(EntityManagerWrapper.java:158) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTransactionScopedTxCheck(EntityManagerWrapper.java:151) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:281) at rental.KontoBean.addNewClient(KontoBean.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153) at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64) at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52) at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212) ... 50 more ]] [2018-11-09T13:20:33.401+0100] [glassfish 4.1] [SEVERE] [] [] [tid: _ThreadID=32 _ThreadName=Thread-9] [timeMillis: 1541766033401] [levelValue: 1000] [[ javax.ejb.EJBException at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:752) at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:702) at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88) at com.sun.proxy.$Proxy212.addNewClient(Unknown Source) at rental.__EJB31_Generated__KontoBean__Intf____Bean__.addNewClient(Unknown Source) at rental.KontoNamed.addNewKlientEntity(KontoNamed.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.el.parser.AstValue.invoke(AstValue.java:289) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304) at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) at javax.faces.component.UICommand.broadcast(UICommand.java:315) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:138) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTxRequiredCheck(EntityManagerWrapper.java:158) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTransactionScopedTxCheck(EntityManagerWrapper.java:151) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:281) at rental.KontoBean.addNewClient(KontoBean.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153) at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64) at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52) at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java]] [2018-11-09T13:20:33.401+0100] [glassfish 4.1] [SEVERE] [] [] [tid: _ThreadID=32 _ThreadName=Thread-9] [timeMillis: 1541766033401] [levelValue: 1000] [[ :212) ... 50 more]]
Мой KlientEntity.java
package rental; import javax.persistence.*; @Entity @Table(name = "Klient", schema = "dbo", catalog = "Test") public class KlientEntity { private int id; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID",nullable = false) public int getId() { return id; } public void setId(int id) { this.id = id; } @OneToOne(cascade = CascadeType.PERSIST) private DaneKlientEntity daneKlientEntity; @OneToOne(cascade = CascadeType.PERSIST) private DaneLogowaniaEntity daneLogowaniaEntity; public DaneKlientEntity getDaneKlientEntity() { return daneKlientEntity; } public void setDaneKlientEntity(DaneKlientEntity daneKlientEntity) { this.daneKlientEntity = daneKlientEntity; } public DaneLogowaniaEntity getDaneLogowaniaEntity() { return daneLogowaniaEntity; } public void setDaneLogowaniaEntity(DaneLogowaniaEntity daneLogowaniaEntity) { this.daneLogowaniaEntity = daneLogowaniaEntity; } }
KontoBean.java
package rental; import javax.ejb.LocalBean; import javax.ejb.Stateless; import javax.inject.Named; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @LocalBean @Stateless public class KontoBean { public KontoBean(){ } @PersistenceContext EntityManager entityManager; public void addNewClient(DaneLogowaniaEntity daneLogowaniaEntity, DaneKlientEntity daneKlientEntity, KlientEntity klientEntity) { entityManager.persist(daneLogowaniaEntity); entityManager.persist(daneKlientEntity); entityManager.persist(klientEntity); entityManager.flush(); } public void updateDaneKlientaEntity(DaneKlientEntity daneKlientEntity) { DaneKlientEntity entity = entityManager.find(DaneKlientEntity.class,daneKlientEntity.getId()); entity.setEmail(daneKlientEntity.getEmail()); entity.setImie(daneKlientEntity.getImie()); entity.setNazwisko(daneKlientEntity.getNazwisko()); entity.setTel(daneKlientEntity.getTel()); entityManager.persist(entity); } public void updateDaneLogowaniaEntity(DaneLogowaniaEntity daneLogowaniaEntity) { DaneLogowaniaEntity daneLogowaniaEntity1 = entityManager.find(DaneLogowaniaEntity.class,daneLogowaniaEntity.getId()); } public void updateKlientEntity(DaneKlientEntity daneKlientEntity, DaneLogowaniaEntity daneLogowaniaEntity) { updateDaneKlientaEntity(daneKlientEntity); updateDaneLogowaniaEntity(daneLogowaniaEntity); } }
KontoNamed.java
package rental; import javax.annotation.PostConstruct; import javax.ejb.EJB; import javax.inject.Named; import java.security.NoSuchAlgorithmException; @Named("kontoNamed") public class KontoNamed { private String verificationPassword; @EJB private MessageBean messageBean; public String getMessageBean() {return messageBean.getContent();} @EJB KontoBean kontoBean; KlientEntity klientEntity = new KlientEntity(); DaneLogowaniaEntity daneLogowaniaEntity = new DaneLogowaniaEntity(); DaneKlientEntity daneKlientEntity = new DaneKlientEntity(); @PostConstruct public void init() { klientEntity = new KlientEntity(); klientEntity.setDaneLogowaniaEntity(new DaneLogowaniaEntity()); klientEntity.setDaneKlientEntity(new DaneKlientEntity()); } public KlientEntity getKlientEntity(){return klientEntity;} public void setKlientEntity(KlientEntity klientEntity){this.klientEntity=klientEntity;} public DaneKlientEntity getDaneKlientEntity(){return daneKlientEntity;} public void setDaneKlientEntity(DaneKlientEntity daneKlientEntity){this.daneKlientEntity=daneKlientEntity;} public DaneLogowaniaEntity getDaneLogowaniaEntity(){return daneLogowaniaEntity;} public void setDaneLogowaniaEntity(DaneLogowaniaEntity daneLogowaniaEntity){this.daneLogowaniaEntity=daneLogowaniaEntity;} public void addNewKlientEntity() { klientEntity.setDaneKlientEntity(daneKlientEntity); klientEntity.setDaneLogowaniaEntity(daneLogowaniaEntity); try { kontoBean.addNewClient(daneLogowaniaEntity, daneKlientEntity, klientEntity); } catch (Exception e) { e.printStackTrace(); messageBean.setContent("Błąd przy dodawaniu nowego konta!"); return; } messageBean.setContent("Dodanie rekordu zakończone sukcesem!"); } public String getVerificationPassword(){return verificationPassword;} public void setVerificationPassword(String verificationPassword) { this.verificationPassword = verificationPassword; } }
Persistence.xml
<?xml version = "1.0" encoding = "UTF-8"?> <persistence xmlns = "http://java.sun.com/xml/ns/persistence" version = "2.0"> <persistence-unit name = "NewPersistenceUnit"> <class>rental.AdminEntity</class> <class>rental.DaneKlientEntity</class> <class>rental.DaneLogowaniaEntity</class> <class>rental.KlientEntity</class> <class>rental.NaprawyEntity</class> <class>rental.PunktEntity</class> <class>rental.RaportyEntity</class> <class>rental.RowerEntity</class> <class>rental.WypozyczenieEntity</class> <properties> <property name = "eclipselink.jdbc.url" value = "jdbc:sqlserver://localhost:1433;database=Test"/> <property name = "eclipselink.jdbc.driver" value = "com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name = "eclipselink.jdbc.user" value = "baza"/> <property name = "eclipselink.jdbc.password" value = "03c8bb23"/> </properties> </persistence-unit> </persistence>
Исключение отображается, когда я нажимаю кнопку добавления на веб-странице,
Я пытаюсь запустить этот базовый код JPA/EJB:
public static void main(String[] args){ UserBean user = new UserBean(); user.setId(1); user.setUserName("name1"); user.setPassword("passwd1"); em.persist(user); }
Я получаю эту ошибку:
javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.JPA.Database
Любые идеи?
Я ищу в Интернете, и причина, по которой я нашел, была:
Это было вызвано тем, как вы создали объекты, т.е. если вы явно задали свойство ID. Исправлено удаление идентификатора.
Но я не понял, что мне нужно изменить, чтобы заставить код работать?
Ответ 1
Скажем, у вас есть два объекта Album
и Photo
. Альбом содержит много фотографий, поэтому он имеет отношение от одного до многих.
Класс альбома
@Entity
public class Album {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
Integer albumId;
String albumName;
@OneToMany(targetEntity=Photo.class,mappedBy="album",cascade={CascadeType.ALL},orphanRemoval=true)
Set<Photo> photos = new HashSet<Photo>();
}
Класс фотографий
@Entity
public class Photo{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
Integer photo_id;
String photoName;
@ManyToOne(targetEntity=Album.class)
@JoinColumn(name="album_id")
Album album;
}
Что нужно сделать, прежде чем продолжать или объединить, нужно установить ссылку на альбом в каждой фотографии.
Album myAlbum = new Album();
Photo photo1 = new Photo();
Photo photo2 = new Photo();
photo1.setAlbum(myAlbum);
photo2.setAlbum(myAlbum);
Вот как присоединить связанный объект до того, как вы будете продолжать или сливаться.
Ответ 2
Ошибка возникает из-за того, что установлен идентификатор объекта. Спящий режим различает переходные и отдельные объекты, а persist
работает только с переходными объектами. Если persist
завершает удаление объекта (что будет связано с тем, что идентификатор установлен), он вернет ошибку «отсоединенный объект, прошедший для сохранения». Вы можете найти более подробную информацию здесь и здесь.
Однако это применимо только в том случае, если вы указали первичный ключ, который должен быть автоматически сгенерирован: если поле настроено всегда на ручной настройку, тогда ваш код работает.
Ответ 3
удалить
user.setId(1);
поскольку он автоматически генерируется на БД,
и продолжайте с помощью команды persist.
Ответ 4
Я получил ответ, я использовал:
em.persist(user);
Я использовал слияние вместо persist:
em.merge(user);
Но не знаю, почему упорство не сработало.: (
Ответ 5
если вы используете для создания стратегии id = GenerationType.AUTO
в своей сущности.
Заменяет user.setId (1)
на user.setId (null)
, и проблема решена.
Ответ 6
Я знаю, что он слишком поздно и уверен, что каждый получил ответ. Но немного больше, чтобы добавить к этому: когда установлен GenerateType, persist() на объекте должен получить генерируемый идентификатор.
Если уже установлено значение, заданное пользователем Id, hibernate рассматривает его как сохраненную запись и поэтому обрабатывается как отсоединенный.
если id равен null — в этой ситуации исключение нулевого указателя возникает, когда тип AUTO или IDENTITY и т.д., если идентификатор не генерируется из таблицы или секировки и т.д.
design: это происходит, когда таблица имеет свойство bean в качестве первичного ключа.
GenerateType должен быть установлен только тогда, когда идентификатор автогенерируется.
удалите это, и вставка должна работать с указанным пользователем идентификатором.
(это плохой дизайн, чтобы иметь свойство, отображаемое в поле первичного ключа)
Ответ 7
Здесь .perist() будет только вставлять запись. Если мы используем .merge(), он проверит, существует ли какая-либо запись с текущим идентификатором. Если она существует, она обновится, иначе она будет вставлять новую запись.
Ответ 8
У меня была эта проблема, и она была вызвана кешем второго уровня:
- Я сохранял объект, использующий hibernate
- Затем я удалил строку, созданную из отдельного процесса, который не взаимодействовал с кешем второго уровня
- Я сохранял другой объект с тем же идентификатором (мои значения идентификатора не сгенерированы автоматически)
Следовательно, поскольку кеш не был аннулирован, hibernate предположил, что он имеет дело с отдельным экземпляром того же объекта.
Ответ 9
Если вы установите id в своей базе данных как первичный ключ и автоинкремент, то эта строка кода неверна:
user.setId(1);
Попробуйте следующее:
public static void main(String[] args){
UserBean user = new UserBean();
user.setUserName("name1");
user.setPassword("passwd1");
em.persist(user);
}
Ответ 10
Другая причина ошибки в том, что объект объекта не реализует интерфейс Serializable
@Entity
@Table(name = OddInstance.objectName, uniqueConstraints = @UniqueConstraint(columnNames = {"alias"}))
@NamedQueries({
@NamedQuery(name=OddInstance.findByAlias,
query="from OddInstance where alias = :alias"),
@NamedQuery(name=OddInstance.findAll,
query="from OddInstance")
})
public class OddInstance implements Serializable {
// ...
}
Ошибка EJB выглядит следующим образом:
javax.naming.NameNotFoundException: remote not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) at org.jnp.server.NamingServer.getObject(NamingServer.java:543) at org.jnp.server.NamingServer.lookup(NamingServer.java:296) at org.jnp.server.NamingServer.lookup(NamingServer.java:270) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627) at javax.naming.InitialContext.lookup(InitialContext.java:392) at junit.test.PersionServiceTest.setUpBeforeClass(PersionServiceTest.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74) at org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50) at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33) at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Конечно, даже начинающие знают, что привязка не далека! Но где это не обязательно? Может быть проверено шаг за шагом!
Сначала посмотрите на три файла:
Файл удаленного интерфейса:
package service.impl; import java.util.List; import javax.ejb.Remote; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import service.PersionService; import bean.Persion; @Stateless @Remote(PersionService.class) public class PersoinServiceBean implements PersionService { @PersistenceContext(unitName = "golden") EntityManager en; public void delete(Integer persionid) { en.remove(en.getReference(Persion.class, persionid)); } public Persion getPersion(Integer persionid) { return en.find(Persion.class, persionid); } @SuppressWarnings("unchecked") public List<Persion> getPersions() { return en.createQuery("select * from Persion p").getResultList(); } public void save(Persion persion) { en.persist(persion); } public void update(Persion persion) { en.merge(persion); } }
Файл конфигурации пула соединений: persistence.xml (в META-INF в проекте SRC)
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="golden" transaction-type="JTA"> <jta-data-source>java:goldenDS</jta-data-source> </persistence-unit> </persistence>
Файл конфигурации базы данных соединения Jboss, здесь используется Mysql
<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>goldenDS</jndi-name> <connection-url> jdbc:mysql://localhost:3306/golden?useUnicode=true&characterEncoding=utf-8 </connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>root</password> <exception-sorter-class-name> org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter </exception-sorter-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>
1. Сначала посмотрите, подключен ли сервер к базе данных, запустите сервер и подключитесь к домашней странице. Вы можете увидеть ситуацию с соответствующим пулом ссылок из консоли JMX.
2. Проверьте правильность удаленного интерфейса и удалите объект управления
@PersistenceContext(unitName = "golden") EntityManager en;
Затем проверьте, можете ли вы получить удаленный объект
Если удаленное устройство не может быть связано или соответствующий удаленный интерфейс не может быть связано, это может быть связано с ошибкой при создании самого интерфейса или с ошибкой в объекте, вызываемом внутренне классом реализации интерфейса!
Эта ошибка вызвана тем, что вызванный объект управления не может быть создан!
Первым выбором является ошибка в файле конфигурации сервера и неверная строка подключения. Более того, файл persistence.xml должен быть обрезан в META-INF. Это имя файла в нижнем регистре!