Я использую сервер Weblogic 8.1 SP6 (JDK 1.4.2) в производственной системе. Теперь мы получаем следующее исключение на рабочем сервере, прежде чем сервер выйдет из строя.Я абсолютно не имею понятия о том, как подойти к этой проблеме.
java.lang.NullPointerException
at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:205)
at com.sampleapp.arch.struts.InitializingRequestProcessor.getProcessorForModule(InitializingRequestProcessor.java:135)
at com.sampleapp.arch.struts.InitializingRequestProcessor.initializeFormBean(InitializingRequestProcessor.java:29)
at com.sampleapp.arch.struts.ResettingDynaValidatorForm.reset(ResettingDynaValidatorForm.java:46)
at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:484)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:457)
at org.apache.strutsel.taglib.html.ELFormTag.doStartTag(ELFormTag.java:267)
at jsp_servlet._util.__settingsdisplay_f._jspService(__settingsdisplay_f.java:355)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
Ниже приведен фрагмент кода для InitializingRequestProcessor, а в операторе возврата выбрасывается исключение NullPointerException.
Пожалуйста, спросите, если вам нужнолюбая другая информация.Заранее спасибо.
private static RequestProcessor getProcessorForModule(ActionServlet servlet, ModuleConfig config) {
String key = Globals.REQUEST_PROCESSOR_KEY + config.getPrefix();
return (RequestProcessor) servlet.getServletContext().getAttribute(key);
}
Обновление
На основании ответа Алекса выясняется, что ResettingDynaValidatorForm (пользовательская реализация DynaValidatorForm) получает супер ActionServlet из класса ActionFormStruts, который возвращает значение NULL.
Существует ли причина, по которой сервер начнет возвращать значения NULL для ActionServlet только после нескольких дней работы ??