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 2:

At line 2 changed 2 lines.
Have you tried to install a appfuse project as a desktop application? No! Now you can do it! How?
Let's see how is simple to
Have you tried to install an appfuse project as a desktop application? No! Now you can do it! How?
Let's see how is simple to make AppFuse run on [Winstone|http://winstone.sourceforge.net/]:
At line 5 added 1 line.
__1.__ Build AppFuse as usual (project name: {{felini}}): {{ant war}};
At line 6 changed 1 line.
The good news is I discovered that AppFuse runs on Resin 2.1.14 pretty good. The only modification you need to make is to comment-out or delete the entries for Clickstream's <listener> and <filter-mapping> in web.xml.
__2.__ Create a directory, for example, {{felini}} and on it a sub-directory: {{lib}};
At line 8 changed 1 line.
To install AppFuse on either version of Resin, you will need to copy your JBDC Driver, jta.jar, mail.jar and activation.jar to $RESIN_HOME/lib. Then include metadata/conf/resin-web-2.1.xml in appfuse.war's WEB-INF directory, or in the expanded WEB-INF directory. Rename it to resin-web.xml after you copy it. For Resin 3.0.x, use metadata/conf/resin-web.xml. You will need to fill in the database driver, connection and username/password information in these files.
__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.