cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcin Skladaniec <marcin.skladan...@jcu.edu.au>
Subject No inheritance - there must be only one override set when mis-configured prefetches.
Date Thu, 02 Jul 2009 06:28:11 GMT
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)



Mime
View raw message