<?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: Understanding the OSGi uses Directive</title>
	<atom:link href="http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/</link>
	<description>The voice of SpringSource</description>
	<lastBuildDate>Sat, 20 Mar 2010 12:14:29 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: &#8220;Uses&#8221; Directive In OSGi &#171; rossenstoyanchev.org Blog</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-169455</link>
		<dc:creator>&#8220;Uses&#8221; Directive In OSGi &#171; rossenstoyanchev.org Blog</dc:creator>
		<pubDate>Sun, 15 Nov 2009 21:52:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-169455</guid>
		<description>[...] blog by Glyn Normington that explains the basic problem (note the comments section where he suggests [...]</description>
		<content:encoded><![CDATA[<p>[...] blog by Glyn Normington that explains the basic problem (note the comments section where he suggests [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cloning in dm Server 2.0 M3 &#124; SpringSource Team Blog</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-167255</link>
		<dc:creator>Cloning in dm Server 2.0 M3 &#124; SpringSource Team Blog</dc:creator>
		<pubDate>Wed, 10 Jun 2009 15:21:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-167255</guid>
		<description>[...] by OSGi resolver failures, in particular violations of uses constraints (as explained in an earlier blog). Some uses constraint violations cannot be avoided by cloning, but we can&#039;t tell until [...]</description>
		<content:encoded><![CDATA[<p>[...] by OSGi resolver failures, in particular violations of uses constraints (as explained in an earlier blog). Some uses constraint violations cannot be avoided by cloning, but we can&#39;t tell until [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SpringSource Team Blog &#187; SpringSource dm Server Roadmap</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-163932</link>
		<dc:creator>SpringSource Team Blog &#187; SpringSource dm Server Roadmap</dc:creator>
		<pubDate>Mon, 20 Apr 2009 13:34:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-163932</guid>
		<description>[...] it wires to the same EclipseLink bundle as Spring 2.5.6. More on uses can be found in Glyn&#039;s introduction blog and my blog on diagnosing uses [...]</description>
		<content:encoded><![CDATA[<p>[...] it wires to the same EclipseLink bundle as Spring 2.5.6. More on uses can be found in Glyn&#39;s introduction blog and my blog on diagnosing uses [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SpringSource Team Blog &#187; Our plans for building OSGi applications</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-151775</link>
		<dc:creator>SpringSource Team Blog &#187; Our plans for building OSGi applications</dc:creator>
		<pubDate>Wed, 18 Mar 2009 16:59:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-151775</guid>
		<description>[...] manifest and what versions they have. Importantly, the generation process will correctly generate uses metadata for you, removing one of the most tedious [...]</description>
		<content:encoded><![CDATA[<p>[...] manifest and what versions they have. Importantly, the generation process will correctly generate uses metadata for you, removing one of the most tedious [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glyn Normington</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-133448</link>
		<dc:creator>Glyn Normington</dc:creator>
		<pubDate>Tue, 23 Dec 2008 13:21:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-133448</guid>
		<description>The Uses directive will not help in this scenario.

(The only way bundle C can access distinct types of package P when P is split across bundles A and B is by using require-bundle: A,B. However, that is not something I would recommend as split packages are complex and error-prone. If you would like to discuss the requirement further, please post to the dm Server forums.)</description>
		<content:encoded><![CDATA[<p>The Uses directive will not help in this scenario.</p>
<p>(The only way bundle C can access distinct types of package P when P is split across bundles A and B is by using require-bundle: A,B. However, that is not something I would recommend as split packages are complex and error-prone. If you would like to discuss the requirement further, please post to the dm Server forums.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vishalj</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-133437</link>
		<dc:creator>Vishalj</dc:creator>
		<pubDate>Tue, 23 Dec 2008 12:44:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-133437</guid>
		<description>I have a requirement 
Bundle A exporting package P with some interface 
Bundle B exporting package P with different interface 
Bundle C requiring service from both the bundles 
is it possible or shall i change the version number 

Will uses directive help me in anyway</description>
		<content:encoded><![CDATA[<p>I have a requirement<br />
Bundle A exporting package P with some interface<br />
Bundle B exporting package P with different interface<br />
Bundle C requiring service from both the bundles<br />
is it possible or shall i change the version number </p>
<p>Will uses directive help me in anyway</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glyn Normington</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-132688</link>
		<dc:creator>Glyn Normington</dc:creator>
		<pubDate>Thu, 18 Dec 2008 17:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-132688</guid>
		<description>If you really wanted B to use the older version of F, then you&#039;d have to modify C so it could also use that version. Note that the uses directive is preventing runtime errors, such as class cast exceptions, from occurring where incompatible types from two versions of the org.foo package conflict.

A more significant change would be to rework bundle B so that org.foo types no longer &quot;leak out&quot; via org.bar types. Then you could delete the uses directive and B and C could use distinct versions of the package org.foo.

(Thanks for spotting my typo. - I have edited the blog.)</description>
		<content:encoded><![CDATA[<p>If you really wanted B to use the older version of F, then you&#039;d have to modify C so it could also use that version. Note that the uses directive is preventing runtime errors, such as class cast exceptions, from occurring where incompatible types from two versions of the org.foo package conflict.</p>
<p>A more significant change would be to rework bundle B so that org.foo types no longer &#034;leak out&#034; via org.bar types. Then you could delete the uses directive and B and C could use distinct versions of the package org.foo.</p>
<p>(Thanks for spotting my typo. &#8211; I have edited the blog.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lofi Dewanto</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-131651</link>
		<dc:creator>Lofi Dewanto</dc:creator>
		<pubDate>Tue, 09 Dec 2008 12:22:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-131651</guid>
		<description>Thanks a lot for a good intro to &quot;uses&quot; directive...

You wrote:
&quot;Stepping back from the detail, we know that the uses conflict is due to bundle C importing a different version of package org.foo than that imported by bundle C (Maybe bundle B?). Something must be causing different versions to be used and when we check the package imports carefully, we realise that we forgot to upgrade B to use the latest version of F&quot;.

My question:
What if I want *explicitly* that B should use the older version of F? How can I reach this?

I described my problem with versioning of bundles with Spring dm here in Spring forum:
http://forum.springsource.org/showthread.php?t=64480

Thanks,
Lofi.</description>
		<content:encoded><![CDATA[<p>Thanks a lot for a good intro to &#034;uses&#034; directive&#8230;</p>
<p>You wrote:<br />
&#034;Stepping back from the detail, we know that the uses conflict is due to bundle C importing a different version of package org.foo than that imported by bundle C (Maybe bundle B?). Something must be causing different versions to be used and when we check the package imports carefully, we realise that we forgot to upgrade B to use the latest version of F&#034;.</p>
<p>My question:<br />
What if I want *explicitly* that B should use the older version of F? How can I reach this?</p>
<p>I described my problem with versioning of bundles with Spring dm here in Spring forum:<br />
<a href="http://forum.springsource.org/showthread.php?t=64480" rel="nofollow">http://forum.springsource.org/showthread.php?t=64480</a></p>
<p>Thanks,<br />
Lofi.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SpringSource Team Blog &#187; Diagnosing OSGi uses conflicts</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-130134</link>
		<dc:creator>SpringSource Team Blog &#187; Diagnosing OSGi uses conflicts</dc:creator>
		<pubDate>Sat, 22 Nov 2008 21:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-130134</guid>
		<description>[...] on November 22nd, 2008 by Rob Harrop in Spring.  In his recent blog entry, Glyn provided an introduction to the OSGi &quot;uses&quot; directive. In this blog, I want to dig [...]</description>
		<content:encoded><![CDATA[<p>[...] on November 22nd, 2008 by Rob Harrop in Spring.  In his recent blog entry, Glyn provided an introduction to the OSGi &#34;uses&#34; directive. In this blog, I want to dig [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glyn Normington</title>
		<link>http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/comment-page-1/#comment-125960</link>
		<dc:creator>Glyn Normington</dc:creator>
		<pubDate>Wed, 22 Oct 2008 07:36:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springsource.com/?p=462#comment-125960</guid>
		<description>Agreed. Tools like bnd certainly make it easier to maintain correct manifests.</description>
		<content:encoded><![CDATA[<p>Agreed. Tools like bnd certainly make it easier to maintain correct manifests.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
