Я пытаюсь запланировать работу с помощью Quartz и Cant Schedule. ErpConfigContext, когда я делаю запрос, работает нормально.
Но в запланированном задании это возвращает ошибку.
//Запрос работает
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
new ODataScheduledFetch().execute();
}
// Класс заданий не работает. Открытый класс JobProductPricing реализует задание {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
new ODataScheduledFetch().execute();
}
}
ODataScheduledFetch (). Execute (), подумайтеи вызывать этот метод, и при выполнении query.execute (new ErpConfigContext ());вернуть ошибку только для задания по расписанию
private boolean tryRequestERP(ODataQuery query,ODataQueryResult[] queryResult) {
boolean boReturn=false;
try {
//queryResult
queryResult[0] = query.execute(new ErpConfigContext());
boReturn = true;
}catch(Exception e) {
String error = e.toString();
System.out.println(error);
boReturn = false;
}
return boReturn;
}
И получил эту ошибку:
[com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException: не удалось получить ConnectivityConfiguration: noRequestContext доступен.Правильно ли вы настроили RequestContextServletFilter или обернули свою логику в RequestContextExecutor при выполнении фоновых задач, которые не запускаются запросом?]
в этом При создании исключения ErpConfigContext
есть ответ, который я не получаю ...
"РЕДАКТИРОВАТЬ: обратите внимание, что при запуске кодав фоновом задании (не инициируемом запросом) вы должны обернуть свой код с помощью RequestContextExecutor :: execute.
"