Kodo enhancer throws ConcurrentModificationException
Attached is the stacktrace i get during enhancement, inside ant build
process.
Kodo suddenly fails on classes that were enhanced correctly before, so I
guess its some internal bug.
Does anyone know why it happens?
raczer.
I use:
- kodo 2.4.0
- ant 1.5.1
begin 666 stacktrace.txt
M6RXN+ET-"B @(" @6VID;V-=(&IA=F$N=71I;"Y#;VYC=7)R96YT36]D:69I
M8V%T:6]N17AC97!T:6]N#0H@(" @(%MJ9&]C72 @(" @870@:F%V82YU=&EL
M+E1R965-87 D16YT<GE)=&5R871O<BYN97AT16YT<GDH5')E94UA<"YJ879A
M.C$P,C(I#0H@(" @(%MJ9&]C72 @(" @870@:F%V82YU=&EL+E1R965-87 D
M2V5Y271E<F%T;W(N;F5X="A4<F5E36%P+FIA=F$Z,3 T-RD-"B @(" @6VID
M;V-=(" @("!A="!C;VTN<V]L87)M971R:6,N:V]D;RYM971A+D-L87-S365T
M841A=&$N9FEN:7-H*$-L87-S365T841A=&$N:F%V83HS-#4I#0H@(" @(%MJ
M9&]C72 @(" @870@8V]M+G-O;&%R;65T<FEC+FMO9&\N;65T82Y#;&%S<TUE
M=&%$871A+FYE=TEN<W1A;F-E*$-L87-S365T841A=&$N:F%V83HR-C@I#0H@
M(" @(%MJ9&]C72 @(" @870@8V]M+G-O;&%R;65T<FEC+FMO9&\N;65T82Y#
M;&%S<TUE=&%$871A+F=E=$EN<W1A;F-E*$-L87-S365T841A=&$N:F%V83HQ
M.3(I#0H@(" @(%MJ9&]C72 @(" @870@8V]M+G-O;&%R;65T<FEC+FMO9&\N
M;65T82Y#;&%S<TUE=&%$871A+G9A;&ED871E4W5P97)C;&%S<RA#;&%S<TUE
M=&%$871A+FIA=F$Z-#0V*0T*(" @("!;:F1O8UT@(" @(&%T(&-O;2YS;VQA
M<FUE=')I8RYK;V1O+FUE=&$N0VQA<W--971A1&%T82YF:6YI<V@H0VQA<W--
M971A1&%T82YJ879A.C,S,RD-"B @(" @6VID;V-=(" @("!A="!C;VTN<V]L
M87)M971R:6,N:V]D;RYM971A+D-L87-S365T841A=&$N;F5W26YS=&%N8V4H
M0VQA<W--971A1&%T82YJ879A.C(V."D-"B @(" @6VID;V-=(" @("!A="!C
M;VTN<V]L87)M971R:6,N:V]D;RYM971A+D-L87-S365T841A=&$N9V5T26YS
M=&%N8V4H0VQA<W--971A1&%T82YJ879A.C$Y,BD-"B @(" @6VID;V-=(" @
M("!A="!C;VTN<V]L87)M971R:6,N:V]D;RYE;FAA;F-E+DI$3T5N:&%N8V5R
M+CQI;FET/BA*1$]%;FAA;F-E<BYJ879A.C(R-"D-"B @(" @6VID;V-=(" @
M("!A="!C;VTN<V]L87)M971R:6,N:V]D;RYE;FAA;F-E+DI$3T5N:&%N8V5R
M+F5N:&%N8V4H2D1/16YH86YC97(N:F%V83HQ.#<I#0H@(" @(%MJ9&]C72 @
M(" @870@8V]M+G-O;&%R;65T<FEC+FMO9&\N96YH86YC92Y*1$]%;FAA;F-E
M<BYE;FAA;F-E*$I$3T5N:&%N8V5R+FIA=F$Z,3,U*0T*(" @("!;:F1O8UT@
M(" @(&%T(&-O;2YS;VQA<FUE=')I8RYM;V1U;&5S+FEN=&5G<F%T:6]N+F%N
M="Y*1$]%;FAA;F-E<E1A<VLN97AE8W5T94]N*$I$3T5N:&%N8V5R5&%S:RYJ
M879A.C0S*0T*(" @("!;:F1O8UT@(" @(&%T(&-O;2YS;VQA<FUE=')I8RYM
M;V1U;&5S+FEN=&5G<F%T:6]N+F%N="Y487-K0F%S92YE>&5C=71E*%1A<VM"
M87-E+FIA=F$Z,3$X*0T*(" @("!;:F1O8UT@(" @(&%T(&]R9RYA<&%C:&4N
M=&]O;',N86YT+E5N:VYO=VY%;&5M96YT+F5X96-U=&4H56YK;F]W;D5L96UE
M;G0N:F%V83HQ-C8I#0H@(" @(%MJ9&]C72 @(" @870@;W)G+F%P86-H92YT
M;V]L<RYA;G0N5&%S:RYP97)F;W)M*%1A<VLN:F%V83HS,3DI#0H@(" @(%MJ
M9&]C72 @(" @870@;W)G+F%P86-H92YT;V]L<RYA;G0N5&%R9V5T+F5X96-U
M=&4H5&%R9V5T+FIA=F$Z,S Y*0T*(" @("!;:F1O8UT@(" @(&%T(&]R9RYA
M<&%C:&4N=&]O;',N86YT+E1A<F=E="YP97)F;W)M5&%S:W,H5&%R9V5T+FIA
M=F$Z,S,V*0T*(" @("!;:F1O8UT@(" @(&%T(&]R9RYA<&%C:&4N=&]O;',N
M86YT+E!R;VIE8W0N97AE8W5T951A<F=E="A0<F]J96-T+FIA=F$Z,3,P-BD-
M"B @(" @6VID;V-=(" @("!A="!O<F<N87!A8VAE+G1O;VQS+F%N="Y0<F]J
M96-T+F5X96-U=&5487)G971S*%!R;VIE8W0N:F%V83HQ,C4P*0T*(" @("!;
M:F1O8UT@(" @(&%T(&]R9RYA<&%C:&4N=&]O;',N86YT+DUA:6XN<G5N0G5I
M;&0H36%I;BYJ879A.C8Q,"D-"B @(" @6VID;V-=(" @("!A="!O<F<N87!A
M8VAE+G1O;VQS+F%N="Y-86EN+G-T87)T*$UA:6XN:F%V83HQ.38I#0H@(" @
M(%MJ9&]C72 @(" @870@;W)G+F%P86-H92YT;V]L<RYA;G0N36%I;BYM86EN
H*$UA:6XN:F%V83HR,S4I#0H-"D)524Q$($9!24Q%1 T*6RXN+ET-"@``
`
end
This sounds like a manifestation of
http://bugzilla.solarmetric.com/show_bug.cgi?id=472 to me. Do you have
circular dependencies between classes defined in multiple metadata
files? For example, do you have a class Foo whose metadata is defined in
Foo.jdo, and a class Bar whose metadata is in Bar.jdo, and do Foo and
Bar have references to each other?
If this is the bug, the only current workaround is to put those classes
that have circular references into the same metadata file (a package.jdo
file or a system.jdo file).
-Patrick
Rafa__ Czerwi__ski wrote:
Attached is the stacktrace i get during enhancement, inside ant build
process.
Kodo suddenly fails on classes that were enhanced correctly before, so I
guess its some internal bug.
Does anyone know why it happens?
raczer.
I use:
- kodo 2.4.0
- ant 1.5.1
[jdoc] java.util.ConcurrentModificationException
[jdoc] at
java.util.TreeMap$EntryIterator.nextEntry(TreeMap.java:1022)
[jdoc] at java.util.TreeMap$KeyIterator.next(TreeMap.java:1047)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.finish(ClassMetaData.java:345)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.newInstance(ClassMetaData.java:268)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.getInstance(ClassMetaData.java:192)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.validateSuperclass(ClassMetaData.java:446)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.finish(ClassMetaData.java:333)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.newInstance(ClassMetaData.java:268)
[jdoc] at
com.solarmetric.kodo.meta.ClassMetaData.getInstance(ClassMetaData.java:192)
[jdoc] at
com.solarmetric.kodo.enhance.JDOEnhancer.(JDOEnhancer.java:224)
[jdoc] at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:187)
[jdoc] at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:135)
[jdoc] at
com.solarmetric.modules.integration.ant.JDOEnhancerTask.executeOn(JDOEnhancerTask.java:43)
[jdoc] at
com.solarmetric.modules.integration.ant.TaskBase.execute(TaskBase.java:118)
[jdoc] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[jdoc] at org.apache.tools.ant.Task.perform(Task.java:319)
[jdoc] at org.apache.tools.ant.Target.execute(Target.java:309)
[jdoc] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[jdoc] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[jdoc] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[jdoc] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[jdoc] at org.apache.tools.ant.Main.start(Main.java:196)
[jdoc] at org.apache.tools.ant.Main.main(Main.java:235)
BUILD FAILED
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
Similar Messages
-
Workshop 3.2 and kodo enhancer
I am trying to use Workshop Studio 3.2 with Kodo 4.0.1 but I can make to run even JPA tutorial. It is said that WS integrates all build steps including Kodo enhancer. But I am receiving the error:
<b><i>kodo.persistence.ArgumentException: The type "class com.bea.beans.Customer" has not been enhanced.</i></b>
I tried even manually to run kodoc.bat on already build classes, it enhance it, but in runtime the same error happens.
Where I can see if WS is configured to run enhancer?Yes, in Workshop Studio 3.2 the Kodo enhancer is integrated as part of the build process.
Please verify the following:
Project > Properties - Builder - make sure "Java Builder" & "Workshop AppXRay Builder" is checked
Window > Preferences > General - Workspace - Check if "Build automatically" option is ONIf the above settings are in place, then try Project > Clean on "Workshop-JPA-tutorial" or "Rebuild AppXRay Database". Once the build process is completed try to execute a simple query in EJB QL editor. -
Code that consistently throw ConcurrentModificationExceptions?
I would like to know some code that is definitely thread- unsafe, AND consistently throws ConcurrentModificationExceptions .
Without bad code that I know is incorrect and gives me feedback (via thrown Exceptions) to fix, I can't get a feel for what needs to be synchronized or if I am synchronizing correctly.
The scenario I am thinking of would use two, or more, threads and a shared Collection .
btw: an example of what I mean is java.io.Writer.
I synchronized access; how would it make sense for 2 threads to share the same writer I assumed. It worked fined. Then, as a test, I removed the synchronization, and it still worked fine. It turns out a Writer is actually synchronized by default. So, I made a big mistake by synchronizing something that was already synchronized.
Anyway, this is an example of what I mean. I'd hope to know some technique to increase the probablility of getting synchronization errors (especially with shared Collections).
Thanks.
Edited by: rdkh on May 31, 2009 7:53 PMHi rdkh,
for(Integer intObj : IntSet) {
intSet.remove(intObj);
}is simply wrong.
Excerpt from the description of the [*ConcurrentModificationException*|http://java.sun.com/javase/6/docs/api/java/util/ConcurrentModificationException.html] :
"Note that this exception does not always indicate that an object has been concurrently modified by a different thread. If a single thread issues a sequence of method invocations that violates the contract of an object, the object may throw this exception. For example, if a thread modifies a collection directly while it is iterating over the collection with a fail-fast iterator, the iterator will throw this exception. "
Your coding may be simplified this way :
IntSet.clear(); -
Throwing ConcurrentModificationException
Hi,
I am implementing an Iterator and wish to throw the ConcurrentMoficationException when the underlying list is modified. I do this by keeping track of modCount variable in the iterator implemention and throw the exception if the modcount has changed after the iterator is created. It works fine on NT and gives runtime
Exception in thread "main" java.lang.IllegalAccessError: try to access
field java.util.AbstractList.modCount from class
oracle.tip.repos.core.driver.AssociationList$ItrHere AssociationList is my implementation of ArrayList.
In the iterator
private class Itr implements Iterator {
int firstModCount = modCount;
public Object next() throws ConcurrentModificationException {
// after the iterator is created list has been modified, throw
// concurrent modified exception
int newModCount = modCount;
if (firstModCount != newModCount)
throw new ConcurrentModificationException();
This code executes in NT 4.0 without any problem only on solaris I get the above runtime exception.
Could this be a bug ?
Any pointers on troubleshooting this problem ?
thanks
PoornimaThe comments so far make sense in that it is a scoping issue. It is indeed strange that it is platform-specific. You could perhaps provide a workaround by creating a private accessor method for the iterator implementation to use. Something like
private int getModCount() {
return modCount;
}should work OK. Then call getModCount in your iterator rather than accessing modCount directly.
I would make your new next() code look like this:
public Object next() throws ConcurrentModificationException {
if (firstModCount != getModCount()) {
throw new ConcurrentModificationException();
/* the rest of your implementation */
}BTW, when you post your code, you might want to use code and /code tags (with square braces around them) in order to preserve your formatting. -
ArrayList throwing ConcurrentModificationException
Hey everybody,
Im just goofing around with a little board game display class(my aim is to end up goofing around with A*, but thats still far in the future). Another thing I wanted to implement were little graphics FX. I use an ArrayList to display multiple FX:
class FX
abstract void displayTo(Graphics g);
abstract boolean finished() // has the effect finished its job?
ArrayList <FX> aL = new ArrayList<FX>();
for (FX f: aL)
f.displayTo(getGraphics());
if(f.finished()) FX.remove(f);
}Exact message:
Exception in thread "Thread-2" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at gcds.TileMap.pumpFX(TileMap.java:44)
at gcds.TileMap.renderFrame(TileMap.java:39)
at pup.GCD.step(GCD.java:27)
at pup.GCD.frame(GCD.java:29)
at pup.GameCMP.run(GameCMP.java:25)
at java.lang.Thread.run(Thread.java:619)
I use a Thread(Runnable ) that paints a BufferedImage on a JPanel. The BufferedImage is being created by a method that calls the above piece of code.
Thanks for reading through this mess :)
Edit: I came up with a workaround - filling an ArrayList with Objects that need to be removed after the foreach loop - but I think thats not too elegant.
Edited by: anotherAikman on Jan 19, 2010 3:44 AManotherAikman wrote:
Thank you tschodt! Ill give it a try.
Edit:
Iterator<FX> it = FX.iterator();
while(it.hasNext())
FX m = it.next();
m.displayTo(getGraphics());
if(m.finished()) it.remove();
}seems to work good. Ill try some more things to ensure I understood the iterator logic.No "seems to" about it. That's exactly the fix! -
Kodo version 3.0.0 / using IBM Websphere/Eclipse
I am testing a migration to Kodo 3, and I am having problems with
enhancing when building the project using the plug-in. The error returned
is shown below...
Problems occurred building the selected resources.
packagedesc/ta/event/Bean.jdoGetManagedFieldCount()I
Also, I have attempted to enhance the project using the ANT task, but that
also fails with the following error trace.
[jdoc] java.lang.NoSuchMethodError:
packagedesc/ta/shared/BOSet.<init>(Lpackagedesc/ta/shared/BusinessObject;)V
[jdoc] at java.lang.Throwable.<init>(Throwable.java)
[jdoc] at java.lang.Throwable.<init>(Throwable.java)
[jdoc] at
java.lang.NoSuchMethodError.<init>(NoSuchMethodError.java:56)
[jdoc] at packagedesc.ta.event.Process.<init>(Process.java:42)
[jdoc] at packagedesc.ta.event.Process.<clinit>(Process.java)
[jdoc] at java.lang.Class.initializeImpl(Native Method)
[jdoc] at java.lang.Class.initialize(Class.java)
[jdoc] at java.lang.Class.forNameImpl(Native Method)
[jdoc] at java.lang.Class.forName(Class.java)
[jdoc] at
packagedesc.ta.event.ScheduledEvent.class$(ScheduledEvent.java)
[jdoc] at
packagedesc.ta.event.ScheduledEvent.<clinit>(ScheduledEvent.java)
[jdoc] at java.lang.Class.initializeImpl(Native Method)
[jdoc] at java.lang.Class.initialize(Class.java)
[jdoc] at java.lang.Class.forNameImpl(Native Method)
[jdoc] at java.lang.Class.forName(Class.java)
[jdoc] at
serp.util.MultiClassLoader.findClass(MultiClassLoader.java:224)
[jdoc] at java.lang.ClassLoader.loadClass(ClassLoader.java)
[jdoc] at java.lang.ClassLoader.loadClass(ClassLoader.java)
[jdoc] at java.lang.Class.forNameImpl(Native Method)
[jdoc] at java.lang.Class.forName(Class.java)
[jdoc] at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:214)
[jdoc] at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:188)
[jdoc] at
kodo.meta.JDOMetaDataParser.startCollection(JDOMetaDataParser.java:321)
[jdoc] at
kodo.meta.JDOMetaDataParser.startClassElement(JDOMetaDataParser.java:194)
[jdoc] at
com.solarmetric.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:69)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:354)
[jdoc] at
org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java)
[jdoc] at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java)
[jdoc] at
org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBinder.java)
[jdoc] at
org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java)
[jdoc] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java)
[jdoc] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java)
[jdoc] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java)
[jdoc] at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java)
[jdoc] at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java)
[jdoc] at
org.apache.xerces.parsers.XMLParser.parse(XMLParser.java)
[jdoc] at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java)
[jdoc] at javax.xml.parsers.SAXParser.parse(SAXParser.java:394)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:309)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:254)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:234)
[jdoc] at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositoryImpl.java:175)
[jdoc] at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.java:129)
[jdoc] at kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)
[jdoc] at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2162)
[jdoc] at
kodo.ant.JDOEnhancerTask.executeOn(JDOEnhancerTask.java:65)
[jdoc] at com.solarmetric.ant.TaskBase.execute(TaskBase.java:105)
[jdoc] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
[jdoc] at org.apache.tools.ant.Task.perform(Task.java:341)
[jdoc] at org.apache.tools.ant.Target.execute(Target.java:309)
[jdoc] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[jdoc] at
org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[jdoc] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
[jdoc] at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[jdoc] at org.apache.tools.ant.Task.perform(Task.java:341)
[jdoc] at org.apache.tools.ant.Target.execute(Target.java:309)
[jdoc] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[jdoc] at
org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[jdoc] at
org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:571)
[jdoc] at
org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:367)
[jdoc] at
java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:199)
[jdoc] at java.lang.reflect.Method.invoke(Method.java)
[jdoc] at org.eclipse.ant.core.AntRunner.run(AntRunner.java:335)
[jdoc] at
org.eclipse.ui.externaltools.internal.ant.launchConfigurations.AntLaunchDelegate$1.run(AntLaunchDelegate.java:172)
[jdoc] at java.lang.Thread.run(Thread.java:801)
[jdoc] BUILD FAILED: file:D:/Work/Shared/build.xml:45:
java.lang.NoSuchMethodError:
packagedesc/ta/shared/BOSet.<init>(Lpackagedesc/ta/shared/BusinessObject;)V
the call to the method that fails is shown below:
private Set dependentEvents = new HashSet();
private transient BOSet dependentEventsContext = new BOSet(this);
The method that is being reported in the NoSuchMethodError is shown below.
public BOSet(BusinessObject obj) {
setParent(obj);
The Business Object being passed into this method is the top level
abstract business object, and all persistable business objects extend this
class.
I don't know that both these errors are the same problem, or whether they
are both different symptoms of another problem.
In addition when I was migrating the metadata, I had problems with the
Apache libraries, which caused a failure when I ran the "migrate-meta"
task. I ended up replacing the two files (xalan.jar and xercesImpl.jar)
that were packaged with Kodo3 with ones from our previous Kodo install and
the migrate worked fine. Is there a problem with these files?Marc
I gave the error for the jar file in my second post.....
"BUILD FAILED: java.lang.VerifyError: field not type compatible (class:
org/apache/xerces/parsers/IntegratedParserConfiguration method:
configurePipeline()V) at pc: 4"
I thought that it was just the xalan.jar that was upsetting the process
but it does in fact seem to be both that, and the "xercesImpl.jar".
On the enhancer I have got it to work by re-building without the enhancer
addded to the build. Then enhancing each project individually using the
ant task.
I am still unable however to add the enhancer to the build using the
plugin and then re-build all. this will return me the same
jdoGetManagedFieldCount error, even if I have re-built without the
enhancer previously.
This all seems a little awkward, so if there is something I can do to get
the build to work with the plugin, and using the enhancer, that would be
ideal.
Marc Prud'hommeaux wrote:
BD-
The build problems sound to me like some of your persistent classes
have been recompiled, but others have not. Have you tried completely
rebuilding all the classes in your project before doing any enhancement?
In addition when I was migrating the metadata, I had problems with the
Apache libraries, which caused a failure when I ran the "migrate-meta"
task. I ended up replacing the two files (xalan.jar and xercesImpl.jar)
that were packaged with Kodo3 with ones from our previous Kodo install and
the migrate worked fine. Is there a problem with these files?
We did upgrade the version of xercesImpl.jar we ship with 3.0, but I
would be surprised if this would cause problems. Can you post the
exception you get when you try to use the old jars?
In article <[email protected]>, BD wrote:
Kodo version 3.0.0 / using IBM Websphere/Eclipse
I am testing a migration to Kodo 3, and I am having problems with
enhancing when building the project using the plug-in. The error returned
is shown below...
Problems occurred building the selected resources.
packagedesc/ta/event/Bean.jdoGetManagedFieldCount()I
Also, I have attempted to enhance the project using the ANT task, but that
also fails with the following error trace.
[jdoc] java.lang.NoSuchMethodError:
packagedesc/ta/shared/BOSet.<init>(Lpackagedesc/ta/shared/BusinessObject;)V
[jdoc] at java.lang.Throwable.<init>(Throwable.java)
[jdoc] at java.lang.Throwable.<init>(Throwable.java)
[jdoc] at
java.lang.NoSuchMethodError.<init>(NoSuchMethodError.java:56)
[jdoc] at packagedesc.ta.event.Process.<init>(Process.java:42)
[jdoc] at packagedesc.ta.event.Process.<clinit>(Process.java)
[jdoc] at java.lang.Class.initializeImpl(Native Method)
[jdoc] at java.lang.Class.initialize(Class.java)
[jdoc] at java.lang.Class.forNameImpl(Native Method)
[jdoc] at java.lang.Class.forName(Class.java)
[jdoc] at
packagedesc.ta.event.ScheduledEvent.class$(ScheduledEvent.java)
[jdoc] at
packagedesc.ta.event.ScheduledEvent.<clinit>(ScheduledEvent.java)
[jdoc] at java.lang.Class.initializeImpl(Native Method)
[jdoc] at java.lang.Class.initialize(Class.java)
[jdoc] at java.lang.Class.forNameImpl(Native Method)
[jdoc] at java.lang.Class.forName(Class.java)
[jdoc] at
serp.util.MultiClassLoader.findClass(MultiClassLoader.java:224)
[jdoc] at java.lang.ClassLoader.loadClass(ClassLoader.java)
[jdoc] at java.lang.ClassLoader.loadClass(ClassLoader.java)
[jdoc] at java.lang.Class.forNameImpl(Native Method)
[jdoc] at java.lang.Class.forName(Class.java)
[jdoc] at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:214)
[jdoc] at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:188)
[jdoc] at
kodo.meta.JDOMetaDataParser.startCollection(JDOMetaDataParser.java:321)
[jdoc] at
kodo.meta.JDOMetaDataParser.startClassElement(JDOMetaDataParser.java:194)
[jdoc] at
com.solarmetric.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:69)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:354)
[jdoc] at
org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java)
[jdoc] at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java)
[jdoc] at
org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBinder.java)
[jdoc] at
org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java)
[jdoc] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java)
[jdoc] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java)
[jdoc] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java)
[jdoc] at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java)
[jdoc] at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java)
[jdoc] at
org.apache.xerces.parsers.XMLParser.parse(XMLParser.java)
[jdoc] at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java)
[jdoc] at javax.xml.parsers.SAXParser.parse(SAXParser.java:394)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:309)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:254)
[jdoc] at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:234)
[jdoc] at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositoryImpl.java:175)
[jdoc] at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.java:129)
[jdoc] at kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)
[jdoc] at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2162)
[jdoc] at
kodo.ant.JDOEnhancerTask.executeOn(JDOEnhancerTask.java:65)
[jdoc] at com.solarmetric.ant.TaskBase.execute(TaskBase.java:105)
[jdoc] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
[jdoc] at org.apache.tools.ant.Task.perform(Task.java:341)
[jdoc] at org.apache.tools.ant.Target.execute(Target.java:309)
[jdoc] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[jdoc] at
org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[jdoc] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
[jdoc] at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[jdoc] at org.apache.tools.ant.Task.perform(Task.java:341)
[jdoc] at org.apache.tools.ant.Target.execute(Target.java:309)
[jdoc] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[jdoc] at
org.apache.tools.ant.Project.executeTarget(Project.java:1339)
[jdoc] at
org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:571)
[jdoc] at
org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:367)
[jdoc] at
java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:199)
[jdoc] at java.lang.reflect.Method.invoke(Method.java)
[jdoc] at org.eclipse.ant.core.AntRunner.run(AntRunner.java:335)
[jdoc] at
org.eclipse.ui.externaltools.internal.ant.launchConfigurations.AntLaunchDelegate$1.run(AntLaunchDelegate.java:172)
[jdoc] at java.lang.Thread.run(Thread.java:801)
[jdoc] BUILD FAILED: file:D:/Work/Shared/build.xml:45:
java.lang.NoSuchMethodError:
packagedesc/ta/shared/BOSet.<init>(Lpackagedesc/ta/shared/BusinessObject;)V
the call to the method that fails is shown below:
private Set dependentEvents = new HashSet();
private transient BOSet dependentEventsContext = new BOSet(this);
The method that is being reported in the NoSuchMethodError is shown below.
public BOSet(BusinessObject obj) {
setParent(obj);
The Business Object being passed into this method is the top level
abstract business object, and all persistable business objects extend this
class.
I don't know that both these errors are the same problem, or whether they
are both different symptoms of another problem.
In addition when I was migrating the metadata, I had problems with the
Apache libraries, which caused a failure when I ran the "migrate-meta"
task. I ended up replacing the two files (xalan.jar and xercesImpl.jar)
that were packaged with Kodo3 with ones from our previous Kodo install and
the migrate worked fine. Is there a problem with these files?
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Hi all,
I'm trying to enhance persistent classes with kodo 4.1 using the
enhancer class kodo.enhance.PCEnhancer as specified by Bea kodo 4.1
documentation
http://edocs.bea.com/kodo/docs41/full/html/ref_guide_pc_enhance.html
I put in the classpath all kodo 4.1 libraries, but there isn't any class
with this name kodo.enhance.PCEnhancer.
Could somebody give me a hint?
Thanks in advance.
DanielaThat is the enhancer class.
Thank you a lot.
Regards,
Daniela
Christiaan des Bouvrie wrote:
It's probably org.apache.openjpa.enhance.PCEnhancer. Quite some classes have
been moved to the OpenJPA.jar in the 4.1 version
regards,
Christiaan
"Daniela Bodea" <[email protected]> wrote in message
news:[email protected]..
Hi all,
I'm trying to enhance persistent classes with kodo 4.1 using the
enhancer class kodo.enhance.PCEnhancer as specified by Bea kodo 4.1
documentation
http://edocs.bea.com/kodo/docs41/full/html/ref_guide_pc_enhance.html
I put in the classpath all kodo 4.1 libraries, but there isn't any class
with this name kodo.enhance.PCEnhancer.
Could somebody give me a hint?
Thanks in advance.
Daniela -
Exception running enhancement with Kodo 3.x metadata
156 INFO [main] kodo.Tool - Enhancer running on type "class
com.peacetech.dts.jdo.TemplateContentImpl".
Exception in thread "main" java.lang.NoSuchMethodError:
kodo.meta.AbstractMetaDataFactory.access$001(Lkodo/jdo/Deprecate
dJDOMetaDataFactory;)Lkodo/meta/MetaDataRepository;
at
kodo.jdo.DeprecatedJDOMetaDataFactory$ExtensionTranslatingParser.<init>(DeprecatedJDOMetaDataFactory.java:238
at
kodo.jdo.DeprecatedJDOMetaDataFactory.newParser(DeprecatedJDOMetaDataFactory.java:113)
at kodo.jdo.JDOMetaDataFactory.getParser(JDOMetaDataFactory.java:86)
at kodo.jdo.JDOMetaDataFactory.load(JDOMetaDataFactory.java:117)
at
kodo.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:432)
at
kodo.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:274)
at kodo.enhance.PCEnhancer.<init>(PCEnhancer.java:113)
at kodo.enhance.PCEnhancer.run(PCEnhancer.java:3806)
at kodo.enhance.PCEnhancer.run(PCEnhancer.java:3754)
at kodo.enhance.PCEnhancer.main(PCEnhancer.java:3720)Hi Abe,
Great to have you back on this newsgroups. If release of 4.1 is expected
within next couple of months we would rather wait with migration
Thank you
Alex
<Abe White> wrote in message news:[email protected]..
I believe this is a known bug. If this is a blocking problem, please
contact support and request a patch. Tell them it's CR 285141. -
Can't enhance classes with Apache Commons Logging?
For some reason enhancer blows on class with
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
private static final Log LOG = LogFactory.getLog(GaoParticipant.class);
With following exception:
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at serp.util.MultiClassLoader.findClass(MultiClassLoader.java:224)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:213
at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:188
at kodo.meta.JDOMetaDataParser.startCollection(JDOMetaDataParser.java:321)
at
kodo.meta.JDOMetaDataParser.startClassElement(JDOMetaDataParser.java:194)
at
com.solarmetric.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:69)
at
com.solarmetric.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:3
54)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:309)
at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:254)
at com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:234)
at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
yImpl.java:175)
at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.ja
va:129)
at kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)
at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2175)
at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2116)
at kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:2088)
at peacetech.gao.ccs.tools.Enhance.main(Enhance.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Class
org.apache.commons.logging.impl.Log4JLogger does not implement Log
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
va:532)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
va:272)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
va:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at peacetech.gao.ccs.jdo.GaoParticipant.<clinit>(GaoParticipant.java:14)
... 35 more
Caused by: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Class
org.apache.commons.logging.impl.Log4JLogger does not implement Log
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
mpl.java:416)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
va:525)
... 39 more
Caused by: org.apache.commons.logging.LogConfigurationException: Class
org.apache.commons.logging.impl.Log4JLogger does not implement Log
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
mpl.java:412)
... 40 more
Exception in thread "main" Process terminated with exit code 1Have not tried Ant but running main() runs when LOG is not initialized at
all and blows in both cases below
1.
private static Log LOG ;
static {
LOG = LogFactory.getLog(Contact.class);
2
private static Log LOG = getLog();
private static Log getLog() {
return LogFactory.getLog(Contact.class);
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]...
Alex-
Do you see the problem if you just enhance the class from the
command-line "jdoc" tool?
Also, if you just don't initialize the log, do you still see the
problem (e.g., making it a lazy initialization via some static
getLog() method)?
In article <[email protected]>, Alex Roytman wrote:
It is not even ant just a class which I run from under Intellij IDEA
package peacetech.gao.ccs.tools;
import kodo.enhance.JDOEnhancer;
public class Enhance {
String arr[];
public static void main(String[] args) throws Exception {
String root = "D:/projects/gao/ccs/main/java/jdo/classes/";
System.getProperties().put("kodo.properties", "ccs-jdo.properties");
JDOEnhancer.main(new String[]{"-te", "true", root +
"/peacetech/gao/ccs/jdo/package.jdo"});
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]...
Alex-
This seems to be a problem that happens under some classloader
circumstances.
Do you have a special <classloader> element for your <enhance> target?
If so, does it still occur if you remove it (conversely, does it still
happen if you add in a <classloader> element?
In article <[email protected]>, Alex Roytman wrote:
For some reason enhancer blows on class with
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
private static final Log LOG =
LogFactory.getLog(GaoParticipant.class);
>>>>
With following exception:
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at serp.util.MultiClassLoader.findClass(MultiClassLoader.java:224)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:213
at
com.solarmetric.meta.CFMetaDataParser.classForName(CFMetaDataParser.java:188
atkodo.meta.JDOMetaDataParser.startCollection(JDOMetaDataParser.java:321)
at
kodo.meta.JDOMetaDataParser.startClassElement(JDOMetaDataParser.java:194)
at
com.solarmetric.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:69)
at
com.solarmetric.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:3
54)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(UnknownSource)
atorg.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(UnknownSource)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
atcom.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:309)
atcom.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:254)
atcom.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:234)
at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
yImpl.java:175)
at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.ja
va:129)
at kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)
at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2175)
at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2116)
at kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:2088)
at peacetech.gao.ccs.tools.Enhance.main(Enhance.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Class
org.apache.commons.logging.impl.Log4JLogger does not implement Log
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
va:532)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
va:272)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
va:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
atpeacetech.gao.ccs.jdo.GaoParticipant.<clinit>(GaoParticipant.java:14)
... 35 more
Caused by: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Class
org.apache.commons.logging.impl.Log4JLogger does not implement Log
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
mpl.java:416)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
va:525)
... 39 more
Caused by: org.apache.commons.logging.LogConfigurationException:Class
org.apache.commons.logging.impl.Log4JLogger does not implement Log
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryI
mpl.java:412)
... 40 more
Exception in thread "main" Process terminated with exit code 1
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Hi,
We are using Kodo and the mind electric's GLUE 4.1
We are running into a problem with any Kodo-enhanced object with the Date
field. GLUE requires object to have no-argument constructor for SOAP
serialization. And unfortunately Kodoo's
com.solarmetric.kodo.util.ProxyDate object has a protected ProxyDate()
contructor. So GLUE would throws this error while trying to send a
Kodo-enhanced class:
electric.util.WrappedException: java.rmi.UnmarshalException:
java.io.IOException: no argument constructor is missing.
java.lang.IllegalAccessException: Class
electric.xml.io.complex.factories.DefaultFactory can not access a member
of class com.solarmetric.kodo.util.ProxyDate with modifiers ""
at electric.proxy.handler.Proxy.getCompatibleException(Unknown Source)
at electric.proxy.handler.Proxy.invoke(Unknown Source)
at electric.util.proxy.proxy3.InvocationAdaptor.invoke(Unknown Source)
at $Proxy0.getActivityLogs(Unknown Source)
at com.bitfone.datastore.doQuery(ActivityLog.java:95)
So for all of my Kodo-enhanced objects with a Date field, my current
workaround is to manually iterate through the Collection returned from
Query and construct a new "transport" object with regular java.util.Date
instead of Kodo's ProxyDate.
Any help would be greatly appreciated,
JohnYou can extend SimpleProxyManager to do just that and override getDateCopy
and getDateProxy to return a ProxyDate subclass that has a public no-args
constructor:
e.g.
MyDateProxy extends ProxyDate
public MyDateProxy () { super (System.currentTimeMillis ()); }
http://solarmetric.com/Software/Documentation/2.5.2/docs/ref_guide_conf_kodo.html#com.solarmetric.kodo.ProxyManagerClass
On Sat, 05 Jul 2003 01:21:14 +0000, John Dinh wrote:
Hi,
We are using Kodo and the mind electric's GLUE 4.1
We are running into a problem with any Kodo-enhanced object with the Date
field. GLUE requires object to have no-argument constructor for SOAP
serialization. And unfortunately Kodoo's
com.solarmetric.kodo.util.ProxyDate object has a protected ProxyDate()
contructor. So GLUE would throws this error while trying to send a
Kodo-enhanced class:
electric.util.WrappedException: java.rmi.UnmarshalException:
java.io.IOException: no argument constructor is missing.
java.lang.IllegalAccessException: Class
electric.xml.io.complex.factories.DefaultFactory can not access a member
of class com.solarmetric.kodo.util.ProxyDate with modifiers ""
at electric.proxy.handler.Proxy.getCompatibleException(Unknown Source) at
electric.proxy.handler.Proxy.invoke(Unknown Source) at
electric.util.proxy.proxy3.InvocationAdaptor.invoke(Unknown Source) at
$Proxy0.getActivityLogs(Unknown Source) at
com.bitfone.datastore.doQuery(ActivityLog.java:95)
So for all of my Kodo-enhanced objects with a Date field, my current
workaround is to manually iterate through the Collection returned from
Query and construct a new "transport" object with regular java.util.Date
instead of Kodo's ProxyDate.
Any help would be greatly appreciated,
John--
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Solaris Kodo 4.0.0 can't find license.bea
Hi,
Running kodo enhancer as ant task on Solaris gives:
LicenseException: No product license key was found
My classpath includes all the Kodo jars and the directory where the license.bea and kodo.properties files are located
An identical setup on Windows with the same license.bea works fine.
Any suggestions?
Thanks,
Greg.An update on the problem:
The problem is with the JRE required by the new license code. It won't work for Java 1.4, requires Java 1.5
When the new license code fails it goes looking for an old license key in the kodo.properties file - if it doesn't find a valid key, it throws a license exception.
I've asked tech-support to arrange for an evaluation license key - otherwise all our code will have to be upgraded to JRE5... or we could just go with JPOX...
Greg. -
Verifier / Enhancer Exception
I keep getting the follwoing exception and have narrowed it down to one
class of mine:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.TreeMap$EntryIterator.nextEntry(TreeMap.java:1022)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1047)
at
com.solarmetric.kodo.meta.ClassMetaData.finish(ClassMetaData.java:276
at
com.solarmetric.kodo.meta.ClassMetaData.newInstance(ClassMetaData.jav
a:207)
at
com.solarmetric.kodo.meta.ClassMetaData.getInstance(ClassMetaData.jav
a:145)
at
com.solarmetric.kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:204)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:147
at
com.solarmetric.kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:108)
It appears to be a problem with a field defined as :
private Set field1;
in the java and...
<field name="fields">
<collection element-type="SomePersistenceCapableClass">
</collection>
</field>
in the .jdo metedata file.
If I mark the field as persistence-modifier="none" then the problem goes
away. I am evaluating version 2.3.4.
Any ideas?
Thanks, Matty.I thought you'd ask for that :-).
Attached is an example. It may seem a bit complex, but I can't simplify it
much further without the problem going away.
I compile the classes;
javac *.java
and then enhance class CE using jdoc
jdoc -licenseKey xxx CE.class
and it gives me the exception...
Exception in thread "main" java.lang.IllegalArgumentException: The specified
cla
ss "-licenseKey" could not be loaded.
java.lang.ClassNotFoundException: -licens
eKey
at
com.solarmetric.modules.tools.compiler.ClassArgParser.parseClasses(Cl
assArgParser.java:78)
at
com.solarmetric.kodo.impl.jdbc.ormapping.MetaDataVerifier.main(MetaDa
taVerifier.java:55)
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.TreeMap$EntryIterator.nextEntry(TreeMap.java:1022)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1047)
at
com.solarmetric.kodo.meta.ClassMetaData.finish(ClassMetaData.java:276
at
com.solarmetric.kodo.meta.ClassMetaData.newInstance(ClassMetaData.jav
a:207)
at
com.solarmetric.kodo.meta.ClassMetaData.getInstance(ClassMetaData.jav
a:145)
at
com.solarmetric.kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:204)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:147
at
com.solarmetric.kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:108)
(I ignore the first one of course.)
If I comment out the 'types' field in the CE class and comment out the
relevant metadata in the .jdo file it goes through cleanly. This makes one
think its some wierd problem due to the "none" on that persistence-modifier.
But, if you remove some of the dependencies elsewhere the problem goes away
too.
For example, if you put back the 'types' field but in class M comment out
the field 'k' in the java and metadata the problem goes away again.
We can reproduce the problem on windows XP and at least one linux machine,
but it works on another linux machine, so I'll give you some versions from
my machine just in case...
kodo - 2.3.4
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
Windows XP Home Edition 2002 Version Service Pack 1
Let me know if you need anything else.
Obviously, we have found a workaround and so can proceed with the
evaluation, but we don;t know if we might hit it again and have more work to
do to get around it.
Thanks,
Matty.
"Abe White" <[email protected]> wrote in message
news:[email protected]...
Can you post the full .jdo file? Better yet, if you could give us astandalone
program that causes the error, that would be great. As it is, though,it's
not something obvious in the code, and we haven't seen the errorinternally,
or had reports of it from other people. It's hard to debug what you can't
reproduce!begin 666 test.zip
M4$L#!!0````(`-@L="V=E2<SS0$``.$%```'````:F1O+F1T9)U3T6Z;,!1]
MG[1_\-*'P%9/V]L>VD51RZ1(Z;1V] -N[)O4K;%=8Z(B\?&S@9&00M+M"6'.
M.??XG,O%["639(LV%UI=3KY^_C(AJ)CF0FTN)_?I#_IM,OO^_MW%AV29W"0_
M4_+(-8DB`^P)-AA_.B<1OCA4@1]_C'O0%N3A3$*>#X/G:;I<_-Z!%61(KJ[G
MZ9R<W26W]XN[Y+JG6FN1:"U0\FI/KJ?6@$:U^C#!43GA2NI*X]V",5(P<%ZU
MXN @=]IBI;3BA865Q)B<+6Y^+1>#6GKUB,P)3IO7=O@XWN)S(2SFM+Z)(Y&S
M!59KD+F?,PTOTP&6"87EGL"0,C#!%<T+?SHZ]6]Z=6RA$2UE,.KOF(&IP%HH
MX]E!0;/>Z(9Z,M,&MN\P\^OD3RV)NE-7.0LJA]H!R)#N6*ZMGA49V)(^87F0
M4?V<#CDMI*1;D 6&6S$T3:.XAD*Z=N(T/(;(+8RNT;$'NK&Z,/VY1[QBMD+.
MD1\A=,O<U=!+OE_Y#H,2,Q]>LZC'=FN/TIJA+?<-IOQ"C+L)'WT))RT$7#?[
M56NCE+JO?Q-O*SYYK7K'QR_6?/Z/N#K!<>T=9(N*:TM/_D4[1LCN2!1[TG4.
M!] _4$L#!!0````(`!Q5=2WP1$QT>P```,H````'````0T4N:F%V8<O,+<@O
M*E'(2BQ+U"LMR<S1"TXML>;E`L&"TJ2<S&2%Y)S$XF(%9U<%7BX%*$BM*$G-
M2RE6\/9'$JP&Z0$Q"HHRRQ)+4A4R\TJB8Q5**@M2BZW1Y8"V*!3G@L3115-R
MD51#7.#LJJ$),AYF4W%I06J1AB94<RU(-9 ``%!+`P04````" `#5'4MWF_&
MT7P```"^````" ```$1#12YJ879AR\PMR"\J4<A*+$O4*RW)S-%SSL_)24TN
MR<S/L^;ERD27]4@LS@A.+0%*\7(5E";E9"8K).<D%A<KN#B[*O!R*4!!:D5)
M:EY*L0)"L!JD`\0H*,HL2RQ)54#8HY"=7VP-EX88"C1.0Q.D"69B<6E!:I&&
MIC5$I!:D'$@``%!+`P04````" `#5'4M&2-K/*L````#`0``!@```$LN:F%V
M845.,0[", S<*^4/'ML.[0,Z`@L=^H8TM2 H38+C("K$WTE($2?9\EF^\^G5
M.V*XR8?L(FO3'9PQJ%@[.XA*5'W;B@J^U8O*Q]EH!<K($&!,RP1\,MHET:GP
M5Y;EP9/CY(0+_#U!81A^!\4[HX73ZGD#Y6Q@BHH=`>$]:DKJ>8/S<0)I%W!\
M10*/%'1(7Q4"VHNV&+J?4;__D''NLEY8$>(25HW0]F\<X[4/E!`P04````
M" `#5'4M(.Y3-SL```!)````!P```$M/+FIA=F$K*$W*R4Q62,Y)+"Y6\/97
MJ.;EXN52`(*"HOR2U.22U!2@J(:F0K4"1!@$BDL+4HLT-*VA0K6\7$ $`%!+
M`P04````" `#5'4MU6P($TX```!Z````!@```$TN:F%V82LH3<K)3%9(SDDL
M+E;P5>#E4H""U(J2U+R48@5O?R1!A6I>+@BOH"B_)#6Y)#5%P5LAVQHN"C'-
M5T,3I!*FJ;BT(+5(0],:(E(+4@PD`%!+`P04````" `@574M;"5U<>\```!,
M`@``!@```$-%+FID;[52/6\",0R=B]3_8+R'P'Y7!GH30E2"A3%-W.K:?)PN
MH8)_CR]-"Z456STY?L_V2UZJ^<%9^* ^ML'7.)M,<?YP/ZK&C^O%=O?4P)L)
ML-EMMLT*D/.)20:9P!0^<0(<5:?TNWHE\,I1C5C*&=)6Q5B 18-GI$0WK(Z)
MO":A5:>>+8FXYVINK'&YOAR71[ZT9$T9&5V\QC-'!VM))[X4D"5'/HET[+AA
M]2==GOG7VV1>=TN#^:WA[M\%C(6 86"$-H+>]SUOL$?P(7T_J0$A;NG.[?C#
M`1=,RY2^1A\\H;QT4F9'OBR7Q?/AL\C/KW "4$L#!!0````(`*M4=2VV5L[K
MN@```%<!```'````1$-%+FID;VU0RPZ",!"\F_@/M7>HWGD<A),QF,"%8VU7
M@Y1";#7Z]RZU!B7N:;LSL]/9*'UTBMSA:II>QW03KFF:+!?1*BNV57W(R47V
MI*S+*M\3BGTHK:1(0 J^L"%8T<!%R\] -.\@IM2/'204-\8#V3:G$^1K&+V-
M!2T@$'S@1P6!N>'4*6.*FN17%)T:4-+O;'LSQQU']$J!L)B*@((.M WL<T#!
MKOC+9Y-@;L><WW<HYO[V2<]\_/%N['V5%U!+`P04````" "M5'4M:<H[,[H`
M``!6`0``!0```$LN:F1O;5"Q#H(P$)TU\1]J=ZCN( ,P&8,)+(RU/0U:"K'5
MZ-][U*J$V*77>_?>Z[LH>;2*W.%JFD['=!VN:+)9S*-E5J15O<_)67:DK,LJ
MWQ&*=2BMI#B (_C"@N")>BXN_ 1$\Q9B2GW;04)Q8SRPI5]@YN]^<#86M(!
M\)X?% 3FAEW'0THQ5G.*QP:4](H"S!1W,Z)3"H3%3 04M*!M8)\]$K(T_TM@
M/\;4CSG#<2;F/O<)SWSZ86WLO9074$L#!!0````(`+!4=2V+JI+X;0```)\`
M```&````2T\N:F1OL[&OR,U1*$LM*L[,S[-5,M0S4+*WX^6R473Q=PZ)#'!5
MR$K)5PB.# YQ]550`K+U4DI2E( *@$J /"!#`0AL"A*3LQ/34Q7R$G-3;964
MH,)@J>2<Q.)BJ(2W/T0K7%(?+ LS11]J#,A^?8CI`%!+`P04````" "R5'4M
M9BP_H)T````$`0``!0```$TN:F1OL[&OR,U1*$LM*L[,S[-5,M0S4+*WX^6R
M473Q=PZ)#'!5R$K)5PB.# YQ]550`K+U4DI2E( *@$J /"!#`0AL"A*3LQ/3
M4Q7R$G-3;964H,)@J>2<Q.)BJ(2O$D(""@I -A>7I.8EI^HF)Q8D)N6DZA:7
M`D7!^FR5O/V130.;F):9FI,"-3$;0U8?+(WL`GVP43"GZD/="O*D/L0+`%!+
M`P04````" `Z7W0MH I?#XH"```'!@``#P```&MO9&\N<')O<&5R=&EE<Y54
MVV[;, Q]+]!_(-"7#6B<BS%D*."7)BBV7K,T:Y\9B;;5RI(GR4G3KQ_E!$VW
M)NV&`'9@4N?PD(<Z@@LK+9R/;V#B;$TN*/(@K,E5T3@,RIK#@\.#(YA9H 7J
M!@.!=5 W3I3H"1"T$F3XWR.MCF&AO I0AE"?=+O+Y3+Q5J.K*#@E$F&KPP-^
M_/'QD?F3RS7&!:VR=#"@-$T[F/;S02HZDG XEX,.Y<.\EPZYEMT(MBC(9<8:
MVL-!E%RAP8+DM#%!5;05G,T<&H\BREWGN&NL*'O !9YTWP9C0PJU( @E@51M
M"-T*A$;O]]"KJM;)@YR+9/QR8!3SLP_2O2BIPB32)!/K0^'(;R'^@^V5WJAN
MYAHCV@G?D?/\ROIQU%'S$Q^UR21^]H&,H(WN,^Z"_<>RS\>GH[T(KVEL'6M(
M1M88:DL=.V[M>@#6%4F]T?Q+)^O(NX=_^LW1.;OSW<P)BUA:)[/W\::76=1S
MLBV#G=T?#),>__K=2"/G.R!N^%6Q>"6RX)I=I4PIH#)WO%0\D1SUSGJGY+EA
M]$'6M35AZU+44T*YC_;OW'NG`NU%_EX8IA\AFW ?X)6_1Q6R+[U>;T=T3#DV
M.IQ1$.6LY :65LLL_2CU%/EQJYXIZ_>B+>/*C4HTA3)%7#N^<(+EVX<7OO-,
MSD*\G B62FN0#BLVMD"M5Z",<-1ZX0C8_KEU%;(?CV'>A'6ZP(;1E.E45+$W
M06+ .%8/OA$EH(=O*S[IK5$BHMS^N(S<AMB+0$]\WRU+,K"RC8.*)_KI,_!*
ME%:V07\<$>)%45NK248$\6(OS[QM\"W]Z^*0OW(TIK(8R?01QE&D`]YCPUU)
M=HU&F0FSQLU^&\.G-O:5^_L;4$L!`A0+% ````@`V"QT+9V5)S/-`0``X04`
M``<``````````0`@`````````&ID;RYD=&102P$"% L4````" `<574M\$1,
M='L```#*````!P`````````!`" ```#R`0``0T4N:F%V85!+`0(4"Q0````(
M``-4=2W>;\;1? ```+X````(``````````$`( ```)("``!$0T4N:F%V85!+
M`0(4"Q0````(``-4=2T9(VL\JP````,!```&``````````$`( ```#0#``!+
M+FIA=F%02P$"% L4````" `#5'4M(.Y3-SL```!)````!P`````````!`" `
M```#! ``2T\N:F%V85!+`0(4"Q0````(``-4=2W5; @33@```'H````&````
M``````$`( ```&,$``!-+FIA=F%02P$"% L4````" `@574M;"5U<>\```!,
M`@``!@`````````!`" ```#5! ``0T4N:F1O4$L!`A0+% ````@`JU1U+;96
MSNNZ````5P$```<``````````0`@````Z 4``$1#12YJ9&]02P$"% L4````
M" "M5'4M:<H[,[H```!6`0``!0`````````!`" ```#'!@``2RYJ9&]02P$"
M% L4````" "P5'4MBZJ2^&T```"?````!@`````````!`" ```"D!P``2T\N
M:F1O4$L!`A0+% ````@`LE1U+68L/Z"=````! $```4``````````0`@````
M-0@``$TN:F1O4$L!`A0+% ````@`.E]T+: *7P^*`@``!P8```\`````````
M`0`@````]0@``&MO9&\N<')O<&5R=&EE<U!+!08`````# `,`'T"``"L"P``
"````
`
end -
I get the following error when I try to enhance this xml file. It is a bit
weird since the first two classes are OK, after that they don't work. Can
someone explain? I also have problems with the ApplicationIDTool.
Obviously the class has been compiled, it seems to work intermittently.
-----------tool--------------
Exception in thread "main"
com.solarmetric.kodo.tools.appid.ObjectIDException: The specified class
package.jdo
could not be loaded. Ensure that the class has been compiled before
running this tool.
at
com.solarmetric.kodo.tools.appid.ApplicationIDTool.main(ApplicationIDTool.java:440)
Exception in thread "main" java.lang.IllegalArgumentException: The
specified class "com.vwfs.CustomerTrackingType" could not be loaded. null
at
com.solarmetric.modules.tools.compiler.ClassArgParser.parseClasses(ClassArgParser.java:9
0)
at
com.solarmetric.kodo.impl.jdbc.ormapping.MetaDataVerifier.main(MetaDataVerifier.java:56)
Exception in thread "main" java.lang.IllegalArgumentException: The
specified class "com.vwfs.CustomerTrackingType" could not be loaded. null
at
com.solarmetric.modules.tools.compiler.ClassArgParser.parseClasses(ClassArgParser.java:9
0)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:152)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:130)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:122)
at
com.solarmetric.kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:86)
<?xml version="1.0" ?>
<jdo>
<package name="com.vwfs">
<class name="Recording" identity-type="application"
objectid-class="RecordingKey">
<extension vendor-name="kodo" key="table" value="recordings" />
<extension vendor-name="kodo" key="lock-column" value="none" />
<extension vendor-name="kodo" key="class-column" value="none" />
<field name="iRecordingID" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="recording_id" />
</field>
<field name="iVersion">
<extension vendor-name="kodo" key="data-column" value="version" />
</field>
<field name="dListPrice">
<extension vendor-name="kodo" key="data-column" value="list_price" />
</field>
<field name="sCatalogNumber">
<extension vendor-name="kodo" key="data-column" value="catalog_number"
/>
</field>
<field name="sRecordingArtist">
<extension vendor-name="kodo" key="data-column"
value="recording_artist" />
</field>
<field name="sRecordingTitle">
<extension vendor-name="kodo" key="data-column"
value="recording_title" />
</field>
<field name="theCustomerTrackedRecordings">
<collection element-type="CustomerTrackedRecording"/>
<extension vendor-name="kodo" key="inverse" value="Recording" />
</field>
</class>
<class name="CustomerTrackedRecording" identity-type="application"
objectid-class="CustomerTrackedRecordingKey">
<extension vendor-name="kodo" key="table"
value="customer_tracked_recordings" />
<extension vendor-name="kodo" key="lock-column" value="none" />
<extension vendor-name="kodo" key="class-column" value="none" />
<field name="iCustomerID" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="customer_id" />
</field>
<field name="iRecordingID" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="recording_id" />
</field>
<field name="iTrackingTypeID" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="tracking_type_id" />
</field>
<field name="iVersion">
<extension vendor-name="kodo" key="data-column" value="version" />
</field>
<field name="iDateTracked">
<extension vendor-name="kodo" key="data-column" value="date_tracked" />
</field>
<field name="theCustomer">
<extension vendor-name="kodo" key="inverse" value="Customer" />
</field>
<field name="theRecording">
<extension vendor-name="kodo" key="inverse" value="Recording" />
</field>
<field name="theTrackingType">
<extension vendor-name="kodo" key="inverse"
value="CustomerTrackingType" />
</field>
</class>
<class name="CustomerTrackingType" identity-type="application"
objectid-class="CustomerTrackingTypeKey">
<extension vendor-name="kodo" key="table"
value="customer_tracking_types" />
<extension vendor-name="kodo" key="lock-column" value="none" />
<extension vendor-name="kodo" key="class-column" value="none" />
<field name="iTrackingTypeID" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="tracking_type_id" />
</field>
<field name="sDescription" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="description" />
</field>
</class>
</package>
</jdo>I've got things to enhance now, by removing a few lines like this one:
public static final CustomerTrackingType CUSTOMER_PURCHASE
= CustomerTrackingType.getByID(CUSTOMER_PURCHASE_ID);
Now, I'm hoping someone will be able to explain why removing these lines
fixes it?
Thanks
Andrew wrote:
I get the following error when I try to enhance this xml file. It is a bit
weird since the first two classes are OK, after that they don't work. Can
someone explain? I also have problems with the ApplicationIDTool.
Obviously the class has been compiled, it seems to work intermittently.
-----------tool--------------
Exception in thread "main"
com.solarmetric.kodo.tools.appid.ObjectIDException: The specified class
package.jdo
could not be loaded. Ensure that the class has been compiled before
running this tool.
at
com.solarmetric.kodo.tools.appid.ApplicationIDTool.main(ApplicationIDTool.java:440)
Exception in thread "main" java.lang.IllegalArgumentException: The
specified class "com.vwfs.CustomerTrackingType" could not be loaded. null
at
com.solarmetric.modules.tools.compiler.ClassArgParser.parseClasses(ClassArgParser.java:9
0)
at
com.solarmetric.kodo.impl.jdbc.ormapping.MetaDataVerifier.main(MetaDataVerifier.java:56)
Exception in thread "main" java.lang.IllegalArgumentException: The
specified class "com.vwfs.CustomerTrackingType" could not be loaded. null
at
com.solarmetric.modules.tools.compiler.ClassArgParser.parseClasses(ClassArgParser.java:9
0)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:152)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:130)
at
com.solarmetric.kodo.enhance.JDOEnhancer.enhance(JDOEnhancer.java:122)
at
com.solarmetric.kodo.enhance.JDOEnhancer.main(JDOEnhancer.java:86)
<?xml version="1.0" ?>
<jdo>
<package name="com.vwfs">
<class name="Recording" identity-type="application"
objectid-class="RecordingKey">
<extension vendor-name="kodo" key="table" value="recordings" />
<extension vendor-name="kodo" key="lock-column" value="none" />
<extension vendor-name="kodo" key="class-column" value="none" />
<field name="iRecordingID" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="recording_id" />
</field>
<field name="iVersion">
<extension vendor-name="kodo" key="data-column" value="version" />
</field>
<field name="dListPrice">
<extension vendor-name="kodo" key="data-column" value="list_price" />
</field>
<field name="sCatalogNumber">
<extension vendor-name="kodo" key="data-column" value="catalog_number"
/>
</field>
<field name="sRecordingArtist">
<extension vendor-name="kodo" key="data-column"
value="recording_artist" />
</field>
<field name="sRecordingTitle">
<extension vendor-name="kodo" key="data-column"
value="recording_title" />
</field>
<field name="theCustomerTrackedRecordings">
<collection element-type="CustomerTrackedRecording"/>
<extension vendor-name="kodo" key="inverse" value="Recording" />
</field>
</class>
<class name="CustomerTrackedRecording" identity-type="application"
objectid-class="CustomerTrackedRecordingKey">
<extension vendor-name="kodo" key="table"
value="customer_tracked_recordings" />
<extension vendor-name="kodo" key="lock-column" value="none" />
<extension vendor-name="kodo" key="class-column" value="none" />
<field name="iCustomerID" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="customer_id" />
</field>
<field name="iRecordingID" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="recording_id" />
</field>
<field name="iTrackingTypeID" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="tracking_type_id" />
</field>
<field name="iVersion">
<extension vendor-name="kodo" key="data-column" value="version" />
</field>
<field name="iDateTracked">
<extension vendor-name="kodo" key="data-column" value="date_tracked" />
</field>
<field name="theCustomer">
<extension vendor-name="kodo" key="inverse" value="Customer" />
</field>
<field name="theRecording">
<extension vendor-name="kodo" key="inverse" value="Recording" />
</field>
<field name="theTrackingType">
<extension vendor-name="kodo" key="inverse"
value="CustomerTrackingType" />
</field>
</class>
<class name="CustomerTrackingType" identity-type="application"
objectid-class="CustomerTrackingTypeKey">
<extension vendor-name="kodo" key="table"
value="customer_tracking_types" />
<extension vendor-name="kodo" key="lock-column" value="none" />
<extension vendor-name="kodo" key="class-column" value="none" />
<field name="iTrackingTypeID" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="tracking_type_id" />
</field>
<field name="sDescription" primary-key="true">
<extension vendor-name="kodo" key="data-column" value="description" />
</field>
</class>
</package>
</jdo> -
Enhancer fails in Eclipse, ClassCastException
I have followed the Eclipse / WebSphere Studio Integration instructions
(in Developer's Guide).
When I select the package.jdo file for enhancement, the enhancer fails and
Eclipse logs the following:
!ENTRY kodo 4 0 2005-04-10 22:30:06.968
!MESSAGE The Enhancer failed. The message included was:
{0}
!STACK 0
java.lang.ClassCastException
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at serp.xml.XMLFactory.checkSAXCache(XMLFactory.java:217)
at serp.xml.XMLFactory.getSAXParser(XMLFactory.java:66)
at
com.solarmetric.meta.XMLMetaDataParser.parseNew(XMLMetaDataParser.java:359)
at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:325)
at
com.solarmetric.meta.ClassArgParser.getFromMetaData(ClassArgParser.java:182)
at
com.solarmetric.meta.ClassArgParser.parseClassNames(ClassArgParser.java:98)
at
com.solarmetric.meta.ClassArgParser.parseClasses(ClassArgParser.java:74)
at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2657)
at
kodo.jdbc.integration.eclipse.EnhancerAction.handleFiles(EnhancerAction.java:27)
at
kodo.jdbc.integration.eclipse.AbstractMetadataAction.run(AbstractMetadataAction.java:63)
at
org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:244)
at
org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:220)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:557)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:507)
at
org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:421)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2908)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2541)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1612)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1578)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:293)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:228)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:333)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268)
at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
at org.eclipse.core.launcher.Main.run(Main.java:887)
at org.eclipse.core.launcher.Main.main(Main.java:871)
I use Eclipse 3.1.0 and Kodo JDO 3.3.1.
Can anyone explain to me why this occurs?
Best regards
JarlThank you, now everything works as expected.
(A also removed references to these files in relevant plugin.xml file.)
Can you tell me why it was neccessary to remove these files?
Stephen Kim wrote:
You may want to try removing xalan.jar, xml-apis.jar, and xercesImpl.jar
from Kodo Eclipse plugin directory.
Circula wrote:
I have followed the Eclipse / WebSphere Studio Integration instructions
(in Developer's Guide).
When I select the package.jdo file for enhancement, the enhancer fails and
Eclipse logs the following:
!ENTRY kodo 4 0 2005-04-10 22:30:06.968
!MESSAGE The Enhancer failed. The message included was:
!STACK 0
java.lang.ClassCastException
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at serp.xml.XMLFactory.checkSAXCache(XMLFactory.java:217)
at serp.xml.XMLFactory.getSAXParser(XMLFactory.java:66)
at
com.solarmetric.meta.XMLMetaDataParser.parseNew(XMLMetaDataParser.java:359)
at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:325)
at
com.solarmetric.meta.ClassArgParser.getFromMetaData(ClassArgParser.java:182)
at
com.solarmetric.meta.ClassArgParser.parseClassNames(ClassArgParser.java:98)
at
com.solarmetric.meta.ClassArgParser.parseClasses(ClassArgParser.java:74)
at kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2657)
at
kodo.jdbc.integration.eclipse.EnhancerAction.handleFiles(EnhancerAction.java:27)
at
kodo.jdbc.integration.eclipse.AbstractMetadataAction.run(AbstractMetadataAction.java:63)
at
org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:244)
at
org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:220)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:557)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:507)
at
org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:421)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2908)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2541)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1612)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1578)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:293)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:228)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:333)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268)
at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
at org.eclipse.core.launcher.Main.run(Main.java:887)
at org.eclipse.core.launcher.Main.main(Main.java:871)
I use Eclipse 3.1.0 and Kodo JDO 3.3.1.
Can anyone explain to me why this occurs?
Best regards
Jarl
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Kodo 4.0.0EA3 JDOHelper.is...() state functions
I'm trying to write unit tests for some of my higher level classes, and I've run into trouble trying
to test functions that delete persistent objects. I'm using Spring Framework's
AbstractTransactionalSpringContextTests class as my harness (which derives from JUnit's TestCase).
It sets up a transaction before each test function and rolls the transaction back (by default, this
is editable) after each test function. Because of this, I decided to base the test on the results of
JDOHelper.isDelete( objectThatWasDeleted ). My tests fail though, and all of the JDOHelper.is...()
functions return false at all points during the test. I know things are getting deleted though,
because before the Spring created transaction is started, I create my own transaction and persist
some objects, and after the Spring transaction is finished (and the test case), I create another
transaction to remove them (both my transactions are committed). Even in the tear down function,
JDOHelper.is...() functions don't seem to work; for example, isDeleted() returns false even though
the object has been scheduled for deletion and is in fact deleted when the transaction commits.
Is this a known bug? I was under the impression that JDOHelper functions were working as of EA2 (I
know they weren't working before that and we had to use KodoHelper).
Thanks,
Mark
Here's the code in question:
* This function is called after the test and the transaction it ran in have been completed.
* By default, the transaction is rolled back, but this can be overridden. This function
* should ensure the tests have been cleaned up, including anything that was created by the
* companion function onSetUpBeforeTransaction().
* @see onSetUpBeforeTransaction()
protected void onTearDownAfterTransaction()
if( transactionManager != null )
getLogger().info( "Starting transaction for post-test tear down." );
TransactionStatus status =
transactionManager.getTransaction( new DefaultTransactionDefinition() );
if( status != null )
getLogger().info( "Transaction for post-test tear down has been created." );
UserManager userManager = (UserManager) applicationContext.getBean( "userManager" );
User userToAlter = userManager.getUser( USER_TO_ALTER_USERNAME );
userManager.removeUser( userToAlter );
getLogger().debug(
"userToAlter (Kodo) - isDirty = " + KodoJDOHelper.isDirty( userToAlter )
+ ", isNew = " + KodoJDOHelper.isNew( userToAlter )
+ ", isPersistent = " + KodoJDOHelper.isPersistent( userToAlter )
+ ", isDeleted = " + KodoJDOHelper.isDeleted( userToAlter ) );
getLogger().debug( "userToAlter - isDirty = " + JDOHelper.isDirty( userToAlter )
+ ", isNew = " + JDOHelper.isNew( userToAlter )
+ ", isPersistent = " + JDOHelper.isPersistent( userToAlter )
+ ", isDeleted = " + JDOHelper.isDeleted( userToAlter ) );
try
transactionManager.commit( status );
finally
status = null;
else
getLogger().info( "Could not create transaction for post-test tear down."
+ " Superclass' transactionManager is null." );
And here's the log output (I've put blank lines around the relevant output):
2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Rolled back transaction after test execution>
2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Starting transaction for post-test tear down.>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@82d44b]>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Creating new
transaction with name [null]>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Opened new
PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Exposing JDO
transaction as JDBC transaction
[org.springframework.orm.jdo.DefaultJdoDialect$DataStoreConnectionHandle@285701]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] to thread
[main]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] to thread [main]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Initializing
transaction synchronization>
2005-11-10 12:50:17,671 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Transaction for post-test tear down has been created.>
2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- <Returning cached instance of singleton bean 'userManager'>
2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- <Bean with name 'userManager' is a factory bean>
2005-11-10 12:50:17,671 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Getting transaction for edu.ucsc.whisper.core.UserManager.getUser>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
thread [main]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@87f48e]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
in existing transaction>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,672 DEBUG [kodo.Query] - <executing query: [SELECT UNIQUE FROM
edu.ucsc.whisper.core.DefaultUser WHERE username==searchName
PARAMETERS java.lang.String searchName] with parameters: {searchName=userToAlter}>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=8,
max=50, requests=12, hits=4, created=8, redundant=0, overflow=0, leaked=0>
2005-11-10 12:50:17,677 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
1168959 SELECT t0.userId, t0.VERSN, t0.enabled, t0.password, t1.userInfoId, t1.VERSN, t1.aboutText,
t1.familyName, t1.firstName, t1.gender, t1.namePrefix, t1.nameSuffix, t1.otherNames, t2.userId,
t2.VERSN, t2.enabled, t2.password, t2.USERINFO, t2.username, t0.username FROM whisper_user t0 LEFT
OUTER JOIN userinfo t1 ON t0.USERINFO = t1.userInfoId LEFT OUTER JOIN whisper_user t2 ON
t1.userInfoId = t2.USERINFO WHERE (t0.username = ?) [params=(String) userToAlter] [reused=1]>
2005-11-10 12:50:17,690 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
4297359 SELECT t0.previousName, t0.nameOrder FROM userInfo_PreviousNames t0 WHERE t0.userInfoId = ?
ORDER BY t0.nameOrder ASC [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,693 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
16585718 SELECT t1.authorityId, t1.VERSN, t1.authority FROM user_authorities t0 INNER JOIN
authorities t1 ON t0.authorityId = t1.authorityId WHERE t0.userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,697 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
11277980 SELECT t0.organizationId, t0.VERSN, t0.city, t0.country, t0.isPrimary, t0.orgName,
t0.positionTitle, t0.postalCode, t0.state, t0.streetAddress1, t0.streetAddress2, t0.streetAddress3,
t0.userId FROM organization t0 WHERE t0.userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [0 ms] close>
2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.getUser>
2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Getting transaction for edu.ucsc.whisper.core.UserManager.removeUser>
2005-11-10 12:50:17,698 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,698 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
thread [main]>
2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@ba0b12]>
2005-11-10 12:50:17,699 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
in existing transaction>
2005-11-10 12:50:17,700 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,702 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,702 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.removeUser>
2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<userToAlter (Kodo) - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<userToAlter - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
beforeCommit synchronization>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
beforeCompletion synchronization>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Initiating
transaction commit>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Committing JDO
transaction on PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d]>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=11,
max=50, requests=16, hits=5, created=11, redundant=0, overflow=0, leaked=0>
2005-11-10 12:50:17,705 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
1104991 DELETE FROM userInfo_PreviousNames WHERE userInfoId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,706 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
15986263 DELETE FROM user_authorities WHERE authorityId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,708 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
10794796 DELETE FROM user_authorities WHERE userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,710 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
16100636 DELETE FROM authorities WHERE authorityId = ? AND VERSN = ? [params=(long) 1, (int) 1]
[reused=0]>
2005-11-10 12:50:17,711 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
3677634 DELETE FROM userinfo WHERE userInfoId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
2005-11-10 12:50:17,713 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
2745891 DELETE FROM whisper_user WHERE userId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
2005-11-10 12:50:17,828 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [115 ms] commit>
2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [1 ms] close>
2005-11-10 12:50:17,830 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
afterCompletion synchronization>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Clearing transaction
synchronization>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] from thread [main]>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] from
thread [main]>
2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Closing JDO
PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] after transaction>
2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.PersistenceManagerFactoryUtils] -
<Closing JDO PersistenceManager>Abe White wrote:
You need to make sure that when you enhance, you include JDO
enhancement, not just the base Kodo enhancement. Now that Kodo 4
supports EJB 3 users who might not want JDO, it doesn't enhance-in
dependencies on JDO unless you ask it to.
If you enhance on the command line, that means using the "jdoc" command
rather than "kodoc" ("jdoc" is actually just a shortcut for "kodoc -jdo
true"). If you use the PCEnhancerTask, it means setting the jdoEnhance
attribute:
<taskdef name="kodoc" classname="kodo.ant.PCEnhancer"/>
<kodoc jdoEnhance="true">
</kodoc>So, what are the primary differences between the enhancement done for EJB3
and JDO? I gather that "base Kodo enhancement" is EJB3.
Scott
Maybe you are looking for
-
Backing up an encrypted drive with Time Machine under Snow Leopard
In a nutshell, my question is "Can I back up an encrypted drive using Time Machine under Snow Leopard, and if so, how do I access its data from a previous day?" I have a 1Tb USB drive connected to my MacBook, which runs Snow Leopard. The drive is for
-
What if EXPORT ITEMS if grayed out in keychain access?
Model Name: MacBook Pro Model Identifier: MacBookPro6,2 Processor Name: Intel Core i5 Processor Speed: 2.53 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 4 GB Processor Inter
-
Please help with an RMI problem
Hi, This is probably a really simple problem which i can't spot, but i have the folloing 'HelloWorld' RMI program: The Client Program: import java.rmi.*; public class HelloClient { public static void main(String args[]) { if(System.get
-
SapScript output spool to a POST script file
We generate billing invoice output using custom program/Sap script. Subsequently we release the invoice print out from the print spool to create a post script file from the print spool by configuring command set "G" in transaction u201CSPADu201D. Th
-
Media Core Importer Process / ImporterProcessServer.exe crash
The project that I'm working on is standard def but it is an hour and half long. Its a training DVD with 12 modules totalling 100 minutes. I have had a problem that has been getting continually worse. Today I hit the brick wall and can't seem reco