Почему служба Spring MVC возвращает метод .invoke (target, args) в AopUtils - PullRequest
0 голосов
/ 17 февраля 2019

Моя задача - отправить параметр в базу данных и получить данные в соответствии с параметром.Я отлаживаю код и слой репозитория возвращает объект результата в соответствии с запросом.но на уровне службы, когда он возвращается, он переходит к AopUtils.java и вызывается на

 try {
            ReflectionUtils.makeAccessible(method);
            return method.invoke(target, args);
        }

, но не приходит к контроллеру, который вызывает службу. Это все о вызове метода отражения Java.

Мой уровень обслуживания такой:

@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public AxiPayCustomer unSuccessfulLoginAttempts(AxiPayCustomer axipayCustomer, ServiceContext serviceContext) {

    AxiPayCustomer axiPayCustomer = new AxiPayCustomer();

    if(axipayCustomer.getMsisdn() == null){
        throw new InvalidRequestException(getValidationFailureMessage(REQUESTED_MOBILE_NUMBER_NOT_EXIST,serviceContext));
    }else {
        List<Customer> customer = customerAttemptRepository.unSuccessfulLoginAttempts(axipayCustomer.getMsisdn());

        if(customer == null){
            throw new InvalidRequestException(getValidationFailureMessage(RETURNED_MOBILE_NUMBER_NOT_EXIST,serviceContext));
        }

        Customer axiPayCustomer1 = customer.get(0);
        axiPayCustomer.setAttempts(axiPayCustomer1.getLoginAttempts());
        return axiPayCustomer;
    }
}

Мой уровень хранилища такой.

 @Override
public List<Customer> unSuccessfulLoginAttempts(String mobileNumber) {

    Session session = entityManager.unwrap(Session.class);
    Criteria criteria = session.createCriteria(Customer.class, "c");
    criteria.add(Restrictions.eq("c.phone1", mobileNumber));
    return criteria.list();

}

Уровень контроллера

  @RequestMapping(value = "/unsuccessful/login/attempts", method = RequestMethod.POST)
   @ResponseBody
    public Response unSuccessfulLoginAttempts(final @RequestBody LoginAttemptsRequest loginAttemptsRequest, HttpServletRequest servletRequest){

       ServiceContext serviceContext = getServiceContext(loginAttemptsRequest, false);
       AxiPayCustomer axiPayCustomer = new AxiPayCustomer();
       BeanUtils.copyProperties(loginAttemptsRequest,axiPayCustomer);

       LoggingAttemptsResponse response = new LoggingAttemptsResponse();

       try{
           AxiPayCustomer customerResponse =  axiPayCustomerService.unSuccessfulLoginAttempts(axiPayCustomer,serviceContext);
           response.setStatus(RequestStatus.SUCCESS.getStatus());
           response.setMessage(customerResponse.getMessage());
           response.setAttempts(customerResponse.getAttempts());
       }catch (Exception e){
           response.setStatus(RequestStatus.FAILURE.getStatus());
       }
     return response;
}

Моя трассировка стека, подобная enter image description here

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

...