<?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: Custom URL protocols and multiple classloaders</title>
	<atom:link href="http://www.cooljeff.co.uk/2009/12/12/custom-url-protocols-and-multiple-classloaders/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cooljeff.co.uk/2009/12/12/custom-url-protocols-and-multiple-classloaders/</link>
	<description>my 2 pence to the world</description>
	<lastBuildDate>Thu, 01 Jul 2010 18:46:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: admin</title>
		<link>http://www.cooljeff.co.uk/2009/12/12/custom-url-protocols-and-multiple-classloaders/comment-page-1/#comment-128</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Sun, 13 Dec 2009 13:02:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.cooljeff.co.uk/?p=172#comment-128</guid>
		<description>Stuart, thanks for this, I was not fully aware of how OSGI works around the various issues and Chapter 11 does a good job at explaining it.</description>
		<content:encoded><![CDATA[<p>Stuart, thanks for this, I was not fully aware of how OSGI works around the various issues and Chapter 11 does a good job at explaining it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stuart McCulloch</title>
		<link>http://www.cooljeff.co.uk/2009/12/12/custom-url-protocols-and-multiple-classloaders/comment-page-1/#comment-127</link>
		<dc:creator>Stuart McCulloch</dc:creator>
		<pubDate>Sun, 13 Dec 2009 02:13:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.cooljeff.co.uk/?p=172#comment-127</guid>
		<description>You might want to look at the URL Handlers Service (chapter 11 of the OSGi core specification http://www.osgi.org/download/r4v42/r4.core.pdf)

It defines a service-based approach for registering URL handlers in a modular, dynamic application. The basic idea is that you can register an implementation of URLStreamHandlerService with the OSGi service registry - the various service implementations are then discovered by the real (singleton) URLStreamHandler that&#039;s registered by the OSGi framework. The framework handler is responsible for sending incoming requests to the right handler service.

You can find a concrete example over at http://wiki.ops4j.org/display/paxurl/Pax+URL which also works in a standard Java environment, except without the dynamic part.

Of course, there are some wrinkles (mostly when embedding frameworks inside other containers) but most OSGi frameworks can also support this by using reflection to chain to existing handler factories.</description>
		<content:encoded><![CDATA[<p>You might want to look at the URL Handlers Service (chapter 11 of the OSGi core specification <a href="http://www.osgi.org/download/r4v42/r4.core.pdf)" rel="nofollow">http://www.osgi.org/download/r4v42/r4.core.pdf)</a></p>
<p>It defines a service-based approach for registering URL handlers in a modular, dynamic application. The basic idea is that you can register an implementation of URLStreamHandlerService with the OSGi service registry &#8211; the various service implementations are then discovered by the real (singleton) URLStreamHandler that&#8217;s registered by the OSGi framework. The framework handler is responsible for sending incoming requests to the right handler service.</p>
<p>You can find a concrete example over at <a href="http://wiki.ops4j.org/display/paxurl/Pax+URL" rel="nofollow">http://wiki.ops4j.org/display/paxurl/Pax+URL</a> which also works in a standard Java environment, except without the dynamic part.</p>
<p>Of course, there are some wrinkles (mostly when embedding frameworks inside other containers) but most OSGi frameworks can also support this by using reflection to chain to existing handler factories.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

