Hi Simon and Werner,
after running Simon's tests and seeing the memory results I started to
write for my own test code using JUnitPerf to load test my stuff using
multiple concurrent threads with several iterations.
Everything runs fine. The memory stays constant and also the time taken
to unmarshall/marshall an XML structure. No concurrency problems detected.
HOWEVER, the main difference to Simon's code is, that I initialize the
XMLClassdescriptorResolver using a mapping and I still use Castor 1.0.5!
After switching to Castor 1.1, all of the tests that use IDs in the
mapping do not run anymore. (stack trace at the end of my mail)
After looking at the release notes I saw that there have been changes to
the ID resolution. But I guess that's a different issue and I will
investigate this a little more.
Regards,
Leander
ValidationException: The following exception occured while validating
field: Locales of class:
de.adaptions.adgen.common.fonts.localemapping.LocaleMapping: The object
associated with IDREF
"[EMAIL PROTECTED]" of type class
de.adaptions.adgen.common.fonts.localemapping.Locale has no ID!;
- location of error: XPATH: /locales
The object associated with IDREF
"[EMAIL PROTECTED]" of type class
de.adaptions.adgen.common.fonts.localemapping.Locale has no ID!
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:270)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:931)
at org.exolab.castor.xml.Validator.validate(Validator.java:124)
at
org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:913)
at
org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1108)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:726)
at
de.adaptions.adgen.common.util.xml.LocaleMappingSerializer.deserialize(LocaleMappingSerializer.java:133)
at
de.adaptions.adgen.common.util.xml.LocaleMappingSerializerTest.testPerformance(LocaleMappingSerializerTest.java:56)
at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at com.clarkware.junitperf.TestFactory.run(TestFactory.java:83)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
at junit.extensions.TestDecorator.run(TestDecorator.java:28)
at
com.clarkware.junitperf.TimedTest.runUntilTestCompletion(TimedTest.java:154)
at com.clarkware.junitperf.TimedTest.run(TimedTest.java:138)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
at junit.extensions.TestDecorator.run(TestDecorator.java:28)
at junit.extensions.RepeatedTest.run(RepeatedTest.java:25)
at
com.clarkware.junitperf.ThreadedTest$TestRunner.run(ThreadedTest.java:75)
at java.lang.Thread.run(Unknown Source)
Caused by: ValidationException: The object associated with IDREF
"[EMAIL PROTECTED]" of type class
de.adaptions.adgen.common.fonts.localemapping.Locale has no ID!;
- location of error: XPATH: /locale
at
org.exolab.castor.xml.validators.IdRefValidator.validate(IdRefValidator.java:70)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:207)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:938)
at org.exolab.castor.xml.Validator.validate(Validator.java:124)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:318)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:248)
... 36 more
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email