Hi Marcel,
I am confused about the UI - how do I create a new Object? Was in
CAY-604 patch?
Andrus
On Jul 22, 2006, at 4:06 AM, Marcel wrote:
Hi folks,
I am getting a nasty exception on the server side when working with
ROP. It occurs in very specific circumstances: I create a new
object, save it back to the server. When I try and look at that
object again, I get the exception below.
My insert process is basically context.newObject, and then set the
relationship from the existing object to point to the new one.
The odd thing is that the SQL logs show that the DB query works
perfectly: the correct number of records are returned without a
problem. And even more strangely, if I restart the servlet it works
perfectly. Also, I think it is new since moving to 1.2 (90% sure).
Any ideas? I don't know where to start on this one.
Regards,
Marcel
22/07/2006 17:28:00 com.caucho.hessian.server.HessianSkeleton invoke
WARNING: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
at java.lang.reflect.Field.set(Unknown Source)
at
org.objectstyle.cayenne.property.FieldAccessor.writePropertyDirectly
(FieldAccessor.java:115)
at
org.objectstyle.cayenne.property.SimpleProperty.writePropertyDirectly(
SimpleProperty.java:119)
at org.objectstyle.cayenne.property.SimpleProperty.writeProperty
(SimpleProperty.java:90)
at org.objectstyle.cayenne.map.EntityDescriptor
$SimplePersistentProperty.writeProperty(EntityDescriptor.java:341)
at org.objectstyle.cayenne.util.ObjectDetachOperation
$1.visitProperty(ObjectDetachOperation.java:195)
at org.objectstyle.cayenne.property.SimpleProperty.visit
(SimpleProperty.java:98)
at
org.objectstyle.cayenne.property.BaseClassDescriptor.visitProperties
(BaseClassDescriptor.java:250)
at org.objectstyle.cayenne.util.ObjectDetachOperation.detach
(ObjectDetachOperation.java:134)
at
org.objectstyle.cayenne.access.ClientServerChannelQueryAction.toClient
Objects(ClientServerChannelQueryAction.java:221)
at
org.objectstyle.cayenne.access.ClientServerChannelQueryAction.intercep
tObjectConversion(ClientServerChannelQueryAction.java:181)
at
org.objectstyle.cayenne.access.ClientServerChannelQueryAction.execute(
ClientServerChannelQueryAction.java:106)
at org.objectstyle.cayenne.access.ClientServerChannel.onQuery
(ClientServerChannel.java:99)
at org.objectstyle.cayenne.remote.service.DispatchHelper.dispatch
(DispatchHelper.java:76)
at
org.objectstyle.cayenne.remote.service.BaseRemoteService.processMessag
e(BaseRemoteService.java:182)
at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.caucho.hessian.server.HessianSkeleton.invoke
(HessianSkeleton.java:157)
at
org.objectstyle.cayenne.remote.hessian.service._HessianServlet.service
(_HessianServlet.java:388)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)