Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

How To Integrate Jetspeed2 with Jetty6

It is pretty simple really. Here are the steps:

The only thing to be aware of is that jetty6 does not support hot deployment. This means that if you copy portlet webapps into the Jetspeed2 WEB-INF/deploy directory, you must restart jetty6 in order for them to be deployed into jetty6 itself.

How to Get the Jetspeed2 Demo running with Jetty6

Step 0:

Install Jetspeed2. These instructions were tested using the Jetspeed2 installer with Jetspeed-2.0.2.

Step 1: Configure jetty6

In a new jetty configuration file, or using the etc/jetty-plus.xml config file from the distro, add the following:

...

Code Block
xml
xml
<New id="derby" class="org.mortbay.jetty.plus.naming.Resource">
  <Arg>jdbc/jetspeed</Arg>
  <Arg>
    <New class="org.apache.derby.jdbc.EmbeddedDataSource">
      <Set name="DatabaseName"><SystemProperty name="jetty.home" default="." />/webapps-plus/jetspeed/WEB-INF/productiondb</Set>
      <Set name="createDatabase">create</Set>
    </New>
  </Arg>
</New>
  • Define the Jetspeed webappswebapp and portlets

If you are using the etc/jetty-plus.xml file, you don't have to do anything as all webapps in webapps-plus will be automatically deployed on startup. If you want to create your own jetty config file, then you should do the same by copying and pasting this snippet, replacing the 2nd argument with the location of your deploy directory:

Code Block
xml
xml
<Call class="org.mortbay.jetty.webapp.WebAppContext" name="addWebApplications">
  <Arg><Ref id="Server"/></Arg>
  <Arg>./webapps-plus</Arg>
  <Arg>org/mortbay/jetty/webapp/webdefault.xml</Arg>
  <Arg><Ref id="plusConfig"/></Arg>
  <Arg type="boolean">True</Arg>
  <Arg type="boolean">False</Arg>
</Call>
  • Copy the shared jars
    Copy all of the jars in your jetspeed installation's shared/lib directory to your jetty lib directory

Step 2: Setup Jetspeed2

  • Copy the Jetspeed webapp
    Copy the webapps/jetspeed directory from your Jetspeed installation directory into your chosen jetty deploy directory (which will be webapps-plus if you're using the defaults).
  • Move the Jetspeed demo portlets
    Assuming you are using webapps-plus as your deploy directory, move all of the demo portlet war files from webapps-plus/jetspeed/WEB-INF/deploy to webapps-plus.

Step 3:

...

Step 3: Start jetty6

  • Now, start jetty6 using the config file you have been editing in Step 1.
  • Wait for all portlets to be deployed - this can take some time depending on the rate of the Jetspeed auto-deploy scanner

Step 4: Restart jetty6

Once all the portlets have been deployed, you need to stop and restart jetty6 so it picks up the auto-deployed portlet wars from the previous step.

That's it, Jetspeed the Jetspeed2 demo is now installed for jetty. All you have to do is run jetty with the config file you've been editing.

Contact the core Jetty developers at www.webtide.com
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery