<?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/"
		>
<channel>
	<title>Comments on: You can&#8217;t keep a good idea down</title>
	<atom:link href="http://blog.markturansky.com/archives/77/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.markturansky.com/archives/77</link>
	<description>software architecture &#38; engineering, code hints, sometimes philosophy, photography, life, etc.</description>
	<lastBuildDate>Sun, 20 Jun 2010 07:51:38 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: David H</title>
		<link>http://blog.markturansky.com/archives/77/comment-page-1#comment-718</link>
		<dc:creator>David H</dc:creator>
		<pubDate>Sun, 04 May 2008 15:42:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/77#comment-718</guid>
		<description>We&#039;re lucky in that our system is pretty much all-new development where every service is being built by us, so that we can enforce lifecycle control and notifications.  I&#039;m looking into using annotations that our classloader can introspect when it loads a service - both for pattern conformance and also to possibly generate/map the necessary subscribers and callbacks to the bus, leaving the developer free to just write business logic.</description>
		<content:encoded><![CDATA[<p>We&#8217;re lucky in that our system is pretty much all-new development where every service is being built by us, so that we can enforce lifecycle control and notifications.  I&#8217;m looking into using annotations that our classloader can introspect when it loads a service &#8211; both for pattern conformance and also to possibly generate/map the necessary subscribers and callbacks to the bus, leaving the developer free to just write business logic.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Svensson</title>
		<link>http://blog.markturansky.com/archives/77/comment-page-1#comment-717</link>
		<dc:creator>Peter Svensson</dc:creator>
		<pubDate>Sat, 03 May 2008 21:38:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/77#comment-717</guid>
		<description>Every paragraph I read I thought, Well, yes, that&#039;s great.. but we&#039;ve been doing that in scripting languages for ages. 
It is good, though, that Java gets a short-cut to using less life per app. This really is very good. 

Still, should you become inclined to look, there are are similar treasures further out, for free.</description>
		<content:encoded><![CDATA[<p>Every paragraph I read I thought, Well, yes, that&#8217;s great.. but we&#8217;ve been doing that in scripting languages for ages.<br />
It is good, though, that Java gets a short-cut to using less life per app. This really is very good. </p>
<p>Still, should you become inclined to look, there are are similar treasures further out, for free.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://blog.markturansky.com/archives/77/comment-page-1#comment-716</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Fri, 02 May 2008 21:20:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/77#comment-716</guid>
		<description>More ClassLoader fun: http://bugs.sun.com/view_bug.do?bug_id=4950148</description>
		<content:encoded><![CDATA[<p>More ClassLoader fun: <a href="http://bugs.sun.com/view_bug.do?bug_id=4950148" rel="nofollow">http://bugs.sun.com/view_bug.do?bug_id=4950148</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://blog.markturansky.com/archives/77/comment-page-1#comment-715</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Fri, 02 May 2008 20:36:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/77#comment-715</guid>
		<description>As a member of Mark&#039;s team, let me say: good luck with cleanly un-deploying services developed outside of your control.

A good summary of the problems you might face:
http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669

It&#039;s harder getting classes to unload than you might think, even if you control the classloader in which they were instantiated!</description>
		<content:encoded><![CDATA[<p>As a member of Mark&#8217;s team, let me say: good luck with cleanly un-deploying services developed outside of your control.</p>
<p>A good summary of the problems you might face:<br />
<a href="http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669" rel="nofollow">http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669</a></p>
<p>It&#8217;s harder getting classes to unload than you might think, even if you control the classloader in which they were instantiated!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kiet Ly</title>
		<link>http://blog.markturansky.com/archives/77/comment-page-1#comment-714</link>
		<dc:creator>Kiet Ly</dc:creator>
		<pubDate>Fri, 02 May 2008 16:14:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/77#comment-714</guid>
		<description>Spring-integration has queuing &amp; routing like ESB but I don&#039;t know how easily it would be integrated into spring-ap. Perhap it must be an OSGI modules first?</description>
		<content:encoded><![CDATA[<p>Spring-integration has queuing &amp; routing like ESB but I don&#8217;t know how easily it would be integrated into spring-ap. Perhap it must be an OSGI modules first?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David H</title>
		<link>http://blog.markturansky.com/archives/77/comment-page-1#comment-709</link>
		<dc:creator>David H</dc:creator>
		<pubDate>Fri, 02 May 2008 06:04:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.markturansky.com/archives/77#comment-709</guid>
		<description>I&#039;ve just implemented a version of this message bus, built a service loader using a classloader-per-service (going to enhance to be closer to the bootstrapping design you mention), and will be enhancing the service loading to support hot-deploy-undeploy of service jar files.

Of course, without Terracotta, it doesn&#039;t make sense to do it because you can&#039;t scale it without adding a lot of complexity for distribution - but thanks to Terracotta and your post about the message bus you did, we have stripped all J2EE out of our architecture making it much simpler for service developers, much faster, and much more scalable.  What has us so excited about this approach is exactly what you said about developer productivity - that is Right On!

So thanks for putting two and two together so easily and pointing the way - this should be the standard architecture for any pure Java distributed system.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve just implemented a version of this message bus, built a service loader using a classloader-per-service (going to enhance to be closer to the bootstrapping design you mention), and will be enhancing the service loading to support hot-deploy-undeploy of service jar files.</p>
<p>Of course, without Terracotta, it doesn&#8217;t make sense to do it because you can&#8217;t scale it without adding a lot of complexity for distribution &#8211; but thanks to Terracotta and your post about the message bus you did, we have stripped all J2EE out of our architecture making it much simpler for service developers, much faster, and much more scalable.  What has us so excited about this approach is exactly what you said about developer productivity &#8211; that is Right On!</p>
<p>So thanks for putting two and two together so easily and pointing the way &#8211; this should be the standard architecture for any pure Java distributed system.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
