[xmlc] Re: Re: Re: Issues with XMLC 2.3.2
Jacob Kjome <[email protected]> Sun, 20 Mar 2011 17:34:56 -0600
| Newsgroups | gmane.comp.java.enhydra.xmlc |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format...
------------=_1300660248-30467-15589
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Hi Sasa,
I finally made some time to look into the issues you reported. Interestingly, I'm
not able to reproduce either issue. I used Tomcat-6.0.29 standalone, as that's
the version you used (note that I did not try Enhydra).
To test issue #1, I jar'ed up the classes and markup files and made sure to rename
the resource dirs so files located there could not be found. I also renamed the
WEB-INF/xmlc directory in the demo app to ensure templates could not be loaded via
the servlet context (allowed for by the custom
ValidatingDocumentLoader.ValidatingResourceLoader class used in the xmlc tomcat
demo), thus could only be loaded via the classloader. I placed the templates jar
in WEB-INF/lib and ran tomcat. First I tried loading the Welcome.html page
(french locale, because that's what I had selected in the tomcat demo), which came
up fine. I took a look at the log to see how the file was loaded...
INFO: >>>Parsing DOM for $$XMLC_GENERATED$$.xmlc.demo.Welcome.html from source URL
jar:file:/D:/dev/XMLC_FORGE_SVN/tags/XMLC_2_3_2/xmlc/examples/tomcat/build/webapps/xmlc/WEB-INF/lib/xmlc-templates.jar!/demo/Welcome_fr.html
...so, clearly it is being loaded via the classloader... and working fine for me.
To test issue #2, I copied the following jars into ${catalina.base}/shared...
jregex.jar
nekohtml.jar
resolver.jar
xercesImpl.jar
xml-apis.jar
xmlc-all-runtime.jar
Note that the Tomcat demo has a modified
${catalina.base}/conf/catalina.properties, which places the
${catalina.base}/shared directory, as well as contained jars, in the common
loader. It looks like...
common.loader=${catalina.base}/shared,${catalina.base}/shared/*.jar,${catalina.home}/shared,${catalina.home}/shared/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
This would be no different than putting the jars in ${catalina.home}/lib, but
avoids having to muck with the contents of the stock Tomcat installation.
Anyway, I left my jar file containing the XMLC classes and templates in
WEB-INF/lib. Again I tried loading the Welcome.html page and, again, it came up
fine. I looked at the log and the INFO message was the same as above. I then
moved the templates jar file to the ${catalina.base}/shared directory and tried it
again. The page came up fine and the INFO message looked like...
INFO: >>>Parsing DOM for $$XMLC_GENERATED$$.xmlc.demo.Welcome.html from source URL
jar:file:/D:/dev/XMLC_FORGE_SVN/tags/XMLC_2_3_2/xmlc/examples/tomcat/build/shared/xmlc-templates.jar!/demo/Welcome_fr.html
I'm not sure what to tell you? It all works fine for me. Note that my
environment consists of...
Windows XP sp3
Java 1.6.0_24
Tomcat-6.0.29 (standalone run from the command line)
Note that I use XMLCContext to obtain the XMLCDeferredParsingFactory.
At this point, I can only say that it works for me. Maybe the it's platform
differences that are causing issues? What OS and version of Java do you use?
What does the original "jar:" URL look like when you run it (prior to having to
muck with it to get it to work in your environment)? And please let me know how
you obtain the XMLCDeferredParsingFactory.
Jake
On 3/7/2011 1:46 PM, Sasa Bojanic wrote:
> Well, it is not really a patch, but something that made my use case one
> working...I agree nowdays it would be reasonable to move XMLC to JDK1.5
> or even 1.6...
>
> Thanks a lot for the quick response!
>
> Sasa.
>
>
> On 07-Mar-11 17:13, Jacob Kjome wrote:
>> I can look into using your patch for #1 (or something like it) for the
>> next XML release. I think the primary issue here is that we've
>> maintained a dependency on JDK1.3, which does not have java.net.URI.
>> I've tried to maintain this minimum dependency as long as Xerces does
>> so. Plus it makes for easy testing because JDK1.3 doesn't add any of
>> its own XML libraries. It's easy to dictate the version without
>> getting buggy JDK1.4 XML behavior. But I think most of the world has
>> moved on to JDK1.5+, so maybe XMLC should too at some point?
>>
>> I'll have to test #2. Not sure how quickly I'll be able to get to
>> this, though. But I'll try and spend some time this week on it.
>>
>> Jake
>>
>> On Mon, 07 Mar 2011 13:56:15 +0100
>> Sasa Bojanic <[email protected]> wrote:
>>> Hi,
>>>
>>> I'm trying to upgrade our applications that use XMLC 2.3.1 to the
>>> newest XMLC version.
>>> Our applications are deployed both under the Tomcat 6.0.29
>>> application server and Enhydra application server (based on Tomcat
>>> 6.0.29).
>>>
>>> There are two issues I faced:
>>>
>>> 1) when deploying under the Tomcat, XMLC JAR files are placed
>>> together with the application JAR files into application's
>>> WEB-INF\lib folder (so application classloader is used to load them).
>>> In this case, XMLC can't load resources (*.html and *.xmlc files)
>>> from JAR file. When resources are not in the JAR file but unpacked
>>> into WEB-INF\classes folder everything works.
>>>
>>> After "patching" the method getPathURLFromClasspath() from
>>> XMLCDeferredParsingFactory to add:
>>>
>>> if (srcURL != null && srcURL.toString().indexOf(".jar") >= 0) {
>>> try {
>>> String mdurl = srcURL.toString();
>>> srcURL = new URL("jar:"
>>> + mdurl.substring(0,
>>> mdurl.indexOf(".jar")) + ".jar!/"
>>> +
>>> mdurl.substring(mdurl.indexOf(".jar") + 4));
>>> } catch (Exception ex) {
>>> }
>>> }
>>>
>>> after the line:
>>>
>>> URL srcURL = fDynamicClassLoader.getResource(path);
>>>
>>> it works fine.
>>>
>>> 2) when deploying under Enhydra application server or under Tomcat,
>>> but instead of putting XMLC JAR files into application's WEB-INF\lib,
>>> we put it into Tomcat's lib folder, XMLC can't find resources no
>>> matter if resources are inside JAR file or unpacked, and it can't
>>> find it even in the case I put application's JAR file into Tomcat's
>>> lib folder.
>>>
>>> Is it a bug in XMLC? Can somebody help?
>>>
>>> Regards,
>>> Sasa.
>>>
>>
>
------------=_1300660248-30467-15589
Content-Type: text/plain; charset="UTF-8"; name="message-footer.txt"
Content-Disposition: inline; filename="message-footer.txt"
Content-Transfer-Encoding: quoted-printable
--
You receive this message as a subscriber of the [email protected] mailing list=
.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=3Dhelp
OW2 mailing lists service home page: http://www.ow2.org/wws
------------=_1300660248-30467-15589--