Hi Magnus,

Oops I miss stated earlier. To make my code work I have to remove all whitespace out of the
xml document to make sure extra text nodes are not in the document DOM.

Eric Richardson wrote:

Hi Magnus,

Well, I was using the autoupdate version of 0.96 and didn't know that you released a real version yesterday.

I don't know what you did but now the XML parses correctly with the version I use and the superclass classloading problem is fixed as well.


In my code I call doc.normalize() and use strict parsing according to the DTD. When I ask for children, I get the nodes I expect with no #text nodes between the elements.

It seems the classloader is following the chain somehow and using the classes supplied by Orion. I put all my libs in WEB-INF/lib including the xml.jar from the XML-tr2 package.

I can use Orion and ignore this for now but the classloading may be a problem for others in the future as well.

Any help would be appreciated.

Eric

 

Wow! Thanks a bunch.
Eric :-)
 

Magnus Stenman wrote:

Would that be the "real" 0.9.6? Ie the one from the zip linked on the site? If not then give it a try and let me know how it goes. :) /Magnus Stenman, the Orion team
----- Original Message -----
Sent: Wednesday, April 12, 2000 10:43 PM
Subject: 0.94 and 0.96 problems
 Hi,
After three days of work to try and get Orion going for a simple example using our infrastructure code, I give up.

Here are the details.

1. We use our own XML lib (xml-tr2) to get info from a config file. This is used by our Persistence layer and connection pool etc.
2. I created a web app with web.xml and also tried it as a real j2ee app with application.xml

Here are the problems with 0.94

1. Can't load a superclass that is clearly in the jar (stack trace below) even though the JSP has sucessfully
loaded and instantiated two beans that work.
2. In a web application if classes are included from J2EE (even though this was a mistake) it causes problems.
 

Here are the problems with 0.96
1. My XML config file is parsed with included white space which represents extra Text Nodes. This caused my code not to work here. When all whitespace is removed from the file my code works again.
Somehow this must not be using xml-tr2.
2. Then nothing happens and the JSP apparently just stops half way through the service method.
 

I can only think of one thing-classloader problems. I am not an expert but application code can't conflict with server code in this way. Otherwise the system is brittle, libraries used are brittle and ...
To go to J2EE we can't redo everything so our code needs to co-exist in the system. First, we could take advantage of the build in connection pools and transactions, and then add EJB and eventually migrate all our code base to the new architecture J2EE.

I also launched the vm using -verbose and it seems to load everything until it gets to my scriptlet code. I looked at the generated JSP code and that looked fine as well. The only thing that's a little different in our code is that the Persistent class below is abstract. Our code works in JRun, Resin, Tomcat and older versions of Orion.

Suggestions for Orion
1. Tracing controlled by the developer and other features to help the users or Open Source.
2. Good luck because I think there must be alot of potential with this server.

Sorry that I can't get any mileage out of it.

Eric

--------------------------------
4/11/00 4:49 PM web-app: Started
4/11/00 4:49 PM web-app: Servlet error
java.lang.NoClassDefFoundError: com/telesoft/database/Persistent
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:438)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:336)
        at com.evermind.naming.id.findClass(JAX)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:243)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:195)
        at com.evermind.naming.id.findClass(JAX)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:243)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:195)
        at com.evermind.naming.id.findClass(JAX)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:243)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:195)
        at com.evermind.naming.id.findClass(JAX)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:279)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:243)
        at __jspPage0._jspService(__jspPage0.java:70)
        at com.evermind.server.http.EvermindHttpJspPage.service(JAX)
        at com.evermind.server.http.HttpApplication.pk(JAX)
        at com.evermind.server.http.JSPServlet.service(JAX)
        at com.evermind.server.http.c1.l_(JAX)
        at com.evermind.server.http.c1.forward(JAX)
        at com.evermind.server.http.dc.ca(JAX)
        at com.evermind.util.b.run(JAX)
 

Reply via email to