Spring MVC веб-приложение:
У меня есть трассировка стека без номеров строк (показано внизу).
Я предполагаю, что это связано с работой CGLib на контроллере.Но это странно для меня, фактическое исключение происходит в ServerBatchRemoteRequestAcceptor
, pojo, который не вводится, а не контроллер.Он создается только в объекте Controller.
Пример:
@Controller
class MyController {
MyPojo pojo = new MyPojo();
@RequestMapping("myaction")
public void doMyAction(){
pojo.methodToCauseNullPointerException()
}
}
java.lang.NullPointerException
at mycommons.services.batchremoteprocessor.ServerBatchRemoteRequestAcceptor.acceptRequest(Unknown Source)
at com.proxyandvpn.web.controllers.RESTServicesController.handleGenericClientRequest(Unknown Source)
at com.proxyandvpn.web.controllers.RESTServicesController$$FastClassByCGLIB$$dff24f0f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
Может кто-нибудь объяснить мне это поведение?Будут ли все вызовы под моими контроллерами без номеров строк из-за CGLib?
Должен ли я записывать свои контроллеры в интерфейс, чтобы использовать прокси?Это нормально?Я делаю это для сервисов, но сделал контроллеры простыми POJO.