I solved it. Sorry for bothering with environment questions.
. First of all I changed to Sun's VM, invoking Tomcat 4.0.1 with it. . I added the classpath of my own Cocoon Components into the web.xml of Cocoon, on the <init-param> named extra-classpath . And I needed to set the <init-param> named init-classloader on the same web.xml to true, for cocoon to use his own classloader. Thanks, -----Mensaje original----- De: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Enviado el: martes, 29 de enero de 2002 12:09 Para: [EMAIL PROTECTED] Asunto: RE: Object X is not a component error > From: Ivan Rubin Ayma [mailto:[EMAIL PROTECTED]] > > Vadim, > > It helps me a lot. But I'm still a wandering rock! And keep on walking > as follows: > > I instanciated my class outside cocoon, in the same project (same > parameters to the VM), and checked for instance of Component and it's > ok, it's an instance of: > > org.apache.avalon.framework.component.Component This explains everything. Yes, it is instance of *this* particular instance of the Component class, but *not* the instance of the Component class loaded by Cocoon. You have got *two* instances of the Component class. Avoid instantiating of the action outside of Cocoon, or do it using Cocoon's class loader. Any of these two should help. > On my sitemap, if I replace my action for, for example, > org.apache.cocoon.acting.HelloAction, sitemap compilation goes ok. > > So the problem should be my environment, which is not the best, but is > simple. > I'm using JBuilder to run Tomcat and Cocoon with jars. > I've included on the project all the tomcat jars and the > web-apps/cocoon/WEB-INF/lib/*.jar, where the avalon framework is > located. > > I think the compilation of my component can't be the cause. I'm > compiling it with JBuilder's compiler. > > More than one Component class? from where? I'm just using tomcat 4 jars > and cocoon 2 jars... > > Different ClassLoaders? I don't quietly understand that, doesn't Cocoon > use the Java ClassLoader of the virtual machine running it? Java might have more then one *instance* of class loader. Even *same* class file loaded by two different instances of the class loader is *different*. Try System.getIdentityHashcode() on your Component.getClass() and Cocoon's Component.getClass() - this will be two *different* classes. > I see a > components.classloader package in cocoon, that's the class loader it > uses? Can the cause be that that classloader is not compatible with the > class loader of the virtual machine (JBuilder's VM) running it? No. Vadim > > Thanks, > > -----Mensaje original----- > De: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] > Enviado el: martes, 29 de enero de 2002 11:16 > Para: [EMAIL PROTECTED] > Asunto: RE: Object X is not a component error > > > This exception is thrown when your object does not implement Component > interface: > if (!(jSessionLogin instanceof Component)) throw > IllegalAccessException(); > > Usually this happens when your component does not implement (IIRC) > org.apache.avalon.component.Component. Also it happens when you have > *more* then one class Component loaded by Java due to use of different > ClassLoadrers and/or several class files for the same Component class. > > I'm not sure that this could help you, but I don't know what's going > wrong on your system and can't suggest you anything right now. > > Vadim > > > -----Original Message----- > > From: Ivan Rubin Ayma [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, January 29, 2002 9:06 AM > > To: [EMAIL PROTECTED] > > Subject: Object X is not a component error > > > > I tried to put the component in the package org.apache.cocoon.acting > > wondering what IllegalAccessException could be, but nothing. > > > > I'm posting the complete java source, subsitemap and the cocoon error. > > > > Thanks, > > > > -----Mensaje original----- > > De: Ivan Rubin Ayma > > Enviado el: lunes, 28 de enero de 2002 18:05 > > Para: [EMAIL PROTECTED] > > Asunto: Object X is not a component error > > > > > > I wrote the simplest component I could and at sitemap-compilation > cocoon > > keeps on giving me: > > > > Error in sitemap configuration : Object Zeus.core.cocoon.JSessionLogin > > is not a Component > > > > Why? > > > > The component: > > > > public class JSessionLogin extends > > org.apache.cocoon.acting.ComposerAction implements ThreadSafe { > > > > public Map act( Redirector redirector, SourceResolver resolver, > > Map objectModel, String source, Parameters par ) > > throws Exception { > > > > return null; > > } > > } > > > > It's well compiled and in the right place. > > > > Any hints? > > > > Thanks, > > > > -----Mensaje original----- > > De: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] > > Enviado el: lunes, 28 de enero de 2002 13:51 > > Para: [EMAIL PROTECTED] > > Asunto: RE: one of those "The sitemap handler's sitemap is not > > available" errors > > > > > > > From: tom blondeau [mailto:[EMAIL PROTECTED]] > > > > > > btw. what's the problem with hsqldb. it only works fine if i > overwrite > > the > > > files in the WEB-INF/db with the original files everytime i restart > > the > > > servlet engine? > > > > > > Try ServerImpl from the CVS. Should work Ok now. > > > > Vadim > > > > > > > > --------------------------------------------------------------------- > > Please check that your question has not already been answered in the > > FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > > > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > > For additional commands, e-mail: <[EMAIL PROTECTED]> > > > > > > --------------------------------------------------------------------- > > Please check that your question has not already been answered in the > > FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > > > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > > For additional commands, e-mail: <[EMAIL PROTECTED]> > > > > --------------------------------------------------------------------- > Please check that your question has not already been answered in the > FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > For additional commands, e-mail: <[EMAIL PROTECTED]> > > > --------------------------------------------------------------------- > Please check that your question has not already been answered in the > FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > For additional commands, e-mail: <[EMAIL PROTECTED]> --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]> --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>