You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Marcin Skladaniec <ma...@jcu.edu.au> on 2009/07/02 08:28:11 UTC
No inheritance - there must be only one override set when mis-configured prefetches.
Hi
Just to let everyone know, if you are using prefetches and by mistake
use two routes to the same objects this exception will come up.
Example to illustrate:
SelectQuery on Company
added prefetches
Company.EMPLOYEE+"."+Employee.PERSON
Company.CONTRACTOR+"."+Employee.PERSON
will produce a runtime error.
The error message is a little confusing, is it easy to make it more
informative?
Marcin
[java] WARNING: org.apache.cayenne.CayenneRuntimeException: [v.3.0-
SNAPSHOT ${project.build.date} ${project.build.time}] Exception
processing message org.apache.cayenne.remote.QueryMessage of type Query
[java] org.apache.cayenne.CayenneRuntimeException: [v.3.0-
SNAPSHOT ${project.build.date} ${project.build.time}] Exception
processing message org.apache.cayenne.remote.QueryMessage of type Query
[java] at
org
.apache
.cayenne
.remote
.service.BaseRemoteService.processMessage(BaseRemoteService.java:167)
[java] at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown
Source)
[java] at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at
com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:
180)
[java] at
com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:
109)
[java] at
com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:
396)
[java] at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1124)
[java] at
ish.oncourse.server.SecurityFilter.doFilter(SecurityFilter.java:110)
[java] at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1115)
[java] at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
[java] at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
[java] at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
[java] at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
[java] at
org
.mortbay
.jetty
.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:
230)
[java] at
org
.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:
114)
[java] 02 Jul 2009 15:40:33,670 [2467288@qtp0-5 ] INFO
org.apache.cayenne.access.QueryLogger :453 - *** error.
[java] java.lang.IllegalArgumentException: No inheritance -
there must be only one override set
[java] at
org
.apache
.cayenne
.access.jdbc.DataRowPostProcessor.<init>(DataRowPostProcessor.java:118)
[java] at
org
.apache
.cayenne
.access
.jdbc
.DataRowPostProcessor.createPostProcessor(DataRowPostProcessor.java:105)
[java] at
org
.apache
.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:84)
[java] at
org
.apache
.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:
87)
[java] at
org.apache.cayenne.access.DataNode.performQueries(DataNode.java:274)
[java] at
org
.apache
.cayenne
.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:422)
[java] at org.apache.cayenne.access.DataDomainQueryAction.access
$000(DataDomainQueryAction.java:66)
[java] at org.apache.cayenne.access.DataDomainQueryAction
$2.transform(DataDomainQueryAction.java:395)
[java] at
org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:
846)
[java] at
org
.apache
.cayenne
.access
.DataDomainQueryAction
.runQueryInTransaction(DataDomainQueryAction.java:392)
[java] at
org
.apache
.cayenne
.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:118)
[java] at
org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
[java] at
org
.apache
.cayenne
.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:
333)
[java] at
org
.apache
.cayenne
.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:96)
[java] at
org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1268)
[java] at
org
.apache
.cayenne
.access
.ClientServerChannelQueryAction
.runQuery(ClientServerChannelQueryAction.java:119)
[java] at
org
.apache
.cayenne
.access
.ClientServerChannelQueryAction
.execute(ClientServerChannelQueryAction.java:65)
[java] at
org
.apache
.cayenne.access.ClientServerChannel.onQuery(ClientServerChannel.java:81)
[java] at
org
.apache
.cayenne.remote.service.DispatchHelper.dispatch(DispatchHelper.java:39)
[java] at
org
.apache
.cayenne
.remote
.service.BaseRemoteService.processMessage(BaseRemoteService.java:152)
[java] at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown
Source)
[java] at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at
com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:
180)
[java] at
com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:
109)
[java] at
com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:
396)
[java] at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[java] at org.mortbay.jetty.Server.handle(Server.java:324)
[java] at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
[java] at org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:879)
[java] at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:828)
[java] at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
[java] at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
[java] at org.mortbay.jetty.bio.SocketConnector
$Connection.run(SocketConnector.java:228)
[java] at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:522)