<?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: OSGi and Start Levels</title>
	<atom:link href="http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/feed/" rel="self" type="application/rss+xml" />
	<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/</link>
	<description>Eclipse Equinox OSGi</description>
	<lastBuildDate>Wed, 16 May 2012 08:22:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Sameera Jayasoma</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1742</link>
		<dc:creator>Sameera Jayasoma</dc:creator>
		<pubDate>Sat, 13 Jun 2009 06:47:35 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1742</guid>
		<description>Nice Article with important content,

Yes, we in WSO2 also believe that a bundle should never depend on start levels. A bundle should be able to handle the dynamic behavior of OSGi services.

In order to solve this problem, we have used OSGi Declarative Services (DS) extensively.  That worked very well for us.

Sameera</description>
		<content:encoded><![CDATA[<p>Nice Article with important content,</p>
<p>Yes, we in WSO2 also believe that a bundle should never depend on start levels. A bundle should be able to handle the dynamic behavior of OSGi services.</p>
<p>In order to solve this problem, we have used OSGi Declarative Services (DS) extensively.  That worked very well for us.</p>
<p>Sameera</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Graham Jenson</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1737</link>
		<dc:creator>Graham Jenson</dc:creator>
		<pubDate>Thu, 11 Jun 2009 23:26:19 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1737</guid>
		<description>Great article,

Cant wait for the new Eclipse to be finally released with P2.

Graham</description>
		<content:encoded><![CDATA[<p>Great article,</p>
<p>Cant wait for the new Eclipse to be finally released with P2.</p>
<p>Graham</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Aniszczyk</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1735</link>
		<dc:creator>Chris Aniszczyk</dc:creator>
		<pubDate>Thu, 11 Jun 2009 19:47:32 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1735</guid>
		<description>It&#039;s similar in concept to kernel start levels.

In response to &quot;start levels and OSGI dependencies can totally screw up start levels if you are not careful, yes?&quot;

The short answer is that start levels have no impact on bundle resolution.

In the end, it shouldn&#039;t matter. Start levels are really a configuration issue. Your bundle should work whether any services are available or not... this is what we call coding for dynamics.

However, you have inspired me to do some more investigation about start levels. I am not 100% sure what would happen if you had three bundles A,B,C and the active start level was 20. B depended on C. C had a start level of 100 and was lazy start.</description>
		<content:encoded><![CDATA[<p>It&#8217;s similar in concept to kernel start levels.</p>
<p>In response to &#8220;start levels and OSGI dependencies can totally screw up start levels if you are not careful, yes?&#8221;</p>
<p>The short answer is that start levels have no impact on bundle resolution.</p>
<p>In the end, it shouldn&#8217;t matter. Start levels are really a configuration issue. Your bundle should work whether any services are available or not&#8230; this is what we call coding for dynamics.</p>
<p>However, you have inspired me to do some more investigation about start levels. I am not 100% sure what would happen if you had three bundles A,B,C and the active start level was 20. B depended on C. C had a start level of 100 and was lazy start.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Konigsberg</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1734</link>
		<dc:creator>Robert Konigsberg</dc:creator>
		<pubDate>Thu, 11 Jun 2009 19:28:15 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1734</guid>
		<description>Funny, just last night I noticed the start levels in the 3.5 release. Very nice. I don&#039;t know much about Linux Kernel start levels, but it seems similar.

Something that seems obvious, but merits asking: start levels and OSGI dependencies can totally screw up start levels if you are not careful, yes?</description>
		<content:encoded><![CDATA[<p>Funny, just last night I noticed the start levels in the 3.5 release. Very nice. I don&#8217;t know much about Linux Kernel start levels, but it seems similar.</p>
<p>Something that seems obvious, but merits asking: start levels and OSGI dependencies can totally screw up start levels if you are not careful, yes?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Aniszczyk</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1732</link>
		<dc:creator>Chris Aniszczyk</dc:creator>
		<pubDate>Thu, 11 Jun 2009 13:48:24 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1732</guid>
		<description>Sure Wim. In OSGi, services are only available when a bundle is started (in the ACTIVE state).

In the latest DS specification (1.1), DS can look at bundles in the STARTING state (Bundle-ActivationPolicy: Lazy). So effectively, to take advantage of DS and lazy bundles, you just need to mark your bundles to be lazy and DS can start them when needed. In the past, DS would only work if the services were available via the ACTIVE state.

Does this make sense?</description>
		<content:encoded><![CDATA[<p>Sure Wim. In OSGi, services are only available when a bundle is started (in the ACTIVE state).</p>
<p>In the latest DS specification (1.1), DS can look at bundles in the STARTING state (Bundle-ActivationPolicy: Lazy). So effectively, to take advantage of DS and lazy bundles, you just need to mark your bundles to be lazy and DS can start them when needed. In the past, DS would only work if the services were available via the ACTIVE state.</p>
<p>Does this make sense?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wim Jongman</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1731</link>
		<dc:creator>Wim Jongman</dc:creator>
		<pubDate>Thu, 11 Jun 2009 10:45:50 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1731</guid>
		<description>Hi Chris,

Thanks for the article. I have a question about the dynamics of DS. In the 3.5M6 New and Noteworthy there is this information:

The Eclipse rich client platform now includes an implementation of OSGi declarative services (DS). This allows a lazy-starting plug-in to make OSGi services available to other plug-ins before it has been started.

In your blog you state:

An OSGi service is ONLY available when the bundle is in the ACTIVE state

Can you elaborate on that a bit more?

Thanks,

Wim Jongman</description>
		<content:encoded><![CDATA[<p>Hi Chris,</p>
<p>Thanks for the article. I have a question about the dynamics of DS. In the 3.5M6 New and Noteworthy there is this information:</p>
<p>The Eclipse rich client platform now includes an implementation of OSGi declarative services (DS). This allows a lazy-starting plug-in to make OSGi services available to other plug-ins before it has been started.</p>
<p>In your blog you state:</p>
<p>An OSGi service is ONLY available when the bundle is in the ACTIVE state</p>
<p>Can you elaborate on that a bit more?</p>
<p>Thanks,</p>
<p>Wim Jongman</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jawher</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1727</link>
		<dc:creator>Jawher</dc:creator>
		<pubDate>Wed, 10 Jun 2009 21:23:49 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1727</guid>
		<description>Hi,
  This feature will come in real handy for server side development, thanks :)

@ekke: and also for any frameworks using the extender pattern, like Spring DM for example.

cheers</description>
		<content:encoded><![CDATA[<p>Hi,<br />
  This feature will come in real handy for server side development, thanks <img src='http://eclipsesource.com/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>@ekke: and also for any frameworks using the extender pattern, like Spring DM for example.</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ekke</title>
		<link>http://eclipsesource.com/blogs/2009/06/10/osgi-and-start-levels/comment-page-1/#comment-1726</link>
		<dc:creator>ekke</dc:creator>
		<pubDate>Wed, 10 Jun 2009 21:02:27 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=1550#comment-1726</guid>
		<description>chris,
a great article - it will surely help people to understand start level better.
for me the first rule about using start levels is:
&quot;Try to avoid setting of start-levels and let OSGI framework decide when to start a bundle&quot;
of course there are exceptions ;-)
* Logging: if you want to catch all log events from different log frameworks / log services then perhaps the bundle managing this should be started early - otherwise some log events could fall into a black hole
* if DS need ConfigurationAdminService then the ConfigurationAdmin bundle must be started earlier then DS (bugzilla 276003)
ekke</description>
		<content:encoded><![CDATA[<p>chris,<br />
a great article &#8211; it will surely help people to understand start level better.<br />
for me the first rule about using start levels is:<br />
&#8220;Try to avoid setting of start-levels and let OSGI framework decide when to start a bundle&#8221;<br />
of course there are exceptions <img src='http://eclipsesource.com/blogs/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
* Logging: if you want to catch all log events from different log frameworks / log services then perhaps the bundle managing this should be started early &#8211; otherwise some log events could fall into a black hole<br />
* if DS need ConfigurationAdminService then the ConfigurationAdmin bundle must be started earlier then DS (bugzilla 276003)<br />
ekke</p>
]]></content:encoded>
	</item>
</channel>
</rss>

