Моя задача - отправить параметр в базу данных и получить данные в соответствии с параметром.Я отлаживаю код и слой репозитория возвращает объект результата в соответствии с запросом.но на уровне службы, когда он возвращается, он переходит к 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;
}
Моя трассировка стека, подобная
Может кто-нибудь объяснить, почему у меня возникают такие проблемы?