首页 文章

Mahout TopItems中的NPE#getTopUsers

提问于
浏览
0

我正在使用mahout版本0.9 . 我在演示服务器上有NPE,有以下堆栈跟踪 .

HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException type Exception report message Request processing failed; nested exception is java.lang.NullPointerException description The server encountered an internal error that prevented it from fulfilling this request. exception org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
 root cause java.lang.NullPointerException
 org.apache.mahout.cf.taste.impl.recommender.TopItems.getTopUsers(TopItems.java:119)
 org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood.getUserNeighborhood(NearestNUserNeighborhood.java:94)
 org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender.recommend(GenericUserBasedRecommender.java:87)
 org.apache.mahout.cf.taste.impl.recommender.AbstractRecommender.recommend(AbstractRecommender.java:63)
 .....recommendationengine.service.RecommendationService.findRecommendedProductsForOpportunityByMahout(RecommendationService.java:69)
 .....recommendationengine.controller.RecommendationController.recommendedForOpportunity(RecommendationController.java:54)
 sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 java.lang.reflect.Method.invoke(Method.java:491)
 org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690)
 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
 note The full stack trace of the root cause is available in the Apache Tomcat/7.0.40 logs. Apache Tomcat/7.0.40

重启后服务器调试问题没有重现 . 我已经下载了Mahout 0.9的源代码,可以't understand how it'可以在 TopItems.java:119 处获取NPE,如果 topItems Queue为空但是它正确理解方法中的代码是一种可能的情况 . 有没有人帮我这个NPE?

感谢你们 .

Update 如果 howMany param为0,NPE是可能的,但我正在使用5.将研究它....

Update 2 howMany param可以在NearestNUserNeighborhood的构造函数中检查't be less than 1 because it' . 我没有更多想法...... :(

1 回答

  • 0

    这是Heroku的浪费,有时会睡觉 . 我认为这是在简历应用后复制的 .
    问题可以结束 .

相关问题