Приложение весенней загрузки Pivotal Cloud Foundry (PCF) перестает работать без ошибок - PullRequest
0 голосов
/ 27 февраля 2019

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

Я развернул приложение в нашей среде PCF для разработки.Приложение, которое использует сервис, успешно вызывает его.В журналах сервисов он правильно определяет стратегию использования и отлично работает.Затем следует позвонить в DAO, но ничего не происходит.Нет ошибок, нет операторов записи в DAO до вызова какой-либо операции базы данных.Он просто останавливается.

Есть 2 других приложения, которые были разработаны и развернуты для использования этой службы, и они работают нормально.Это область, в которой служба перестает работать:

@Component
public class LoadStrategy implements CloseStrategy {
    private static final Logger LOGGER = LoggerFactory.getLogger(LoadStrategy.class);

    private LoadDao loadDao;
    private MapperTranslator<Map<String, Object>, CloseRequest> mapperTranslatorToInputStream;
    private MapperTranslator<CloseResponse, Map<String, Object>> mapperTranslatorToCloseTrailerResponse;

    @Autowired
    public Load Strategy(LoadDao loadDao, 
            @Qualifier("loadRequestMapper")MapperTranslator<Map<String, Object>, CloseRequest> mapperTranslatorToInputStream,
            @Qualifier("loadResponseMapper")MapperTranslator<CloseResponse, Map<String, Object>> mapperTranslatorToCloseResponse) {
        this.loadDao = loadDao;
        this.mapperTranslatorToInputStream = mapperTranslatorToInputStream;
        this.mapperTranslatorToCloseResponse = mapperTranslatorToCloseResponse;
    }

    public CloseResponse close(CloseRequest input) {
        LOGGER.info("Before call to loadDao");
        Map<String, Object> translator = mapperTranslatorToInputStream.translate(input);
        LOGGER.info("Completed input stream mapper. Before calling loadDao");
        Map<String, Object> result = loadDao.close(translator);
        return mapperTranslatorToCloseTrailerResponse.translate(result);
    }
}

Служба печатает инструкцию регистратора «Завершено отображение входного потока. Перед вызовом loadDao» ничего.В DAO есть оператор logger в начале этого метода, который не печатается.

Это класс DAO ..

@Repository
public class LoadDao implements CloseDao {

    private SimpleJdbcCall simpleJdbcCall;
    private static final Logger LOGGER = LoggerFactory.getLogger(LoadDao.class);

    @Autowired
    public LoadDao(@Qualifier("loadSummaryJdbcCall") SimpleJdbcCall simpleJdbcCall) {
        this.simpleJdbcCall = simpleJdbcCall;
    }

    @HystrixCommand(fallbackMethod = "closeFallback")
    public Map<String, Object> close(Map<String, Object> input) {
        Map<String, Object> result;

        LOGGER.debug("In loadDao Before {}.{} Procedure. Input Stream: {}", PACKAGE, PROCEDURE, input.get(P_INPUT_STREAM));

... остаток класса ...

Я не знаю, с чего начать устранение этой проблемы. Это мое первое применение Spring Boot и в среде PCF.Будем весьма благодарны за любые области, в которых я смогу разобраться.

1 Ответ

0 голосов
/ 28 февраля 2019

В случае, если у кого-то еще есть эта проблема ... Я изменил уровень ведения журнала на TRACE, используя «УСТАНОВИТЬ УРОВНИ ВХОДА».Теперь я могу видеть результат.

...