Thanks for the tip Pete, anything to reduce the noise in the logs is good.

Jeff mentioned the TraceTarget tag on the client side and I have been
doing some digging there.  I'm not completely clear how to use it. 
Are there any light docs I can read to get me started?  I am used to
writing trace commands into my code but I don't seem to be able to use
the TraceTarget meaningfully.  Does it only work if running in debug?

Simon

--- In flexcoders@yahoogroups.com, "Peter Farland" <[EMAIL PROTECTED]> wrote:
>
> Just a minor note Simon, for the logging categories, I'd suggest using
> either "Endpoint.*" OR "Message.*" rather than both at the same time as
> they give two different views for virtually the same information. The
> other categories are fine, but these two in particular are some what
> best treated as mutually exclusive to cut down on noise.
>  
> (The endpoint.* is a raw property view of what is going through the
> serializer and deserializer, the message.* is what is seen by the
> message broker from a POJO sense of each message).
>  
> Pete
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of simonjpalmer
> Sent: Thursday, May 03, 2007 3:21 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: Help! Object integrity across
> DataService.commit()
> 
> 
> 
> thanks, that did it, I now have copious debug logs. Onto fence two...
> 
> --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> , "Jeff Vroom" <jvroom@> wrote:
> >
> > That certainly looks right to me. That version of ConsoleTarget just
> > uses the System.out to print messages so you might look around to see
> if
> > they are going into a separate log file. You might try changing
> > ConsoleTarget to ServletLogTarget which uses the Servlet's log method.
> > That sometimes works better on app servers which like to redirect
> > System.out to some other log file. 
> > 
> > 
> > 
> > Jeff
> > 
> > 
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of simonjpalmer
> > Sent: Thursday, May 03, 2007 10:41 AM
> > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] Re: Help! Object integrity across
> > DataService.commit()
> > 
> > 
> > 
> > Jeff, 
> > 
> > I have fallen at the first fence trying to switch on the debug logs. 
> > I presumed this happened in the logging section of
> > services-config.xml, so this is what I did:
> > 
> > <logging>
> > <target class="flex.messaging.log.ConsoleTarget" level="Debug">
> > <properties>
> > <prefix>[Flex] </prefix>
> > <includeDate>false</includeDate>
> > <includeTime>false</includeTime>
> > <includeLevel>false</includeLevel>
> > <includeCategory>false</includeCategory>
> > </properties>
> > <filters>
> > <pattern>Endpoint.*</pattern>
> > <pattern>Service.*</pattern>
> > <pattern>Configuration</pattern>
> > <pattern>DataService.*</pattern>
> > <pattern>Message.*</pattern>
> > </filters>
> > </target>
> > </logging>
> > 
> > then I started my server and did some things through my UI which cause
> > data to be read/written. I was watching my server stdout through a
> > console and saw no additional messages. So I went to my server log
> > which is where teh rest of my debug logging shows up to see what I
> > got. Unfortunately I have nothing more than I was previously getting.
> > 
> > What have I done wrong? Where should I be looking? Have I put the
> > patterns in the config file correctly?
> > 
> > If you would repfer to take this off flexcoders I can get in touch
> > directly or you can email me simon.palmer @ gmail.com
> > 
> > Simon
> > 
> > --- In flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > , "simonjpalmer" <simonjpalmer@>
> > wrote:
> > >
> > > Jeff,
> > > 
> > > thank you for your response, I realaly appreciate it, this is
> driving
> > > me slightly mad and there's a lot in here for me to try. Thanks also
> > > for the offer of help decoding the logs, I may well take you up on
> > > that. It's going to take me a couple of days to get into a position
> > > to try this out properly but I will be back...
> > > 
> > > Regards
> > > Simon
> > > 
> > > --- In flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com> , "Jeff Vroom" <jvroom@> wrote:
> > > >
> > > > One of the features of Data Management is that the assembler can
> > modify
> > > > the objects involved in a create or an update. After the commit,
> > these
> > > > changes are applied to the managed copy. One common change made
> > on the
> > > > server is that during the create the server assigns new ids to the
> > newly
> > > > created items. If the assembler does not make any changes, nothing
> > > > should be changed after the commit. 
> > > > 
> > > > 
> > > > 
> > > > So I think the first step would be to turn on the debug level for
> > the
> > > > "Message.*" and "DataService.*" patterns in the server logs, and
> > compare
> > > > the before and after "create" and "update" events in the logs. 
> > For lazy
> > > > associations, the state of the association properties is stored in
> > the
> > > > "referencedIds" headers in the messages. For non-lazy
> > associations, if
> > > > you put toString methods in your DTOs to dump out relevant info
> > that is
> > > > helpful. 
> > > > 
> > > > 
> > > > 
> > > > One more thing to try that may help. When the objects have
> > lazy="true"
> > > > (not the default) only the references to objects are updated. At
> > most,
> > > > data management has to update references to objects so the
> instances
> > > > would only change if the ids were changed. When lazy="false" we
> > > > recursively update the object graph for the properties changed
> > which is
> > > > more involved so you might try adding lazy="true". In particular,
> > make
> > > > sure that parent has lazy="true" as backptrs tend to perform and
> > behave
> > > > better when you are not sending the parent's state along with an
> > update
> > > > of the child. This does sometimes mean you have to catch and
> ignore
> > > > ItemPendingErrors but usually this doesn't happen for parents. 
> > > > 
> > > > 
> > > > 
> > > > If you could use help analyzing the logs, send them along.
> Sometimes
> > > > the client side debug log is useful in these situations too
> > > > (<mx:TraceTarget/>).
> > > > 
> > > > 
> > > > 
> > > > Jeff 
> > > > 
> > > > 
> > > > 
> > > > ________________________________
> > > > 
> > > > From: flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com> 
> > [mailto:flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > ] On
> > > > Behalf Of simonjpalmer
> > > > Sent: Tuesday, April 17, 2007 7:20 AM
> > > > To: flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > 
> > > > Subject: [flexcoders] Help! Object integrity across
> > DataService.commit()
> > > > 
> > > > 
> > > > 
> > > > I seem to be getting object instances changing across a commit()
> > > > boundary. Half the object ID's change through a commit for no
> > > > apparent reason. This means I have no capability to manage a
> > > > parent-child relationship in data. Utter disaster!
> > > > 
> > > > Here's the situation. I have a parent child hierarchy of objects,
> > > > from the root to the leaves:
> > > > PO
> > > > PP
> > > > SS
> > > > SC
> > > > OP
> > > > So PO's contain PP's, PP's contain SS's and so forth.
> > > > 
> > > > I converse with a single data service which delivers a set of PO's
> > and
> > > > the PP's are thereafter lazily loaded. I don't break the
> dataservice
> > > > or object model anywhere below that, so a PP is treated as a
> single
> > > > entity and read and written as such with its entire sub-graph of
> > > > objects.
> > > > 
> > > > I have two destinations, one for PO's and one for PP's and this
> all
> > > > works fine.
> > > > 
> > > > However, when I create a graph such as the one above and commit it
> > to
> > > > the server through the PO destination I have different object
> > > > instances for SS, SC and OP's after the call to commit returns.
> > > > 
> > > > This is a problem because there are some properties which are
> > specific
> > > > to the object instance, in particular an object reference to its
> > > > parent. The object instance of the parent is changing across the
> > > > commit boundary.
> > > > 
> > > > Before commit everything is joined up nicely as you would expect:
> > > > 
> > > > PO @42f2451
> > > > PP @43f3629 parent @42f2451
> > > > SS @4c0ee71 parent @43f3629
> > > > SC @a5d69d1 parent @4c0ee71
> > > > OP @a2f5a01 parent @a5d69d1
> > > > 
> > > > after commit these are the same...
> > > > 
> > > > PO @42f2451
> > > > PP @43f3629 parent @42f2451
> > > > 
> > > > however everything else is different
> > > > 
> > > > SS @4c0e151 parent @a94d3d1
> > > > SC @4ba2d31 parent @4c0e151
> > > > OP @<new> parent @4ba2d31 
> > > > 
> > > > what's worse is that the new parent instance of PP held on the new
> > SS
> > > > (i.e. whatever is under @a94d3d1) has itself a null parent
> > reference.
> > > > That means that after the commit my tree below SS is dangling in
> the
> > > > wind and I cannot find the parentage up to PO!
> > > > 
> > > > This is a complete disaster. It effectively means I have no
> > > > bi-directional one-to-many support, e.g. no Parent-Child, the most
> > > > basic of relationships!
> > > > 
> > > > Worse, if I traverse down from PO to OP I cannot traverse back up
> > > > again! It goes down one path and up another which ends before it
> > gets
> > > > to PO.
> > > > 
> > > > So I have three questions:
> > > > 
> > > > What am I doing wrong? 
> > > > How do I prevent my object instances from being screwed around
> with
> > > > during commit? 
> > > > How do I tell when commit() has finished? Is there an Event I can
> > > > trap for its completion? Then I could at least repair my tree.
> > > > 
> > > > very glum...
> > > > 
> > > > SP
> > > >
> > >
> >
>


Reply via email to