<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"	>
<channel>
	<title>Comments on: Why and how to use Jetty in mission-critical production</title>
	<atom:link href="http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/feed/" rel="self" type="application/rss+xml" />
	<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/</link>
	<description>Johannes Brodwall&#039;s Musings on Software Architecture and Programming</description>
	<lastBuildDate>Tue, 07 Sep 2010 16:25:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Markus</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127914</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Fri, 20 Aug 2010 14:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127914</guid>
		<description>100MB is too much just for Jetty. Also as I know JVM can share memory between several processes. See it here http://docs.sun.com/app/docs/doc/819-3659/6n5s6m57s?l=en&amp;a=view
&quot;If multiple applications or modules refer to the same libraries, classes in those libraries are automatically shared. This can reduce the memory footprint and allow sharing of static information.&quot;

Anyway, I would better create a simple test case that shows how much memory overhead this solution has.</description>
		<content:encoded><![CDATA[<p>100MB is too much just for Jetty. Also as I know JVM can share memory between several processes. See it here <a href="http://docs.sun.com/app/docs/doc/819-3659/6n5s6m57s?l=en&#038;a=view" rel="nofollow">http://docs.sun.com/app/docs/doc/819-3659/6n5s6m57s?l=en&#038;a=view</a><br />
&#8220;If multiple applications or modules refer to the same libraries, classes in those libraries are automatically shared. This can reduce the memory footprint and allow sharing of static information.&#8221;</p>
<p>Anyway, I would better create a simple test case that shows how much memory overhead this solution has.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127915</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Fri, 20 Aug 2010 14:05:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127915</guid>
		<description>There are many &quot;service wrapper&quot; libraries. Some of them

http://commons.apache.org/daemon/
http://wrapper.tanukisoftware.com/doc/english/download.jsp
http://yajsw.sourceforge.net/
http://forge.ow2.org/projects/javaservice

I would recommend to start trying from Apache Commons Daemon. It used for Apache Tomcat for example.</description>
		<content:encoded><![CDATA[<p>There are many &#8220;service wrapper&#8221; libraries. Some of them</p>
<p><a href="http://commons.apache.org/daemon/" rel="nofollow">http://commons.apache.org/daemon/</a><br />
<a href="http://wrapper.tanukisoftware.com/doc/english/download.jsp" rel="nofollow">http://wrapper.tanukisoftware.com/doc/english/download.jsp</a><br />
<a href="http://yajsw.sourceforge.net/" rel="nofollow">http://yajsw.sourceforge.net/</a><br />
<a href="http://forge.ow2.org/projects/javaservice" rel="nofollow">http://forge.ow2.org/projects/javaservice</a></p>
<p>I would recommend to start trying from Apache Commons Daemon. It used for Apache Tomcat for example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johannes Brodwall</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127913</link>
		<dc:creator>Johannes Brodwall</dc:creator>
		<pubDate>Fri, 20 Aug 2010 10:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127913</guid>
		<description>On Windows, I&#039;ve only ever used the command line. Maybe someone else have experience using Java Service Wrapper, or a similar approach?</description>
		<content:encoded><![CDATA[<p>On Windows, I&#8217;ve only ever used the command line. Maybe someone else have experience using Java Service Wrapper, or a similar approach?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ole C. Langfjæran</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127909</link>
		<dc:creator>Ole C. Langfjæran</dc:creator>
		<pubDate>Thu, 19 Aug 2010 11:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127909</guid>
		<description>100MB sounds about right from what I could gather. Running your example one-jar took about 80MB, so Jetty itself probably demands even less. 10-15 apps on one server should be an overcoming task for any server so to speak.

A little off that topic: Do any of you have experience using this scheme on a Windows Server? And doing so, should one run the one-jar as a service or plain and simple inside a command-prompt? 

I guess service is the correct answer utilizing the shutdownhook on Jetty. But how to wrap a &quot;java -jar&quot; into a windows process is a field unexplored by me. </description>
		<content:encoded><![CDATA[<p>100MB sounds about right from what I could gather. Running your example one-jar took about 80MB, so Jetty itself probably demands even less. 10-15 apps on one server should be an overcoming task for any server so to speak.</p>
<p>A little off that topic: Do any of you have experience using this scheme on a Windows Server? And doing so, should one run the one-jar as a service or plain and simple inside a command-prompt? </p>
<p>I guess service is the correct answer utilizing the shutdownhook on Jetty. But how to wrap a &#8220;java -jar&#8221; into a windows process is a field unexplored by me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johannes Brodwall</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127898</link>
		<dc:creator>Johannes Brodwall</dc:creator>
		<pubDate>Wed, 18 Aug 2010 09:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127898</guid>
		<description>I have the same experience as Markus. To be on the safe side, I would calculate 100MB overhead per extra app server (relative to having a single one). If you have 10-15 apps, this shouldn&#039;t be a problem. If you have 100, you may feel differently.</description>
		<content:encoded><![CDATA[<p>I have the same experience as Markus. To be on the safe side, I would calculate 100MB overhead per extra app server (relative to having a single one). If you have 10-15 apps, this shouldn&#8217;t be a problem. If you have 100, you may feel differently.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127892</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Tue, 17 Aug 2010 20:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127892</guid>
		<description>I don&#039;t think that the appserver (Jetty) takes a lot of memory. I did not measure it but I do not expect that it takes more than several MB. (If you have some time you might want to measure and publish the data)

The most RAM takes the application data itself.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think that the appserver (Jetty) takes a lot of memory. I did not measure it but I do not expect that it takes more than several MB. (If you have some time you might want to measure and publish the data)</p>
<p>The most RAM takes the application data itself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ole C. Langfjæran</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127890</link>
		<dc:creator>Ole C. Langfjæran</dc:creator>
		<pubDate>Tue, 17 Aug 2010 11:22:00 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127890</guid>
		<description>Excellent and very inspiring post! I&#039;ve taken your example in to use and already love the concept of being able to ship the applicationserver with my application. Within a few months it will by great certainty be shipped into production and not only test-environment.

What I wonder a little about is this scheme demands one applicationserver per application? Considering that you have many applications, thus many applicationservers, will this leave a huge memory footprint against using a single applicationserver with many applications?</description>
		<content:encoded><![CDATA[<p>Excellent and very inspiring post! I&#8217;ve taken your example in to use and already love the concept of being able to ship the applicationserver with my application. Within a few months it will by great certainty be shipped into production and not only test-environment.</p>
<p>What I wonder a little about is this scheme demands one applicationserver per application? Considering that you have many applications, thus many applicationservers, will this leave a huge memory footprint against using a single applicationserver with many applications?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul c</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127773</link>
		<dc:creator>Paul c</dc:creator>
		<pubDate>Thu, 10 Jun 2010 14:51:21 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127773</guid>
		<description>I&#039;m beginning to wonder is the whole idea of a &quot;container&quot; is really  a good idea. Not just with respect to web servers but more generally. Its one of the reasons I like Camel - I can have an application with ESB functionality without needing a container. In fact I&#039;m working on a system using embedded Camel and Jetty all in the one app.&lt;br&gt;&lt;br&gt;Even if you use a gazillion libraries including hefty ones like spring hibernate camel etc in terms of actual megabytes of space it doesn&#039;t really amount to much on a modern system so why not keep each application stand-alone and avoid all those container related dependency, unit testing, classloading etc etc problems.&lt;br&gt;&lt;br&gt;IMO we&#039;ve been brainwashed over the years to equate production environments with containers in the java world.</description>
		<content:encoded><![CDATA[<p>I&#39;m beginning to wonder is the whole idea of a &#8220;container&#8221; is really  a good idea. Not just with respect to web servers but more generally. Its one of the reasons I like Camel &#8211; I can have an application with ESB functionality without needing a container. In fact I&#39;m working on a system using embedded Camel and Jetty all in the one app.</p>
<p>Even if you use a gazillion libraries including hefty ones like spring hibernate camel etc in terms of actual megabytes of space it doesn&#39;t really amount to much on a modern system so why not keep each application stand-alone and avoid all those container related dependency, unit testing, classloading etc etc problems.</p>
<p>IMO we&#39;ve been brainwashed over the years to equate production environments with containers in the java world.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johannes Brodwall</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127719</link>
		<dc:creator>Johannes Brodwall</dc:creator>
		<pubDate>Thu, 08 Apr 2010 16:32:27 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127719</guid>
		<description>Hi, Terjei&lt;br&gt;&lt;br&gt;winstone-maven-plugin looks very nice. What I like about my approach is the fact that I regain control of the main-method. Perhaps a sign that I am a control freak. And I suspect you can do the same with winstone if you want to.&lt;br&gt;&lt;br&gt;Good tip. Thanks.</description>
		<content:encoded><![CDATA[<p>Hi, Terjei</p>
<p>winstone-maven-plugin looks very nice. What I like about my approach is the fact that I regain control of the main-method. Perhaps a sign that I am a control freak. And I suspect you can do the same with winstone if you want to.</p>
<p>Good tip. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tarjeihuse</title>
		<link>http://johannesbrodwall.com/2010/03/08/why-and-how-to-use-jetty-in-mission-critical-production/comment-page-1/#comment-127717</link>
		<dc:creator>tarjeihuse</dc:creator>
		<pubDate>Thu, 08 Apr 2010 15:30:25 +0000</pubDate>
		<guid isPermaLink="false">http://johannesbrodwall.com/?p=519#comment-127717</guid>
		<description>One jar, that is the way to do it. Here are some implementation pointers.&lt;br&gt;&lt;br&gt;Installing and configuring applicationservers is quite a drag and often hard to automate with tools like puppet or cfengine.&lt;br&gt;&lt;br&gt;I&#039;ve switched to doing this for all my different services with good results. With maven you can do this using the winstone-maven plugin very easily. &lt;br&gt;&lt;br&gt;Another option is using the jetty-runner that was created for Jetty 7. The camel-web-standalone component in the Apache Camel project contains an example for creating a combined jar for jetty-runner and all dependencies.&lt;br&gt;&lt;br&gt;Hope this helps someone.</description>
		<content:encoded><![CDATA[<p>One jar, that is the way to do it. Here are some implementation pointers.</p>
<p>Installing and configuring applicationservers is quite a drag and often hard to automate with tools like puppet or cfengine.</p>
<p>I&#39;ve switched to doing this for all my different services with good results. With maven you can do this using the winstone-maven plugin very easily. </p>
<p>Another option is using the jetty-runner that was created for Jetty 7. The camel-web-standalone component in the Apache Camel project contains an example for creating a combined jar for jetty-runner and all dependencies.</p>
<p>Hope this helps someone.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
