WidgetManager无法 '尸鬼封尽'
如易互联 发布于67月前 1答/1320阅

环境:ORACLE 12C
JDK: 1.8
版本号:  EOVA-1.6 BATE6

问题现象:

WidgetManager 覆盖源码时,元数据管理功能不可用

Sql: select count(*) from eova_object where id > 999 
Sql: select * from ( select row_.*, rownum rownum_ from (  select id,code,name,view_name,table_name,pk_name,data_source,is_single,is_celledit,is_show_num,is_first_load,default_order,filter,biz_intercept,diy_js,view_sql,config from eova_object where id > 999 order by id desc ) row_ where rownum <= 15) table_alias where table_alias.rownum_ > 0
08-29 09:52:51[ERROR]/grid/query/eova_object_code-eova_object
java.lang.ClassCastException: com.eova.model.User cannot be cast to [Ljava.lang.Object;
	at com.eova.widget.WidgetManager.convertValueByExp(WidgetManager.java:443)
	at com.eova.widget.grid.GridController.query(GridController.java:136)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.jfinal.aop.Invocation.invoke(Invocation.java:73)
	at com.eova.interceptor.AuthInterceptor.intercept(AuthInterceptor.java:49)
	at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
	at com.eova.interceptor.LoginInterceptor.intercept(LoginInterceptor.java:69)
	at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
	at com.jfinal.core.ActionHandler.handle(ActionHandler.java:78)
	at com.eova.handler.UrlBanHandler.handle(UrlBanHandler.java:38)
	at com.jfinal.plugin.druid.DruidStatViewHandler.handle(DruidStatViewHandler.java:81)
	at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:73)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:365)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
	at java.lang.Thread.run(Unknown Source)

重现步骤:

按照规范在override 下建立副本,原样拷贝,不做任何改动


重新运行程序,并登录点击 元数据管理,即报错如上问题现象.问题代码定位如下




[沙发] Jieven
@如易互联 稍等 我单独 打个临时包发给你
提交评论
嘿,我来帮你!