Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
Articles




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseOnWinstone


Difference between version 26 and version 5:

At line 5 changed 3 lines.
Build AppFuse as usual: ant war;
Create a directory, for example, felini and on it another sub-directory: lib;
Copy yor war file to felini and
__1.__ Build AppFuse as usual (project name: {{felini}}): {{ant war}};
__2.__ Create a directory, for example, {{felini}} and on it a sub-directory: {{lib}};
__3.__ Download [Winstone|http://winstone.sourceforge.net/] into the {{felini}} directory, the version I will use is: {{winstone-0.8.1.jar}};
__4.__ Copy your war file to {{felini}} directory;
__5.__ Other thing, in order to turn on JSP compilation in [Winstone|http://winstone.sourceforge.net/], you'll need to place the following jar files into the {{lib}} folder under the current directory (or the folder identified by the --commonLibFolder directive): jasper-compiler.jar, jasper-runtime.jar, ant.jar, commons-logging-api.jar, commons-el.jar (Jasper 2 only) - These are required if you are using Jasper 2.0. You can get them from the tomcat binary distribution;
__6.__ From the {{felini}} directory run:
<pre>java -jar winstone-0.8.1.jar --warfile=feline.war --useJasper</pre>
That's it! No more no less! But wait, it has more ...
%%note __NOTE:__ This is from Winstone docs:
<h2><a name="embedding">Embedding Winstone</a></h2>
<p>The design of Winstone has always allowed its easy embedding within another application. It's as simple
as:</p>
<pre> // at startup
Map args = new HashMap();
args.put("webroot", "&lt;my webroot dir&gt;"); // or any other command line args, eg port
Launcher.initLogger(args);
Launcher winstone = new Launcher(args); // spawns threads, so your application doesn't block
... (your application code)
// before shutdown
winstone.shutdown(); </pre>
<p>From v0.8 though, there is also the ability to embed in the opposite direction: that is, to
<b>embed your warfile into the winstone JAR itself</b>. This allows an all-in-one container plus
web-application JAR file to be downloaded, and then unpacked at execution time.</p>
<p>To use this, simply unpack the winstone JAR, and place your WAR file inside the unpacked
folder at the top level (with the same parent as the folder named "winstone"). Then rename
your WAR file to "embedded.war", and repack the jar as before (make sure to preserve the
META-INF and manifest).</p>
<p>Now if you type: <code>"java -jar winstone.jar"</code>, your application should
automatically deploy as the ROOT web application. Try <code>http://localhost:8080/</code> to
check it out.</p>
<p>If you need to add any default command-line arguments (eg ports or prefixes), you can embed
a properties file in exactly the same way, except that the file must be named
"embedded.properties".</p>
%%
Thanks Matt, for this space and Rick Knowles for their attention and support on [Winstone|http://winstone.sourceforge.net/].

Back to AppFuseOnWinstone, or to the Page History.