You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Jonny Pony <jo...@hotmail.com> on 2004/11/11 17:29:16 UTC
org.quartz.SchedulerException: Scheduler with name 'Cocoon' already exists
Hi,
this was asked before, but never answered.
I'm running Apache 2.x, Tomcat 5.x, jdk 1.4.2.x on a Windows machine.
Now I "installed" cocoon 2.1.6. (dev) on tomcat. When I try to retrieve the
cocoon I get the following error: org.quartz.SchedulerException: Scheduler
with name 'Cocoon' already exists.
I found this thread:
http://swforum.sun.com/jive/thread.jspa?threadID=46088&tstart=105.
Parts from the thread:
...
Once you've changed server.policy to grant AllPermission globally, you are
probably going to see this exception:
Original Exception: org.quartz.SchedulerException: Scheduler with name
'Cocoon' already exists.
at org.quartz.impl.SchedulerRepository.bind(SchedulerRepository.java:87)
at
org.quartz.impl.DirectSchedulerFactory.createScheduler(DirectSchedulerFactory.java:340)
At the core of the problem is the following exception:
java.lang.NoClassDefFoundError: javax/portlet/PortletRequest
which is thrown by CocoonServlet.init().
Notice that the CocoonServlet's entry in the web.xml contains this line:
<load-on-startup>1</load-on-startup>
meaning that the CocoonServlet is loaded and initialized when its
containing webapp is started, as opposed to when it is first accessed.
However, because of the above exception during CocoonServlet.init(), the
servlet engine does not consider the servlet initialized, and will
initialize it again when the servlet is first accessed, resulting in the
org.quartz.SchedulerException ("Scheduler with name 'Cocoon' already
exists").
Notice that the Cocoon webapp bundles its own JAR with javax.portlet classes
under WEB-INF/lib.
In AS 8.0, we made an effort to implement SRV.9.7.2: "Web Application Class
Loader":
[...] Also, servlet containers that are part of a J2EE product should
not allow the application to override J2SE or J2EE platform
classes, such as those in java.* and javax.* namespaces, that
either J2SE or J2EE do not allow to be modified.
We obviously missed to add javax.portlet to the default list of packages
that may be overridden, but luckily, this list is configurable:
Add "javax.portlet" to the value of the
com.sun.enterprise.overrideablejavaxpackages system property in
${S1AS_HOME}/lib/launcher.xml, as follows:
<sysproperty key="com.sun.enterprise.overrideablejavaxpackages"
value="javax.sql.rowset,javax.faces,javax.servlet.jsp.jstl,javax.xml.bind,javax.help,javax.portlet"/>
Another option would be to copy the JAR containing the javax.portlet classes
to your ${S1AS_HOME}/lib directory.
_________________________________________________--
>Another option would be to copy the JAR containing the javax.portlet
>classes to your
>${S1AS_HOME}/lib directory.
Could I try this with Tomcat, because this was run on the Sun Java System
Application Server 8?
Or is there a better solution?
Did I do something wrong in my configuration?
Thanks
Jonny
_________________________________________________________________
Die rote Karte für lästige E-Mails. MSN Hotmail mit Junk-Mail-Filter.
http://www.msn.de/antispam/prevention/junkmailfilter Jetzt kostenlos
anmelden!
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org