Thanks both of you for your help. Thanks to you, I was able to deploy the default build of Cocoon and see its portlet.
Now comes the tricky part: deploying my own Cocoon application as a portlet. I have everything set up pretty well like the default build of Cocoon, but I have a lot more dependent libraries. I think one of them must be causing a problem, because when I try to deploy I get this: Jun 21, 2007 2:08:52 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive myapp.war log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester). log4j:WARN Please initialize the log4j system properly. Jun 21, 2007 2:09:00 PM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart Jun 21, 2007 2:09:00 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/myapp] startup failed due to previous errors How does one go about debugging this failure? To be clear, I am testing in the Jetspeed-demo version, complete with bundled Tomcat and Derby. Woonsan Ko wrote: >> What I would recomend you do is, extract the cocoon war file make the >> changes you need to make to it into a portlet servlet then package it into a >> war file again and deploy it into the jetspeed /deploy folder. let jetspeed >> take care of deploying it for you it does all the nessary steps in deploying >> the web application. >> > > You are right. So, I tested once more and refined the steps to deploy cocoon: > > (1) Rearrange the cocoon.war file. > Because portlet-api-1.0.jar file should be shared between Jetspeed-2 and > a portlet > application, > remove the WEB-INF/lib/portlet-api-1.0.jar in the cocoon.war. > (2) (Optionally) If Tomcat fails to extract all files of the cocoon.war file > after deployed, then > there could be memory leak problem. (Reference: > http://tomcat.apache.org/faq/memory.html). > In this case, you have to set JVM options like the following example > (catalina.bat on my > machine): > > set JAVA_OPTS=%JAVA_OPTS% -Xmx256m -XX:MaxPermSize=256m > > Then, remove cocoon.war and cocoon/ dir in the webapps/ dir. And try to > deploy cocoon.war > again. (Copy the cocoon.war into jetspeed/WEB-INF/deploy/ dir.) > > (3) Then, you can see the message "Hello from CocoonPortlet!". > > (4) (Optionally) You can use SVN version of Cocoon. > With Cocoon 2.1.9, you have to add new portlet definition to add another > cocoon page to your > portal page because the CocoonPortlet reads cocoon url from init parameter. > If you build cocoon.war from SVN, then you can use read-only preferences > to set cocoon url. So > you don't have to add new portlet definition for each cocoon url. See > https://issues.apache.org/jira/browse/COCOON-1998 for details. > In the above example from JIRA, the preferences were set in the psml for > the fragment. However > you can use read-only preferences in the portlet.xml also. Or you can > implement another portlet > extending ManagedCocoonPortlet, to provide advanced edit mode. > > -Woonsan > > > --- dee factorial <[EMAIL PROTECTED]> wrote: > > >> Jetspeed does a little bit more than just load cocoon on startup. check out >> this document >> http://portals.apache.org/jetspeed-2/multiproject/jetspeed-deploy-tools/index.html >> >> What I would recomend you do is, extract the cocoon war file make the >> changes you need to make to it into a portlet servlet then package it into a >> war file again and deploy it into the jetspeed /deploy folder. let jetspeed >> take care of deploying it for you it does all the nessary steps in deploying >> the web application. >> >> if you are having memory issues, check out this page >> http://tomcat.apache.org/faq/memory.html >> >> from that JIRA issue did you try adding the >> <preference name="servlet-path" readOnly="true"> >> <value>samples/blocks/portal/portlets/helloworld</value> >> </preference> >> to your fragment in the psml file ? >> >> >> >> On 6/20/07, Woonsan Ko <[EMAIL PROTECTED]> wrote: >> >>> Looking back on my experience, I has met three problems in deploying >>> cocoon.war: >>> >>> (1) Because cocoon.war file is too large, sometimes Tomcat fails to deploy >>> the war file. >>> (2) Because cocoon web app has too many pages, sometimes the JVM complains >>> it. >>> (3) If there's portlet-api*.jar file in cocoon/WEB-INF/lib, it should be >>> removed because the jar >>> file should be shared between Jetspeed-2 and a portlet application. >>> >>> So, my solution was like this: >>> >>> (1) Extract cocoon.war file manually to webapps/cocoon/ directory, and >>> remove >>> cocoon/WEB-INF/lib/portlet-api-1.0.jar file. >>> (2) Add Jetspeed container servlet configuration manually to cocoon's >>> web.xml if there isn't. For >>> example, >>> >>> <servlet> >>> <servlet-name>JetspeedContainer</servlet-name> >>> <display-name>Jetspeed Container</display-name> >>> <description>MVC Servlet for Jetspeed Portlet >>> Applications</description> >>> <servlet-class>org.apache.jetspeed.container.JetspeedContainerServlet >>> </servlet-class> >>> <init-param> >>> <param-name>contextName</param-name> >>> <param-value>cocoon</param-value> >>> </init-param> >>> <load-on-startup>0</load-on-startup> >>> </servlet> >>> >>> <servlet-mapping> >>> <servlet-name>JetspeedContainer</servlet-name> >>> <url-pattern>/container/*</url-pattern> >>> </servlet-mapping> >>> >>> (3) (Optionally) Add JVM command line option for MaxPermSize if it is >>> supported. For example, >>> "-XX:MaxPermSize=256m". (This is against JVM's complaint on too many >>> pages.) >>> >>> (4) Then, you can see the message "Hello from CocoonPortlet!". >>> >>> (5) (Optionally) You can use SVN version of Cocoon. >>> With Cocoon 2.1.9, you have to add new portlet definition to add >>> another cocoon page to your >>> portal page because the CocoonPortlet reads cocoon url from init >>> parameter. >>> If you build cocoon.war from SVN, then you can use read-only >>> preferences to set cocoon url. So >>> you don't have to add new portlet definition for each cocoon url. See >>> https://issues.apache.org/jira/browse/COCOON-1998 for details. >>> >>> >>> -Woonsan >>> >>> >>> >>> --- dee factorial <[EMAIL PROTECTED]> wrote: >>> >>> >>>> In Step 3, when you deployed the cocoon.war file to jetspeed did you >>>> >>> copy >>> >>>> the the cocoon.war file to the Jetspeed/WEB-INF/deploy dir to deploy it >>>> >>> ? If >>> >>>> so did you check to see if there were any errors when you deployed it ? >>>> >>> If >>> >>>> you click on the PALM tab in the Administrative Interface you will be >>>> >>> able >>> >>>> to see which applications are loaded into your Jetspeed Instance. >>>> >>>> I also noticed that you have the value of 7 in the row value, when it >>>> should be one, but I don't think that should make a big difference. >>>> >>>> Good luck, >>>> Dominique >>>> >>>> >>>> On 6/20/07, Bruce Atherton <[EMAIL PROTECTED]> wrote: >>>> >>>>> I am trying to deploy a standard build of Cocoon 2.1.9 that contains a >>>>> JSR-168 portlet to Jetspeed 2.1, but I seem to be hitting a roadblock. >>>>> Following the instructions at >>>>> >>>>> >>> http://portals.apache.org/jetspeed-2/multiproject/jetspeed-deploy-tools/index.html >>> , >>> >>>>> I did the following: >>>>> >>>>> 1. I built a WAR file of Cocoon 2.1.9 with the portlet included. This >>>>> >>> is >>> >>>>> called cocoon.war. >>>>> 2. I checked that the portlet.xml file contained a definition for >>>>> CocoonPortlet (as it does out of the box). >>>>> 3. I deployed the cocoon.war file to the Tomcat instance running >>>>> >>> Jetspeed >>> >>>>> 2. >>>>> 4. I modified >>>>> ${Jetspeed-2.1}/webapps/jetspeed/WEB-INF/pages/default-page.psml to >>>>> include: >>>>> <fragment id="dp-19" type="portlet" name="cocoon::CocoonPortlet"> >>>>> <property name="row" value="7"/> >>>>> <property name="column" value="0"/> >>>>> </fragment> >>>>> 5. I started Jetspeed. >>>>> 6. I verified that a cocoon directory was created from the contents of >>>>> cocoon.war. >>>>> 7. I navigated to the Jetspeed default page. >>>>> >>>>> Instead of seeing the expected "Hello from CocoonPortlet" text, I get >>>>> >>> this >>> >>>>> error >>>>> message: "Portlet Application cocoon not available". The jetspeed.loghas >>>>> this: >>>>> >>>>> 2007-06-19 16:49:49,153 [http-8080-Processor25] ERROR >>>>> org.apache.jetspeed.aggregator.impl.RenderingJobImpl - Error rendering >>>>> portlet OID dp-19: javax.portlet.UnavailableException: Portlet >>>>> >>> Application >>> >>>>> cocoon not available >>>>> >>>>> I've asked on the Cocoon list but haven't received a response, and I >>>>> thought the people here might be more familiar with what is going on. >>>>> >>> Have I >>> >>>>> missed a step in deploying a portlet to Jetspeed here? What am I >>>>> >>> missing to >>> >>>>> get a portlet like this to deploy? >>>>> >>>>> Thanks for any help. >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>> -- >>>> "In today's highly interdependent world, individuals and nations can no >>>> longer resolve many of their problems by themselves. We need one >>>> >>> another. We >>> >>>> must therefore develop a sense of universal responsibility. . . It is >>>> >>> our >>> >>>> collective and individual responsibility to protect and nurture the >>>> >>> global >>> >>>> family, to support its weaker members, and the preserve and tend to the >>>> environment in which we all live." His Holiness the Dalai Lama, A Policy >>>> >>> of >>> >>>> Kindness: An Anthology of Writings by and about the Dali Lama (Ithaca, >>>> >>> Ny: >>> >>>> Snow Lion, 1990), 113-14. >>>> >>>> >>> >>> >>> >>> ____________________________________________________________________________________ >>> The fish are biting. >>> Get more visitors on your site using Yahoo! Search Marketing. >>> http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >> -- >> "In today's highly interdependent world, individuals and nations can no >> longer resolve many of their problems by themselves. We need one another. We >> must therefore develop a sense of universal responsibility. . . It is our >> collective and individual responsibility to protect and nurture the global >> family, to support its weaker members, and the preserve and tend to the >> environment in which we all live." His Holiness the Dalai Lama, A Policy of >> >> > === message truncated === > > > > > ____________________________________________________________________________________ > Got a little couch potato? > Check out fun summer activities for kids. > http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
