avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Hammant <Paul_Hamm...@yahoo.com>
Subject Wrapping Catalina as an Avalon block
Date Sat, 15 Sep 2001 06:33:49 GMT
I've made reasonable progress.  I can get it serving from a .sar file, 
but only to the extent where it returns "Page not found for this 
context" type messages to the browser.  

I am 90% sure that it's because catalina is tied to it's directory 
structure - particularly for jar files.  i.e. me putting jars in lib/ 
for the sar will never get catalina to work with Phoenix.  I suspect 
this because of lines like the below in 
org.apache.catalina.core.StandardContext to do with classloading

        File directory = new File(System.getProperty("catalina.home"), 
"jasper");

That also leads onto a second point, the thing relies on catalina.home 
being set to the root of it's peculiar directory structure.  In it's 
current form, it's just not going to be sarable.  

Advice please...?

Or how about this as a proposal .... sar file format supports an 
environment.xml (instead of lib/*.jar) that looks like so...

    <environment>
       <env-vars>
        <env-var name="catalina.home" value="${sar-root}/catalina"/>
        <env-var name="catalina.base" value="${sar-root}/catalina"/>
       <env-vars>
        <classpath>
          <jar>${sar-root}/catalina/common\lib\servlet.jar</jar>
          <jar>${sar-root}/catalina/common\lib\resources.jar</jar>
          <jar>${sar-root}/catalina/common\lib\naming.jar</jar>
          <jar>${sar-root}/catalina/common\lib\mail.jar</jar>
          <jar>${sar-root}/catalina/common\lib\jndi.jar</jar>
          <jar>${sar-root}/catalina/common\lib\activation.jar</jar>
          <jar>${sar-root}/catalina/server\lib\warp.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-webdav.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-ssi.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-snoop.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-manager.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-invoker.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-default.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-common.jar</jar>
          <jar>${sar-root}/catalina/server\lib\servlets-cgi.jar</jar>
          <jar>${sar-root}/catalina/server\lib\jaxp.jar</jar>
          <jar>${sar-root}/catalina/server\lib\jakarta-regexp-1.2.jar</jar>
          <jar>${sar-root}/catalina/server\lib\crimson.jar</jar>
          <jar>${sar-root}/catalina/server\lib\catalina.jar</jar>
          <jar>${sar-root}/catalina/bin\bootstrap.jar</jar>
          <jar>${JAVA_HOME}\lib\tools.jar</jar>
        </classpath>
    </environment>


... and the sar file contains a complete copy of the catalina binary 
distribution.

Also, it would be handy for the Block to be able to get the root 
directory of where it's sar has been unpacked to.

On the positive side, I think it might be possible for the service to be 
able to have essentially createVirtualHost(...) and publishWebApp(...) 
as methods.

For those that are interested I am reimplementing the main method from 
org.apache.catalina.startup.Embedded.

Lastly, Catalina is going to use it's own connection manager and thread 
pool (without code changes, there is 0% change that we could get it 
using ours).

Regards,

- Paul H


---------------------------------------------------------------------
To unsubscribe, e-mail: avalon-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: avalon-dev-help@jakarta.apache.org


Mime
View raw message