2013-10-24 88 views
0

我有生產服務器有一個struts 2應用程序的部署。它會運行良好,沒有變化發送到服務器,但有一段時間它會給出以下異常和應用程序已崩潰,重新啓動後,它會再次運行良好。我使用的是struts 2.3.15.2版本。請幫我在這我已經搜索了過去5天,沒有找到任何解決方案。Ognl異常類拋出異常

INFO web.AppUpdateAction.fetchAppUpdateList(107) | Mobile os version iPhone 
2013-10-24 02:07:33,320 WARN ognl.OgnlValueStack.warn(64) | Error setting expression 'IMEI' with value '[Ljava.lang.String;@1d67244' 
ognl.OgnlException: IMEI [java.lang.IllegalArgumentException: [email protected]] 
     at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:103) 
     at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162) 
     at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27) 
     at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2332) 
     at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:78) 
     at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2332) 
     at ognl.ASTProperty.setValueBody(ASTProperty.java:127) 
     at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) 
     at ognl.SimpleNode.setValue(SimpleNode.java:301) 
     at ognl.Ognl.setValue(Ognl.java:737) 
     at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:234) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:183) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:170) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:148) 
     at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:318) 
     at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:231) 
     at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) 
     at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.AppControlParamterInterceptor.intercept(AppControlParamterInterceptor.java:65) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.MobileInstanceInterceptor.intercept(MobileInstanceInterceptor.java:65) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.CachingInterceptor.intercept(CachingInterceptor.java:40) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.ActivityLoggerInterceptor.intercept(ActivityLoggerInterceptor.java:72) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) 
     at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563) 
     at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) 
     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.IllegalArgumentException: [email protected] 
     at sun.reflect.GeneratedMethodAccessor107.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:891) 
     at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1293) 
     at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1494) 
     at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85) 
     ... 64 more 
/-- Encapsulated exception ------------\ 
java.lang.IllegalArgumentException: [email protected] 
     at sun.reflect.GeneratedMethodAccessor107.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:891) 
     at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1293) 
     at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1494) 
     at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85) 
     at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162) 
     at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27) 
     at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2332) 
     at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:78) 
     at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2332) 
     at ognl.ASTProperty.setValueBody(ASTProperty.java:127) 
     at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) 
     at ognl.SimpleNode.setValue(SimpleNode.java:301) 
     at ognl.Ognl.setValue(Ognl.java:737) 
     at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:234) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:183) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:170) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:148) 
     at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:318) 
     at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:231) 
     at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) 
     at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.AppControlParamterInterceptor.intercept(AppControlParamterInterceptor.java:65) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.MobileInstanceInterceptor.intercept(MobileInstanceInterceptor.java:65) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.CachingInterceptor.intercept(CachingInterceptor.java:40) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.ActivityLoggerInterceptor.intercept(ActivityLoggerInterceptor.java:72) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) 
     at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563) 
     at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) 
     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
     at java.lang.Thread.run(Thread.java:662) 
\--------------------------------------/ 
2013-10-24 02:07:33,320 INFO interceptors.AppControlParamterInterceptor.intercept(42) | mobileOSVersion :6.1.3 
2013-10-24 02:07:33,333 WARN ognl.OgnlValueStack.warn(64) | Error setting expression 'mobileApplicationId' with value '[Ljava.lang.String;@a4196e' 
ognl.OgnlException: mobileApplicationId [java.lang.IllegalArgumentException: [email protected]] 
     at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:103) 
     at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162) 
     at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27) 
     at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2332) 
     at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:78) 
     at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2332) 
     at ognl.ASTProperty.setValueBody(ASTProperty.java:127) 
     at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) 
     at ognl.SimpleNode.setValue(SimpleNode.java:301) 
     at ognl.Ognl.setValue(Ognl.java:737) 
     at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:234) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:183) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:170) 
     at com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:148) 
     at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:318) 
     at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:231) 
     at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) 
     at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.AppControlParamterInterceptor.intercept(AppControlParamterInterceptor.java:65) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.MobileInstanceInterceptor.intercept(MobileInstanceInterceptor.java:65) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.CachingInterceptor.intercept(CachingInterceptor.java:40) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at com.i2c.choldermobile.framework.interceptors.ActivityLoggerInterceptor.intercept(ActivityLoggerInterceptor.java:72) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) 
     at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) 
     at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563) 
     at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) 
     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.IllegalArgumentException: [email protected] 
     at sun.reflect.GeneratedMethodAccessor108.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:891) 
     at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1293) 
     at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1494) 
     at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85) 
     ... 64 more 
/-- Encapsulated exception ------------\ 

以下是我的代碼AppControlParameterInterceptor代碼。

final ActionContext context = actionInvocation.getInvocationContext(); 
HttpServletRequest request = (HttpServletRequest) context.get(StrutsStatics.HTTP_REQUEST); 
HttpServletResponse response = (HttpServletResponse) context.get(StrutsStatics.HTTP_RESPONSE); 

String mobileAppliationId = request.getParameter(Constants.MOBILE_APPLICATION_ID_KEY); 
LGR.info("mobileAppliationId :" + mobileAppliationId); 
String mobileVersionNo = request.getParameter("mobileApplicationVersion"); 
LGR.info("mobileApplicationVersion :" + mobileVersionNo); 
String mobileOSVersion = request.getParameter("mobileOSVersion"); 
LGR.info("mobileOSVersion :" + mobileOSVersion); 

if(!StringUtils.isNullOrEmptyString(mobileOSVersion)){ 
    mobileOSVersion = mobileOSVersion.split(" ")[0]; 
} 
return actionInvocation.invoke(); 

if(StringUtils.isNullOrEmptyString(mobileAppliationId) 
     || StringUtils.isNullOrEmptyString(mobileOSVersion)){ 
    LGR.info("Missing info as mobileAppliationId or mobileVersionNo or mobileOSVersion is either not provided or invalid "); 
    return Constants.APPLICATION_INFO_MISSING; 
} 
else{ 
    ArrayList<HashMap<String, String>> list =Class.getData(); 
    String key = mobileAppliationId+"_"+mobileVersionNo+"_"+mobileOSVersion;  


    String data = list.get(1).get(key); 
    if(!StringUtils.isNullOrEmptyString(data)){ 
     response.setHeader(Constants.X_PA, data); 
    }else{ 
     contorlParams = controlParamsList.get(0).get(Constants.B_CP); 
     response.setHeader(Constants.X_PA, data); 
    } 
    return actionInvocation.invoke(); 
} 

公共類AppControlParamterInterceptor實現攔截器{

private static final Logger LGR = Logger.getLogger(AppControlParamterInterceptor .class); 

@Override 
public String intercept(ActionInvocation actionInvocation) throws Exception { 
    LGR.info("********* [ControlParamsInterceptor] - Interceptor – intercept ***********"); 
    LGR.info("ControlParams Interceptor Called"); 
    final ActionContext context = actionInvocation.getInvocationContext(); 
    HttpServletRequest request = (HttpServletRequest) context.get(StrutsStatics.HTTP_REQUEST); 
    HttpServletResponse response = (HttpServletResponse) context.get(StrutsStatics.HTTP_RESPONSE); 

    String mobileAppliationId = request.getParameter(Constants.MOBILE_APPLICATION_ID_KEY); 
    LGR.info("mobileAppliationId :" + mobileAppliationId); 
    String mobileVersionNo = request.getParameter("mobileApplicationVersion"); 
    LGR.info("mobileApplicationVersion :" + mobileVersionNo); 
    String mobileOSVersion = request.getParameter("mobileOSVersion"); 
    LGR.info("mobileOSVersion :" + mobileOSVersion); 


     ArrayList<HashMap<String, String>> controlParamsList = CacheManager.getControlParams(); 
     String key = mobileAppliationId+"_"+mobileVersionNo+"_"+mobileOSVersion;  


     String contorlParams = controlParamsList.get(1).get(key); 
     if(!StringUtils.isNullOrEmptyString(contorlParams)){ 
      response.setHeader(Constants.X_MOBILE_APP_PARAMETER, contorlParams); 
     }else{ 
      contorlParams = controlParamsList.get(0).get(Constants.BASE_CONTRL_PARAM_KEY); 
      response.setHeader(Constants.X_MOBILE_APP_PARAMETER, contorlParams); 
     } 
     return actionInvocation.invoke(); 

} 

}

+1

在這些字段中預期和傳遞的值是什麼 - IMEI和mobileApplicationId? –

+0

mobileApplicationId =「achieveCardBc」和IMEI =「548956215478549」 – amamd

+0

發佈您的整個攔截器,不僅需要doIntercept。順便說一句'return actionInvocation.invoke();'被放置在一個非常奇怪的地方... –

回答

0

您發送字符串列表('[Ljava.lang.String;@1d67244':在L表示列表)來命名IMEImobileApplicationId參數。

從名字,他們似乎並不列出給我。

如果他們String秒,List<String> S,那麼這是什麼原因造成你的ClassCastException異常,它確實意味着(有時)你是從JSP發送兩個參數具有相同名稱的動作(如果你發送兩個具有相同名稱的參數,它們將變成List<String>,並且會搜索這種Setter),可能是由於一些JavaScript混亂。

編輯:更深入地思考它,你的AppControlParameterInterceptor可能是running in some thread-unsafeness問題。發佈您的攔截器代碼以確保。

+0

它工作..? –

+0

請您詳細說明一下。實際上,我們通過手機發送我們的請求作爲發佈參數,並確保它沒有同名雙參數,我們希望再次複製但不能再現這種類型的異常。 – amamd

+0

AppControlParameterInterceptor不在任何其他線程中運行,但我有另一個用於記錄目的的攔截器,它在單獨的用戶線程中運行。 – amamd