Spring MVC Web アプリ:
行番号のないスタック トレースがあります (下部に表示)。
これは、コントローラーで実行されている 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 として行いました。