当我的一个端点被访问时,我看到随机的NullPointerException。
我知道什么是NPE,但请耐心等待,我在这里有很多问题:
这是记录的内容:
[p-nio-80-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null
Annnnnd,就是这样,仅此而已......
控制器的代码相当简单,看起来像这样:
@RepositoryRestController
@ResponseBody
public class AnimalImportEndpoint {
@Inject
private animalImportService;
@RequestMapping(value = "/animals/import", method = RequestMethod.POST)
public AnimalImportResult import(@Valid @RequestBody Animal animal) {
return animalImportService.import(animal);
}
@ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "Illegal arguments")
@ExceptionHandler(IllegalArgumentException.class)
public void illegalArguments() {
}
}
该类使用@RepositoryRestController
而不是@RestController
进行注释,因为Spring Data Rest也会公开/animals
。
有关如何解决此问题的任何指示或建议吗?
编辑:其他有趣的事实,我使用侦探来追踪请求。当我得到这个NullPointerException时,我可以看到我的日志中没有spanId / traceId ......
答案 0 :(得分:1)
添加此JVM参数以禁用堆栈跟踪删除优化
-XX:-OmitStackTraceInFastThrow