Unexpected error occurred in scheduled task перевод

Периодический сбой работы УТМов Сообщений 12 #1 Тема от sandrmor 2021-12-30 07:39:43 sandrmor Посетитель Неактивен Периодический сбой работы УТМов Добрый день.Такая проблема:Служба УТМа будто зависает периодически, кассы до УТМа достучаться не могут, визуально служба и веб-интерфейс УТМа в рабочем состоянии. Помогает перезапуск службы, когда на день, когда на два.В логах УТМа предшествуют следующие ошибки: […]

Содержание

  1. Периодический сбой работы УТМов
  2. Сообщений 12
  3. #1 Тема от sandrmor 2021-12-30 07:39:43
  4. Периодический сбой работы УТМов
  5. #2 Ответ от Фатеева Светлана 2021-12-30 13:15:17
  6. Re: Периодический сбой работы УТМов
  7. #3 Ответ от Sergey sv 2022-08-04 16:00:17
  8. Re: Периодический сбой работы УТМов
  9. Проблемы транзакций с Spring scheduler & spring batch item writer
  10. 2 ответов
  11. Ошибка Unexpected error quitting: что делать?
  12. Что это может означать?
  13. Как исправить ситуацию с проблемой запуска Visual Basic?
  14. Что советуют при проблеме с Windows 7?
  15. MwFix: что это за программа?
  16. Как использовать MwFix
  17. Использование редактирования автозагрузки для игнорирования ошибки
  18. Переход через окно «конфигурация системы»
  19. Использование меню «пуск»
  20. Применение поисковой строки
  21. Использование системного реестра
  22. Применение спецпрограмм
  23. Все просто!

Периодический сбой работы УТМов

Сообщений 12

#1 Тема от sandrmor 2021-12-30 07:39:43

  • sandrmor
  • Посетитель
  • Неактивен

Периодический сбой работы УТМов

Добрый день.
Такая проблема:
Служба УТМа будто зависает периодически, кассы до УТМа достучаться не могут, визуально служба и веб-интерфейс УТМа в рабочем состоянии. Помогает перезапуск службы, когда на день, когда на два.
В логах УТМа предшествуют следующие ошибки:

ERROR ru.centerinform.transport.backbone.schedule.RSACertVerificationJob — Ошибка выполнения задачи проверки RSA сертификата.

java.lang.OutOfMemoryError: Java heap space

ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler — Unexpected error occurred in scheduled task

java.lang.OutOfMemoryError: Java heap space

ERROR ru.centerinform.transport.backbone.schedule.SpUpdateJob — [Sp update] — Ошибка обновления настроек

Подскажите, в чём может быть проблема?

#2 Ответ от Фатеева Светлана 2021-12-30 13:15:17

  • Фатеева Светлана
  • Техническая поддержка
  • Неактивен

Re: Периодический сбой работы УТМов

Здравствуйте, sandrmor,
Пришлите, пожалуйста, скриншот окна «Панель управления Рутокен» вкладки «Сертификаты».
Какая версия Драйвера Рутокен у вас установлена?
Попробуйте переустановить УТМ согласно инструкции.
Так как проблема со службой УТМ, то рекомендуем еще проконсультироваться с технической поддержкой компании «ЦентрИнформ», которые являются разработчиками программы УТМ.

#3 Ответ от Sergey sv 2022-08-04 16:00:17

  • Sergey sv
  • Посетитель
  • Неактивен

Re: Периодический сбой работы УТМов

Добрый день.
Такая проблема:
Служба УТМа будто зависает периодически, кассы до УТМа достучаться не могут, визуально служба и веб-интерфейс УТМа в рабочем состоянии. Помогает перезапуск службы, когда на день, когда на два.
В логах УТМа предшествуют следующие ошибки:

ERROR ru.centerinform.transport.backbone.schedule.RSACertVerificationJob — Ошибка выполнения задачи проверки RSA сертификата.

java.lang.OutOfMemoryError: Java heap space

ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler — Unexpected error occurred in scheduled task

java.lang.OutOfMemoryError: Java heap space

ERROR ru.centerinform.transport.backbone.schedule.SpUpdateJob — [Sp update] — Ошибка обновления настроек

Подскажите, в чём может быть проблема?

Источник

Проблемы транзакций с Spring scheduler & spring batch item writer

Я пытаюсь запустить пакетное задание spring с помощью @Scheduled аннотация выглядит следующим образом:

Я получаю следующую ошибку:

однако эта ошибка не возникает при запуске задания с контроллера spring mvc следующим образом:

Я понимаю, что Spring batch управляет транзакциями и не требует @Transactional / @EnableTransactionManagement . Почему же тогда я получаю вышеуказанное исключение?

все образцы, которые я нашел в интернете а ResourcelessTransactionManager (см. https://www.mkyong.com/spring-batch/spring-batch-and-spring-taskscheduler-example) но мне нужно, чтобы мои рабочие исполнения сохранялись в базе данных.

может кто-нибудь помочь?

редактировать: вот трассировка стека (вы можете увидеть весеннюю партию ItemWriter упоминается ниже):

Изменить 2: когда я пытаюсь включить транзакции с @EnableTransactionManagement и:

Я вам следующее исключение:

редактировать 3: вот моя конфигурация читателя:

2 ответов

следуя совету Майкла Минеллы проверить настроенные бобы ( /beans endpoint), я заметил, что настроенный и объявленный диспетчер транзакций с именем transactionManager — это не типа JpaTransactionManager . См. ниже:

поэтому я настроил JpaTransactionManager следующим образом:

и вопрос. Обратите внимание, что я не использовал ни один из @Transactional или @EnableTransactionManagement в моей конфигурации.

Я не использовал JPA в моих пакетных писателях, поэтому я не уверен, что может быть причиной этого, но два указателя,

1.Вам действительно нужно это выражение cron в планировщике?

это как сказать-Продолжайте запускать новые экземпляры заданий все время, без перерыва или я что-то пропустил?

Я думаю, вы должны попытаться ввести некоторый промежуток времени между запусками и соответствующим образом изменить выражение cron.

2.Есть вопросы по Так нравится этой и, как указано в первом ответе, может возникнуть конфликт в управляемых контейнером и управляемых приложением транзакциях. Полагаю, ты тоже работаешь в каком-то контейнере. Попробуйте поместить соответствующие части кода writer, выбрасывающего исключение.

Источник

Ошибка Unexpected error quitting: что делать?

Unexpected error quitting – весьма интересная ошибка. Во-первых, она может проявляться при запуске самых разных программ. Некоторые сталкиваются с ней после установки Windows 7. Другие пользователи сообщают о том, что столкнулись с аналогичной проблемой при запуске Visual Basic. Во-вторых, не всегда эта неприятность прерывает доступ к программе. Если с VB это действительно так, то в случае с Виндой часто достаточно просто закрыть сообщение с ошибкой, чтобы продолжить запуск системы.

Естественно, у людей возникает вопрос, что делать? Мы решили разобраться с этой ситуацией и специально подготовили материал на эту тему.

Что это может означать?

Проблема в том, что точной причины возникновения этой ошибки никто не знает. Перевод на русский язык этой фразы звучит так: «неожиданная ошибка выхода».

И все. Больше никакой дополнительной информации. Иногда в сообщении может присутствовать описание какого-то файла, который якобы отсутствует. Но это – крайняя редкость.

Учитывая все выше описанное, действительно сложно иногда понять – как исправить возникший сбой.

На самом деле решение есть. И мы рассмотрим его в двух отдельных случаях:

  • Для операционной системы Windows 7;
  • И при попытке запуска Visual Basic.

Начнем со второго.

Как исправить ситуацию с проблемой запуска Visual Basic?

Итак, предыстория следующая:

  • Один человек достаточно активно использовал Visual Basic в своих целях;
  • Он спокойно осуществлял запуск программы и вообще не сталкивался с какими-то сбоями;
  • И тут, в один явно не прекрасный момент, при попытке входа, на экране появляется вот это самое сообщение, сопровождаемое каким-то шестизначным кодом.

Естественно, этот пользователь обратился за помощью к другим – на одном из специализированных форумов. Единственное, что ему посоветовали – выполнить полную переустановку этого продукта. Программа была удалена и установлена заново. Но при попытке входа ситуация полностью повторилась.

Человек начал думать, в чем может быть причина. И вспомнил, что перед первым появлением на экране этого неприятного сообщения у его компьютера начались серьезные проблемы. Пришлось многое восстанавливать и переустанавливать. И вроде все начало работать как раньше. Кроме VB.

Решение было обнаружено совершенно случайно. Пользователь еще раз совершал пересмотр сделанных им самим настроек. И обнаружил, что один из сервисов, который должен быть включен, оказался в неактивном состоянии. После включения ошибка больше не появлялась!

Сама сервисная служба называется так: DCOM Server Application Launcher.

Находится она обычно по следующему адресу: C:WINDOWSsystem32svchost -k DcomLaunch.

Возможно, эта информация окажется для вас полезной.

Что советуют при проблеме с Windows 7?

Как показывает собранная информация, «Unexpected error quitting» возникает следующим образом:

  • После полноценной переустановки Семерки от Майкрософт;
  • Во время непосредственной загрузки системы;
  • Практически всегда можно закрыть окно с этим сообщением и продолжить вход в операционку.

В качестве ответа на подобный запрос иногда советуется обратить внимание на какие-то драйвера, которые оказываются несовместимыми с используемой системой. Но проблема в том, что ОС только что была переустановлена. И, если и была инсталляция драйверов, то только самой системой, а не в ручном режиме со стороны пользователя.

В итоге, предлагается два действенных варианта:

  • Исключить из процесса автозагрузки Виндовс проблемный элемент, если пользователь знает, что именно нужно отключить для предотвращения возникновения сообщения с ошибкой;
  • Воспользоваться специальным «лечащим инструментом», который называется MwFix.

Разберемся с каждым из этих вариантов более подробно.

MwFix: что это за программа?

MwFix – аббревиатура, которая расшифровывается следующим образом: Microsoft Windows Fix. То есть, если на русском языке, — исправление для Майкрософт Виндовс.

Фактически, это специально созданная утилита, которая никак не связана с установкой различных обновляющих системных пакетов, и предназначена для одной цели – избавить компьютер пользователя от разнообразных сбоев, ошибок и неприятностей.

Выполняя поиск этой утилиты в интернете, необходимо знать несколько нюансов:

  • Она полностью англоязычная и версий на русском языке не существует. Поэтому придется как-то разбираться. Или использовать различные переводчики;
  • Иногда на некоторых сайтах предлагают скачать эту программу, дополнительно наполняя содержимое архива различным, часто не нужным ПО. Например, если невнимательно осуществить процесс инсталляции, то после его завершения можно обнаружить на рабочем столе печально известный браузер Амиго, Одноклассники и много другого мусора. В том числе и обилие рекламы. Поэтому всегда стоит внимательно прочесть всю информацию. И снять галочки в местах, предлагающих выполнить установку дополнительных продуктов;
  • Существует три версии этой утилиты. Первая (v1.2) – для Семерки. Вторая (v2.2) – для Виндовс 8. И последняя – для десятки. Она имеет обозначение «10». Так что стоит внимательно выбирать вариант, чтобы Фикс оказался эффективным.

Ну а теперь перейдем к описанию самой программы.

Как использовать MwFix

Естественно, его нужно сначала найти в интернете. Затем – скачать и запустить. После этого на экране компьютера появится рабочее окно, разделенной на две части:

  1. Левая – перечень инструментов, которые можно использовать.
  2. Правая – описание выбранного пользователя инструмента с активными кнопками, позволяющими запускать то или иное исправление.

Что доступно в левой части рабочего окна программы:

  • Welcome. На самом деле этот раздел создан не ради приветствия нового пользователя. Зайдя сюда, юзер сможет запустить инструмент sfc, предназначенный для проверки целостности файлов системы. А также в этом месте располагается утилита, позволяющая создавать так называемые точки восстановления. Собственно, этим вариантом стоит воспользоваться в первую очередь. Ведь иногда лечение может привести к ухудшению состояния. И хорошо, когда есть возможность откатить все обратно;
  • Windows Explorer. Не поверите, но встроенный интернет-браузер тоже сбоит иногда. И в этом разделе собраны инструменты, решающие проблемы именно с этой программой;
  • Internet & Connectivety. Следует воспользоваться этим пунктом меню, если возникли какие-то неприятности при попытке использования сети;
  • Windows Media. Название говорит само за себя – позволяет решать проблемы, возникающие при работе фирменного Windows Media Player;
  • System Tools. Инструменты, предназначенные для избавления от системных сбоев;
  • Additional fixes. Набор дополнительных возможностей.

В конце несколько важных рекомендаций:

  • Не желательно использовать сразу все «Фиксы» одновременно или поочередно. Рекомендуется действовать последовательно: использовали один инструмент, перезапустили компьютер, проверили результат – если он отрицательный, перешли к следующему исправлению и так далее;
  • Поиск MwFix в Интернете нужно делать крайне осторожно. К сожалению, на многих сайтах людям предлагают не эту важную утилиту, а ее подмену с вирусами и другими неприятностями внутри. В лучшем случае придется разбираться с уничтожением большого числа установленного автоматическим образом ПО. Или с обилием рекламы, которая будет лезть буквально из всех углов. Поэтому стоит выполнять скачивание только с проверенных источников. Для этого можно почитать отзывы. И не надо никуда отсылать платные СМС, чтобы получить доступ к архиву – вас явно пытаются обмануть.

Использование редактирования автозагрузки для игнорирования ошибки

Как мы уже писали выше, редактирование системной автозагрузки может помочь, если владелец персонального компьютера прекрасно знает, какой процесс вызывает эту ошибку. Но, по каким-либо причинам не хочет пока заниматься лечением, а решает просто игнорировать ее. То есть, избавиться от постоянного появления сообщения во время загрузки операционной системы.

Доступ и взаимодействие с автозагрузкой можно осуществить несколькими способами. Рассмотрим основные из них:

Переход через окно «конфигурация системы»

Для этого следует выполнить следующие операции:

  • Одновременно на клавиатуре нажать две кнопки: Win и R;
  • Это активирует спецокно «выполнить»;
  • Вбить в него команду: msconfig. Не забыть нажать на «ок» или Enter;
  • Появится окно «конфигурация системы» с пятью вкладками. Одна из них – автозагрузка.

Естественно, в нее можно зайти. Просмотреть доступный список. Если в нем присутствует проблемный процесс – выделить его галочкой и нажать на отключение. После подтверждения этой операции стоит осуществить перезагрузку системы, чтобы оценить результат.

Использование меню «пуск»

Если нажать на кнопочку «Пуск», то активируется системная панель, где можно увидеть множество программ, инструментов, приложений. Внимательно просмотрите весь список. В нем обязательно обнаружится папка автозагрузки. Ее можно открыть и посмотреть перечень присутствующих вариантов. Обычно здесь располагаются различные не системные программы, которые могут загружаться одновременно с операционкой. Конечно же, их можно удалять из списка в случае необходимости.

Применение поисковой строки

В автозагрузочную папку можно попасть еще одним способом:

  • Нажать на «Пуск» и осуществить запуск поисковой строки системы;
  • Вбить в нее shell:startup.

В конце просто нажмите на Enter и это позволит активировать нужную папочку. А также точно увидеть ее расположение на жестком диске, если обратить внимание на так называемую адресную строку.

Использование системного реестра

  • Опять одновременно зажимается комбинация ВИН+R;
  • Вводится в строке «Выполнить» команда regedit;
  • Активируется окно реестра. В его левой части – дерево каталогов;
  • Чтобы попасть в автозагрузочный раздел, необходимо совершить следующее путешествие: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

Дальше – смотрите список. Если что-то нужно выключить временно или вообще убрать из автозагрузки, нажимаете на названии правой кнопочкой компьютерной мышки и выбираете требуемое действие из списка.

Применение спецпрограмм

Безусловно, многие сразу же вспомнили про CCleaner. Действительно, функционал этой программы предоставляет доступ к списку системных автозагрузок:

  • Запускаем ПО;
  • В левой части окна выбираем «Сервис»;
  • Появится дополнительный список. В нем находим нужный нам вариант;
  • Можно будет «включить», «выключить» или «удалить».

Все просто!

Еще одно интересное ПО — Autorun Organizer. Как им пользоваться:

  • Скачиваем, устанавливаем, запускаем;
  • В верхней части экрана кликаем на «пользовательские»;
  • Отмечаем галочками все варианты из выпадающего списка;
  • Смотрим доступный перечень. Находим проблемный процесс;
  • Его можно удалить. Но рекомендуется для начала попробовать другой вариант. А именно – оптимизировать его.

Если после перезагрузки ничего не поменялось, то можно вернуться и осуществить полноценное удаление из автозапуска. Или – временно отключить. Такая функция также присутствует в этом программном обеспечении.

Если же после удаления стало еще хуже, то можно опять активировать эту программу, перейти в «Центр отмены изменений», вернуть все обратно. Этот подраздел находится в правом нижнем углу рабочего экрана.

Источник

Мое запланированное задание выглядит следующим образом Но приложение не отвечает, когда я использую @Scheduled(cron="0 46 17 * * *") И когда я использую @Scheduled(fixedRate = 50000), при сохранении информации на mongoDB программа выдает ошибку

[ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.

: An unexpected error occurred during scheduled work.
java.lang.NullPointerException

Пожалуйста, помогите мне исправить мою треску.


    @Scheduled(cron="0 46 17  * * *")
//  @Scheduled(fixedRate = 5000)
    @RequestMapping("/closeAttendance}")
    public void cloceAttendance() {
        System.out.println("-1");
        AttendanceService attendanceService=new AttendanceService();
        Date date=attendanceService.getCurrentDate();
        System.out.println("1");
        List<Attendance> attendances=arepo.findByDate(date);
if(attendances!=null) {
        System.out.println("attendances"+attendances.size());
        System.out.println("2");
//  
        for(Attendance attendance:attendances) {
            System.out.println("3");
            attendance=attendanceService.closeAttendance(attendance);
            System.out.println("4");
            System.out.println("attendance"+attendance.getDate()+" "+ attendance.getPerson());
//          arepo.save(attendance);

        }   

    }
}

2 ответа

Лучший ответ

Ваш нет ничего плохого в коде только отсутствует

@EnableScheduling

Используйте эту аннотацию на уровне класса, ваш код работает нормально, не забудьте проголосовать, если работает для вас.


0

2 revs
23 Апр 2019 в 13:55

   Use the below code for your reference and do the changes according to your need 

Пакет com.winner.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling ;
import org.springframework.scheduling.annotation.Scheduled;
com.winner.etyping.domain.RegParentDomain;
import com.winner.etyping.domain.SchoolRegistrationDomain;
import com.winner.etyping.domain.StudentDomain;
@EnableScheduling
@Servic
public class StudentServiceImpl implements StudentService{

    @Autowired
    private ClassService classserice;

    @Autowired
    private DivisionService div;

    @Autowired
    private RegParentService parent;

    @Autowired
    private SchoolregistrationService school;

    @Autowired
    private StudentDao studendao;





    @Transactional
    public List<StudentDomain> getByClassAndDivId(Integer classid, Integer div,Integer school) {
        return studendao.getByClassAndDivId(classid,div,school);
    }

    **@Scheduled(cron="0 0 10 * * ?")**
    @Transactional
    public void sendBirthdayWish() throws Exception {
        studendao.sendBirthdayWish();

    }

    @Transactional
    public void sendNotificationToClassStudent(ClassDomain classid, SchoolRegistrationDomain schoolid , String Notification) throws Exception {
        studendao.sendNotificationToClassStudent(classid,schoolid,Notification);

    }






}


-1

iragond
23 Апр 2019 в 14:04

Присоединяйтесь к Reverso, это удобно и бесплатно!


английский

арабский
немецкий
английский
испанский
французский
иврит
итальянский
японский
голландский
польский
португальский
румынский
русский
шведский
турецкий
украинский
китайский

Показать больше
(греческий, хинди, корейский, тайский…)

чешский
датский
греческий
фарси
хинди
венгерский
корейский
словацкий
тайский

Показать меньше


русский

Синонимы
арабский
немецкий
английский
испанский
французский
иврит
итальянский
японский
голландский
польский
португальский
румынский
русский
шведский
турецкий
украинский
китайский

Показать больше

чешский
датский
греческий
фарси
хинди
венгерский
корейский
словацкий
тайский

Показать меньше


На основании Вашего запроса эти примеры могут содержать грубую лексику.


На основании Вашего запроса эти примеры могут содержать разговорную лексику.


An unexpected error occurred in the OLE DB rowset.


An unexpected error occurred in the XML for Analysis Provider.


Unexpected error occurred in WorkflowMarkupSerializer. Parts of the object graphs may not be saved.



Неожиданная ошибка в WorkflowMarkupSerializer. Части графов объекта могут быть не сохранены.


The error message: An unexpected error occurred.

Ничего не найдено для этого значения.

Результатов: 24614. Точных совпадений: 3. Затраченное время: 130 мс

Documents

Корпоративные решения

Спряжение

Синонимы

Корректор

Справка и о нас

Индекс слова: 1-300, 301-600, 601-900

Индекс выражения: 1-400, 401-800, 801-1200

Индекс фразы: 1-400, 401-800, 801-1200

© 2013-2022 Reverso Technologies Inc. Все права защищены.

Я пытаюсь запустить пакетное задание spring с помощью @Scheduled аннотация выглядит следующим образом:

@Scheduled(cron = "* * * * * ?")
public void launchMessageDigestMailing() throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
    jobLauncher.run(messagesDigestMailingJob, new JobParametersBuilder().addDate("execution_date", new Date()).toJobParameters());
}

Я получаю следующую ошибку:

javax.persistence.TransactionRequiredException: Executing an update/delete query

однако эта ошибка не возникает при запуске задания с контроллера spring mvc следующим образом:

@GetMapping("/messageDigestMailing")
public void launchMessageDigestMailing() throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
    jobLauncher.run(messagesDigestMailingJob, new JobParametersBuilder().addDate("execution_date", new Date()).toJobParameters());
}

Я понимаю, что Spring batch управляет транзакциями и не требует @Transactional / @EnableTransactionManagement. Почему же тогда я получаю вышеуказанное исключение?

все образцы, которые я нашел в интернете а ResourcelessTransactionManager (см. https://www.mkyong.com/spring-batch/spring-batch-and-spring-taskscheduler-example) но мне нужно, чтобы мои рабочие исполнения сохранялись в базе данных.

может кто-нибудь помочь?

редактировать: вот трассировка стека (вы можете увидеть весеннюю партию ItemWriter упоминается ниже):

Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query
        at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:413) ~[spring-orm-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:246) ~[spring-orm-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:488) ~[spring-orm-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) ~[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213) ~[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147) ~[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133) ~[spring-data-jpa-1.11.3.RELEASE.jar:na]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57) ~[spring-data-commons-1.13.3.RELEASE.jar:na]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) [spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at com.sun.proxy.$Proxy129.markMessagesAsNotificationSent(Unknown Source) ~[na:na]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_102]
        at com.bignibou.writer.MessagesDigestMailerItemWriter.write(MessagesDigestMailerItemWriter.java:49) ~[main/:na]
        at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:175) ~[spring-batch-core-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at org.springframework.batch.core.step.item.SimpleChunkProcessor.doWrite(SimpleChunkProcessor.java:151) ~[spring-batch-core-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.doWithRetry(FaultTolerantChunkProcessor.java:328) ~[spring-batch-core-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:286) ~[spring-retry-1.2.0.RELEASE.jar:na]
        ... 48 common frames omitted

Изменить 2: когда я пытаюсь включить транзакции с @EnableTransactionManagement и:

@Scheduled(cron = "* * * * * ?")
@Transactional
public void launchMessageDigestMailing() throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
    jobLauncher.run(messagesDigestMailingJob, new JobParametersBuilder().addDate("execution_date", new Date()).toJobParameters());
}

Я вам следующее исключение:

2017-05-20 17:04:04.013 ERROR 5574 --- [pool-2-thread-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task.

java.lang.IllegalStateException: Existing transaction detected in JobRepository. Please fix this and try again (e.g. remove @Transactional annotations from client).
        at org.springframework.batch.core.repository.support.AbstractJobRepositoryFactoryBean.invoke(AbstractJobRepositoryFactoryBean.java:168) ~[spring-batch-core-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at com.sun.proxy.$Proxy117.createJobExecution(Unknown Source) ~[na:na]
        at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:125) ~[spring-batch-core-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_102]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_102]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_102]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102]
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:127) ~[spring-batch-core-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at com.sun.proxy.$Proxy142.run(Unknown Source) ~[na:na]
        at com.bignibou.scheduler.Scheduler.launchMessageDigestMailing(Scheduler.java:33) ~[main/:na]
        at com.bignibou.scheduler.Scheduler$$FastClassBySpringCGLIB$$f0615234.invoke(<generated>) ~[main/:na]
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.transaction.interceptor.TransactionInterceptor.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at com.bignibou.scheduler.Scheduler$$EnhancerBySpringCGLIB$d7d986.launchMessageDigestMailing(<generated>) ~[main/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_102]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_102]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_102]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102]
        at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_102]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_102]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_102]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_102]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_102]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_102]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]

редактировать 3: вот моя конфигурация читателя:

@Bean
@StepScope
public static ItemReader<UserAccount> jpaPagingItemReader(EntityManagerFactory entityManagerFactory) {
    final JpaPagingItemReader<UserAccount> reader = new JpaPagingItemReader<>();
    reader.setEntityManagerFactory(entityManagerFactory);
    reader.setQueryString("SELECT ua FROM UserAccount ua JOIN FETCH ua.receivedMessages msg " +
            "WHERE msg.notificationSent = false AND msg.messageRead = false AND ua.enabled = true AND ua.emailNotification = true");
    return reader;
}

2 ответов


следуя совету Майкла Минеллы проверить настроенные бобы (/beans endpoint), я заметил, что настроенный и объявленный диспетчер транзакций с именем transactionManager — это не типа JpaTransactionManager. См. ниже:

{
"bean": "transactionManager",
"aliases": [],
"scope": "singleton",
"type": "com.sun.proxy.$Proxy121",
"resource": "class path resource [org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.class]",
"dependencies": [],
},

поэтому я настроил JpaTransactionManager следующим образом:

@Configuration
public class TransactionManagerConfiguration {

    @Bean
    public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(entityManagerFactory);
        return transactionManager;
    }
}

и вопрос. Обратите внимание, что я не использовал ни один из @Transactional или @EnableTransactionManagement в моей конфигурации.


Я не использовал JPA в моих пакетных писателях, поэтому я не уверен, что может быть причиной этого, но два указателя,

1.Вам действительно нужно это выражение cron в планировщике?

* * * * * ?

это как сказать-Продолжайте запускать новые экземпляры заданий все время, без перерыва или я что-то пропустил?

Я думаю, вы должны попытаться ввести некоторый промежуток времени между запусками и соответствующим образом изменить выражение cron.

2.Есть вопросы по Так нравится этой и, как указано в первом ответе, может возникнуть конфликт в управляемых контейнером и управляемых приложением транзакциях. Полагаю, ты тоже работаешь в каком-то контейнере. Попробуйте поместить соответствующие части кода writer, выбрасывающего исключение.


В запланированной задаче произошла непредвиденная ошибка.: java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE

Я работаю над тем, чтобы взять объект JSON и сохранить его в реляционной базе данных:
организация:

import java.time.ZonedDateTime;

...

private ZonedDateTime zonedDateTime ;
public ZonedDateTime getZonedDateTime () {
        return zonedDateTime ;
    }
public void setZonedDateTime (ZonedDateTime zonedDateTime ) {
        this.zonedDateTime = zonedDateTime ;
    }

Я добавил зависимость от pom.xml:

<dependency>
  <groupId>com.fasterxml.jackson.datatype</groupId>
  <artifactId>jackson-datatype-jsr310</artifactId>
</dependency>

Но когда я звоню в службу:

ERROR [org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler] (ThreadPoolTaskScheduler-7) Unexpected error occurred in
 scheduled task.: java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE
    at com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer.createContextual(InstantDeserializer.java:231)
    at com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:685)
    at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:446)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.findDeserializer(StdDeserializer.java:948)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:446)
    at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:296)
    at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
    at com.fasterxml.jackson.databind.deser.DeserializerCache.hasValueDeserializerFor(DeserializerCache.java:191)
    at com.fasterxml.jackson.databind.DeserializationContext.hasValueDeserializerFor(DeserializationContext.java:422)
    at com.fasterxml.jackson.databind.ObjectMapper.canDeserialize(ObjectMapper.java:2664)
    at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:162)
    at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:149)
    at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:765)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:650)
    at org.springframework.security.oauth2.client.OAuth2RestTemplate.doExecute(OAuth2RestTemplate.java:128)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
    at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:287)

Вот такая же проблема http://qaru.site/questions/13631592/nosuchfielderror-adjustdatestocontexttimezone-when-trying-to-parse-json


MOURAD, 30 мая 2019 г., 12:55

321

1


Ответ:

Решено

Вам необходимо обновить версию «jackson-datatype-jsr310»>=2.8

Alexey Bychkov (joxerTMD@github)
* Contributed #80: Add Support for
JsonFormat.Feature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE (2.8.0)
/**
* Flag for JsonFormat.Feature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE
*
* @since 2.8
*

Чтобы решить эту проблему:
в пом.xml:

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>2.8.11</version>
</dependency>

MOURAD, 31 мая 2019 г., 11:31

Интересные вопросы для изучения

Schedulers in spring boot framework runs the configured the task method periodically. If any error occurred in the task method, the unexpected error exception is thrown by the spring boot. This is due to the logical issue in the code.

Exception

2019-10-10 12:14:00.007 ERROR 49298 --- [   scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task.
 java.lang.RuntimeException: Example to throw a runtime exception
     at com.yawintutor.Scheduler.task(Scheduler.java:16) ~[classes/:na]
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
     at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
     at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
     at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
     at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_101]
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_101]
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]

Root Cause

Schedulers will invoke the configured task class method as per configured interval. If any error occurred in the task method due to any logical issue or bug in the code, then the configured method will throw exception. Scheduler can not understood the issue as it is thrown from the custom code. So the scheduler will throw unexpected error.

How to reproduce this issue

If the task method throws any exception, then this issue occurs. The example below will create a customized RuntimeException.

package com.yawintutor;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class Scheduler {
   private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
   
   @Scheduled(fixedRate  = 5000)
   public void task() {
      System.out.println("Scheduler task with duration : " + sdf.format(new Date()));
      throw new RuntimeException("Example to throw a runtime exception");
   }
}

Solution

Do the code review in the task method, identify the logical issue or code bug. Fixing the bug will resolve this issue.

package com.yawintutor;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 @Component
 public class Scheduler {
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
 @Scheduled(fixedRate  = 5000)
    public void task() {
       System.out.println("Scheduler task with duration : " + sdf.format(new Date()));
       // throw new RuntimeException("Example to throw a runtime exception");
    }
 }

Понравилась статья? Поделить с друзьями:
  • Unhandled error golang
  • Unexpected error occurred if you running the latest version of factorio
  • Unhandled error during execution of native event handler vue
  • Unexpected error occurred dayz при ожидании задачи
  • Unhandled error during execution of mounted hook