Hi Jan,

Thank you for the quick reply, that was exactly what I was looking for! :)

The portal app still does not pick up my own portlets, but now I can cross
the jetty config off the list and figure out the next piece of the puzzle.

-- 
Chris



On Tue, Dec 3, 2013 at 12:49 AM, Jan Bartel <[email protected]> wrote:

> Chris,
>
> If you use a jetty xml file and set up the handler structure in there,
> and add in the webapp you want started first, the webapp that is the
> subject of the jetty:run command will always be appended to the
> context handler collection last. The context handler collection starts
> up the contexts serially, in the order they appear in the collection.
>
> Testing with jetty-9.1, here's an example jetty.xml file:
>
> <?xml version="1.0"?>
> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
> "http://www.eclipse.org/jetty/configure_9_0.dtd";>
> <Configure id="Server" class="org.eclipse.jetty.server.Server">
>
>     <Set name="handler">
>       <New id="Handlers"
> class="org.eclipse.jetty.server.handler.HandlerCollection">
>         <Set name="handlers">
>          <Array type="org.eclipse.jetty.server.Handler">
>            <Item>
>              <New id="Contexts"
> class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
>            </Item>
>            <Item>
>              <New id="DefaultHandler"
> class="org.eclipse.jetty.server.handler.DefaultHandler"/>
>            </Item>
>          </Array>
>         </Set>
>       </New>
>     </Set>
>
>
>     <Ref refid="Contexts">
>       <Call name="addHandler">
>         <Arg>
>           <New class="org.eclipse.jetty.webapp.WebAppContext">
>             <Set name="contextPath">/other</Set>
>             <Set name="war">other.war</Set>
>           </New>
>         </Arg>
>      </Call>
>     </Ref>
>
> </Configure>
>
> And here's the pom.xml snippet:
>      <plugin>
>         <groupId>org.eclipse.jetty</groupId>
>         <artifactId>jetty-maven-plugin</artifactId>
>         <version>9.1.0.v20131115</version>
>         <configuration>
>           <jettyXml>jetty-main.xml</jettyXml>
>           <webApp>
>             <contextPath>/test</contextPath>
>           </webApp>
>         </configuration>
>       </plugin>
>
> I've added ServletContextListeners for both webapps that just prints
> out "contextInitialized" along with the ServletContextEvent, and
> here's the startup log output  confirming /other was started before
> /test:
>
> 2013-12-03 10:31:25.537:INFO:oejs.Server:main: jetty-9.1.1-SNAPSHOT
> contextInitialized
>
> javax.servlet.ServletContextEvent[[email protected]
> @72767cfb{/other,file:/tmp/jetty-0.0.0.0-0-other.war-_other-any-6758067937025345951.dir/webapp/,STARTING}{other.war}]
> 2013-12-03 10:31:25.830:INFO:oejsh.ContextHandler:main: Started
> o.e.j.w.WebAppContext@72767cfb
> {/other,file:/tmp/jetty-0.0.0.0-0-other.war-_other-any-6758067937025345951.dir/webapp/,AVAILABLE}{other.war}
> contextInitialized
>
> javax.servlet.ServletContextEvent[[email protected]
> @422442a6{/test,file:/home/janb/src/jetty-eclipse/jetty-9/tests/test-webapps/test-jetty-webapp/src/main/webapp/,STARTING}{file:/home/janb/src/jetty-eclipse/jetty-9/tests/test-webapps/test-jetty-webapp/src/main/webapp/}]
> 2013-12-03 10:31:26.518:INFO:oejsh.ContextHandler:main: Started
> o.e.j.m.p.JettyWebAppContext@422442a6
> {/test,file:/home/janb/src/jetty-eclipse/jetty-9/tests/test-webapps/test-jetty-webapp/src/main/webapp/,AVAILABLE}{file:/home/janb/src/jetty-eclipse/jetty-9/tests/test-webapps/test-jetty-webapp/src/main/webapp/}
> 2013-12-03 10:31:26.537:INFO:oejs.ServerConnector:main: Started
> ServerConnector@3266589{HTTP/1.1}{0.0.0.0:8080}
> [INFO] Started Jetty Server
>
>
> So that confirms things are starting up in the right order.
>
> I think you'll have to dig a bit into the portal application to see
> how it completes its startup. Perhaps you could try running it in
> maven using the jetty:deploy-war goal (see
>
> http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#deploy-war-running-pre-assembled-war
> for how to configure your pom) to check if it deploys ok by itself.
>
> cheers
> Jan
>
> On 3 December 2013 09:50, Chris Poulsen <[email protected]> wrote:
> > Hi,
> >
> > I'm trying to get the jetty:run target of the maven jetty plugin to
> start up
> > a dependency war before starting the normal webapp.
> > Basically I'm trying to startup a portlet container prior to deploying
> the
> > portlets from the project.
> >
> > I've tried a lot of different things (and a ton of jetty versions), but
> to
> > no avail.
> >
> > If I specify a jetty.xml that adds a WebAppContext for the portal into
> the
> > ContextHandlerCollection it looks like the portal is starting up before
> the
> > app from the plugin (console output from portal first), but things does
> not
> > look correct in the deployed portal after entire server is started. (the
> > plugin webapp is deployed, but not registered in the portal - that mostly
> > happens when the portal app isn't started first).
> >
> > Is there a way that I can ensure that the portal war is started before
> the
> > webapp in the maven plugin? (it seems that the portal just needs to be
> > initialized first, both apps seem to deploy correctly when i start a
> normal
> > server containing both wars - god knows what determines the order in that
> > case)
> >
> > --
> > Chris
> >
> >
> >
> > _______________________________________________
> > jetty-users mailing list
> > [email protected]
> > https://dev.eclipse.org/mailman/listinfo/jetty-users
> >
>
>
>
> --
> Jan Bartel <[email protected]>
> www.webtide.com
> 'Expert Jetty/CometD developer,production,operations advice'
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to