[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [eclipselink-users] Dyn. Weaving, Lazy Collection, Clone Problem
 | 
Hi Tom,
thanks for these hints, looking at the decompiled weaved classes is 
quite interesting. :) My _persistence_shallow_clone() method looked like 
the one of your test-class. So I removed the @CopyPolicy annotation from 
my entity and instead I provided a custom clone method like this:
@CloneCopyPolicy(method = "myCloneMethod", workingCopyMethod = 
"myCloneMethod")
class Bar {
  protected Object myCloneMethod() throws CloneNotSupportedException {
    final Bar clone = (Bar) super.clone();
    clone.pcs = new PropertyChangeSupport(clone);
    return clone;
  }
}
And it works as expected, so thank you very much!
Btw: Although the documentation states that I'd have to specify either 
"method" or "workingCopyMethod" (or both) in the annotation, I have to 
specify both. Don't know if it's just a mistake in the documentation.
-Oliver
Tom Ware schrieb:
Hi Oliver,
  If you want to see what any of your weaved classes do, you can do it 
with the combination of a set of properties and a java decompiler.
  Set the two system properties:
eclipselink.weaving.output.path=<path>
eclipselink.weaving.overwrite.existing=true
  The output of the weaving process will go to <path>.  You should be 
able to decompile those class files.
  Here is a sample _persistence_shallow_clone() from one of our test 
classes:
    public Object _persistence_shallow_clone()
    {
        return super.clone();
    }
  The main impact of implementing your own clone method is that you take 
responsibility for ensuring everything is cloned.  There may be very 
minor performance impact, but it is likely almost negligible when done 
for just one class.
-Tom
- References:
- [eclipselink-users] Dyn. Weaving, Lazy Collection, Clone Problem
 
- Re: [eclipselink-users] Dyn. Weaving, Lazy Collection, Clone Problem
 
- Re: [eclipselink-users] Dyn. Weaving, Lazy Collection, Clone Problem
 
- Re: [eclipselink-users] Dyn. Weaving, Lazy Collection, Clone Problem
 
- Re: [eclipselink-users] Dyn. Weaving, Lazy Collection, Clone Problem