<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>pax my framework</title>
	<atom:link href="http://adreghiciu.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://adreghiciu.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Thu, 05 Jan 2012 11:39:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='adreghiciu.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>pax my framework</title>
		<link>http://adreghiciu.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://adreghiciu.wordpress.com/osd.xml" title="pax my framework" />
	<atom:link rel='hub' href='http://adreghiciu.wordpress.com/?pushpress=hub'/>
		<item>
		<title>&gt; p2 set number of concurrent downloads for artifact repository</title>
		<link>http://adreghiciu.wordpress.com/2010/03/29/p2-set-number-of-concurrent-downloads-for-artifact-repository/</link>
		<comments>http://adreghiciu.wordpress.com/2010/03/29/p2-set-number-of-concurrent-downloads-for-artifact-repository/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 02:36:16 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[p2]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=108</guid>
		<description><![CDATA[As this days I&#8217;m so much into P2, I figured out that wil be good to post some of the &#8220;hidden&#8221; features I could find. So here it comes the first one. As a P2 repository author you are able to set up the number of threads P2 will use while downloading artifacts form your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=108&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As this days I&#8217;m so much into P2, I figured out that wil be good to post some of the &#8220;hidden&#8221; features I could find. So here it comes the first one.</p>
<p>As a P2 repository author you are able to set up the number of threads P2 will use while downloading artifacts form your repository. By default the number of threads is 4, value that you can alter by setting the &#8220;eclipse.p2.max.threads&#8221; property of your artifact repository.</p>
<p>You do that by adding the following xml snipplet to artifact.xml:</p>
<p><pre class="brush: xml;">
&lt;repository name=&quot;My fast repositoy&quot; type=&quot;...simpleRepository&quot; version=&quot;1&quot;&gt;
    ...
    &lt;properties&gt;
        &lt;property name=&quot;eclipse.p2.max.threads&quot; value=&quot;100&quot; /&gt;
    &lt;/properties&gt;
    ...
&lt;/repository&gt;
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=108&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2010/03/29/p2-set-number-of-concurrent-downloads-for-artifact-repository/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>Hot deploy WAR files in OSGi</title>
		<link>http://adreghiciu.wordpress.com/2009/12/18/hot-deploy-war-files-in-osgi/</link>
		<comments>http://adreghiciu.wordpress.com/2009/12/18/hot-deploy-war-files-in-osgi/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 22:34:16 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=91</guid>
		<description><![CDATA[These days I was looking for a simple way of deploying WAR files into OSGi. Something similar to a JEE servlet container does: I put the WAR file into a directory and it gets automatically deployed. Well, I could not find such a thing, which was easy enough to use (and do not tell me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=91&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>These days I was looking for a simple way of deploying WAR files into OSGi. Something similar to a JEE servlet container does: I put the WAR file into a directory and it gets automatically deployed. Well, I could not find such a thing, which was easy enough to use (and do not tell me to take Spring dm Server or IBM WAS 7 Alpha something  ).</p>
<p>So, what next? Only one option, build my own tools for such a thing. After all, how hard it could be?</p>
<p>I took <a href="http://paxrunner.ops4j.org" target="_blank">Pax Runner</a> to start it up easy, and provision via profiles <a href="http://paxweb.ops4j.org" target="_blank">Pax Web</a> for WAR support (<a href="http://adreghiciu.wordpress.com/2009/03/24/ops4j-pax-web-ahead-of-its-time/" target="_blank">inspiration of OSGi Alliance RFC-66</a>) and <a href="http://felix.apache.org/site/apache-felix-file-install.html" target="_blank">Felix File Install</a> for hot deployment of files in a directory. Of course that was not enough as in its raw form File Install will not deploy a WAR file since it is not an OSGi bundle. It had to be first transformed. I already have a tool to transform WAR files to OSGi bundles in the form of <a href="http://wiki.ops4j.org//x/XwJN" target="_blank">Pax Url WAR handler</a> (another <a href="http://adreghiciu.wordpress.com/2009/03/24/ops4j-pax-web-ahead-of-its-time/" target="_blank">inspiration of OSGi Alliance RFC-66</a>), what was missing was “something” to ask me to transform the WAR to its OSGi form. Lucky me! File Install is extensible in latest versions by transformers like the one I needed. Took me 15 minutes to put in place a new Pax Web module (Pax Web Deployer), implement the transformer, build it and start it up using Pax Runner. Then I copied Sonatype Nexus WAR into the watched directory and there it was: Nexus running under OSGi. Deleted the WAR, Nexus got uninstalled. Sweet!</p>
<p>Want to try it out?</p>
<ul>
<li><a href="http://wiki.ops4j.org//x/foKr" target="_blank">install Pax Runner</a> (note that using Pax Runner is just for convenience. What you need to get this working are just the bundles included in Pax Runner profiles and the new Pax Web Deployer)</li>
<li>start the osgi framework with the following command line:<br />
<pre class="brush: plain;">
pax-run war config felix.fileinstall url mvn:org.ops4j.pax.web/pax-web-deployer/0.7.3-SNAPSHOT --repositories=+http://repository.ops4j.org/mvn-snapshots/@snapshots
</pre></li>
<li>ensure that all the bundles are started</li>
<li>copy your WAR into &#8220;runner/load&#8221; directory under the directory from where you started .</li>
<li>watch the console to see your WAR getting deployed</li>
<li>have fun with it <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=91&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/12/18/hot-deploy-war-files-in-osgi/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>Pax Runner is in da cloud</title>
		<link>http://adreghiciu.wordpress.com/2009/12/03/pax-runner-is-in-da-cloud/</link>
		<comments>http://adreghiciu.wordpress.com/2009/12/03/pax-runner-is-in-da-cloud/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 19:05:27 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=89</guid>
		<description><![CDATA[Checkout the excellent post of Jeroen van Grondelle about running OSGi in a public cloud service via Pax Runner.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=89&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Checkout the excellent <a href="http://www.vangrondelle.com/2009/12/osgi-in-de-cloud/" target="_blank">post of Jeroen van Grondelle</a> about running OSGi in a public cloud service via Pax Runner.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=89&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/12/03/pax-runner-is-in-da-cloud/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>Pax Runner 1.3.0 Released</title>
		<link>http://adreghiciu.wordpress.com/2009/10/21/pax-runner-1-3-0-released/</link>
		<comments>http://adreghiciu.wordpress.com/2009/10/21/pax-runner-1-3-0-released/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 10:11:42 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=87</guid>
		<description><![CDATA[Pax Runner 1.3.0 is out. This release is mainly focusing on adding support for latest version of Felix (2.0.1) and Equinox (3.5.1). Beside this I added support for Equinox 3.6 (m2) and upgraded Knopflerfish support for 3.0 to use beta 2. Take a look at release notes for details. With this occasion I also brought the Eclipse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=87&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pax Runner 1.3.0 is out. This release is mainly focusing on adding support for latest version of Felix (2.0.1) and Equinox (3.5.1). Beside this I added support for Equinox 3.6 (m2) and upgraded Knopflerfish support for 3.0 to use beta 2. <a href="http://wiki.ops4j.org//x/NgDK" target="_blank">Take a look at release notes</a> for details.</p>
<p>With this occasion I also brought the Eclipse Update site up to date, so now, it includes <a href="http://wiki.ops4j.org//x/CAe4" target="_blank">Pax Runner Eclipse Plugin 1.3.0</a>. The update site url is: http://www.ops4j.org/pax/eclipse/update/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=87&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/10/21/pax-runner-1-3-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>The wait is over: Pax Runner is released</title>
		<link>http://adreghiciu.wordpress.com/2009/09/24/the-wait-is-over-pax-runner-is-released/</link>
		<comments>http://adreghiciu.wordpress.com/2009/09/24/the-wait-is-over-pax-runner-is-released/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 22:15:41 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[ops4j]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pax]]></category>
		<category><![CDATA[pax runner]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=80</guid>
		<description><![CDATA[It took about three months from the last release but finally I put out a new release of Pax Runner. The wait was mainly to my busy schedule working for Sonatype but also because I was waiting for OSGi Alliance to release 4.2. Now, why should I wait for release 4.2? Because in this version [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=80&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It took about three months from the last release but finally I put out a new release of Pax Runner. The wait was mainly to my busy schedule working for Sonatype but also because I was waiting for OSGi Alliance to release 4.2.</p>
<p>Now, why should I wait for release 4.2? Because in this version we included Apache Felix 2.0 (see bellow) and this is the first version of Felix implementing the 4.2 specs. And since Pax Runner was always provisioning automatically the OSGi Alliance Compendium bundle corresponding to the version of specs implemented by targeted framework. And this brings us to the first noteworthy fact in Pax Runner 1.2.0:</p>
<h3>Provision the OSGi Alliance of your need</h3>
<p>Why should Pax Runner decide for you what OSGi Alliance compendium bundle you need? Is this one different then any other bundle? No, I would say. The choice of what version to be provisioned or if should be provisioned at all is up to the user, not to the tool. So, from now on Pax Runner <strong>does not</strong> provision anymore the compendium bundle. But wait a minute. Is now harder to get started? I would say not. Indeed there are some more letters to type but you have the full control:<br />
<code><br />
pax-run compendium         // provision latest version of compendium (4.2 for now)<br />
pax-run compendium/4.1  // provision version 4.1 of compendium</code></p>
<p>But what is this? I do not know this type of provisioning. What it is? It is an alternative way to specify profiles.</p>
<h3>Easier way to specify profiles</h3>
<p>If you do not know what are Pax Runner profiles you better <a href="http://wiki.ops4j.org//x/nYKr" target="_blank">catch up</a> so can get started faster. Till now you had to specify profiles using the &#8220;&#8211;profiles&#8221; option. Not bad. But why should you type &#8220;&#8211;profiles&#8221; at all? No reason from now on. You just name the profiles you need on the command line. As you see above. In that case the &#8220;compendium&#8221;  is just a profile as any other. <a href="2009/09/07/tips-tricks-simpler-way-to-use-with-profiles-with-pax-runner/" target="_blank">Read more about about &#8230;</a></p>
<h3><a href="2009/09/07/tips-tricks-simpler-way-to-use-with-profiles-with-pax-runner/" target="_blank"></a>Support for latest Felix and Knopflerfish</h3>
<p>Now back to our man &#8220;business&#8221;: easy start to OSGi frameworks. In this version we added support for Apache Felix 2.0.0, Makewave Knopflerfish 2.3.2, 2.3.3 and support 3.0.0 beta 1 version.</p>
<h3>Chose the shell you like and know</h3>
<p>Did you find yourself typing &#8220;ps&#8221; while in Equinox? Or &#8220;ss&#8221; while in Felix or Kf? Then you will like the new option &#8220;&#8211;shell&#8221; that will allow you to use the <a href="http://adreghiciu.wordpress.com/2009/09/17/one-more-step-to-feel-at-home-in-any-osgi-framework/" target="_blank">same shell across the frameworks</a>. And Apache Karaf Shell 1.0.0 is around the corner <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Best I saw till now (extensible, completion, detailed help). Stay tuned.</p>
<h3>Assemble (build) directories into bundles</h3>
<p>Do you want to use a directory as you bundle packaging format as an alternative to a jar? <a href="http://adreghiciu.wordpress.com/2009/09/06/install-your-directory-as-a-bundle-in-apache-felix/" target="_blank">Use assembly: and Pax Runner</a>.</p>
<h3>Faster mvn: urls resolution</h3>
<p>In order to determine the download location and version of the artifact to download, &#8220;mvn:&#8221; protocol has to search across  the configured repositories. This process can be slow, particularly when many repositories are involved. Up to this version we used a set of four repositories to search by default: OPS4J, Maven Central and two SpringSource ones.<br />
So, to make this process faster and with help from <a href="http://nexus.sonatype.org/" target="_blank">Sonatype Nexus</a> we combined the four repositories into just one, a group repository in Nexus words. Beside the faster resolution we can this way also benefit from adding / removing repositories on demand without a need of re-downloading of Pax Runner. But if you liked the old way you can go back by using the new options &#8211;useFallbackRepositories (or &#8211;ufr).</p>
<h3>Bundle validation options</h3>
<p>Validate or no the bundles before provisioning, skip the invalid ones,&#8230; <a href="http://wiki.ops4j.org//x/qQq4" target="_blank">You choice</a>.</p>
<p>I hope you will enjoy this version. But first you will have to <a href="http://wiki.ops4j.org//x/EwLB" target="_blank">download</a> it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=80&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/09/24/the-wait-is-over-pax-runner-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>One more step to feel at home in any OSGi framework</title>
		<link>http://adreghiciu.wordpress.com/2009/09/17/one-more-step-to-feel-at-home-in-any-osgi-framework/</link>
		<comments>http://adreghiciu.wordpress.com/2009/09/17/one-more-step-to-feel-at-home-in-any-osgi-framework/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 19:10:16 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[ops4j]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pax]]></category>
		<category><![CDATA[pax runner]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=69</guid>
		<description><![CDATA[Pax Runner does an excellent job (beside many others ), to abstract you as an user from knowing or learning how to start any OSS OSGi framework implementation. But once you switch the framework, at a price of changing a letter, you find yourself into another shell where the commands you are familiar with, does [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=69&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pax Runner does an excellent job (beside many others <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), to abstract you as an user from knowing or learning how to start any OSS OSGi framework implementation. But once you switch the framework, at a price of changing a letter, you find yourself into another shell where the commands you are familiar with, does not work anymore, or those commands have a different meaning. Some of useful ones, like equinox &#8220;diag&#8221; or &#8220;bundle&#8221; are not available on other frameworks. This makes me switch the framework when I&#8217;m in need just to be able to use them.</p>
<p>So, wouldn&#8217;t be useful to have the same shell across the frameworks. Sure, it would. And now we are very close to this goal. For two main reasons: most important: There are shells available over there that work across frameworks such as GoGo from Apache Felix and GShell from Apache Karaf (Apache Felix subproject, formally known as ServiceMix Kernel). Sure, GoGo is not yet very powerful but is just a foundation and I expect that as soon as OSGi Alliance will release the specs for &#8220;Command line interface&#8221; (known as RFC 147) to see a lot of useful commands out there. In plus, the requirement for this API it does not bring any dependency or imposed interface implementation so many of the services will just contribute commands specific to their service implementation. Till now the &#8220;best&#8221; shell I&#8217;ve seen is the Karaf one and I&#8217;m looking forward to its first release.</p>
<p>The second reason why we are closer? Well,  the upcoming release of Pax Runner, 1.2.0 (any day now) has a new option: &#8211;shell. The value of this option is the name of the shell (and an optional shell version) as in the following example:<br />
<code><br />
pax-run --shel=gogo<br />
</code><br />
This will start the latest version of GoGo shell (and will disable the standard framework shell) in Felix. You want to start Equinox with the same shell? Simple:<br />
<code><br />
pax-run --shel=gogo --platform=equinox<br />
</code><br />
Same for Knopflerfish.</p>
<p>Want a specific version of that shell?<br />
<code><br />
pax-run --shel=gogo/0.2.0<br />
</code></p>
<p>Want to use another shell? Just <a href="http://wiki.ops4j.org//x/6ACy" target="_blank">create a profile</a> for it (if someone else did not already did it) and you are good to go. For example, if you created a profile named &#8220;mcs&#8221; (my cool shell) you will just have to:<br />
<code><br />
pax-run --shel=mcs<br />
</code></p>
<p>So, do you feel already at home?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=69&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/09/17/one-more-step-to-feel-at-home-in-any-osgi-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>OSGi Alliance artifacts available in Maven Central</title>
		<link>http://adreghiciu.wordpress.com/2009/09/17/osgi-alliance-artifacts-available-in-maven-central/</link>
		<comments>http://adreghiciu.wordpress.com/2009/09/17/osgi-alliance-artifacts-available-in-maven-central/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 07:22:30 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=60</guid>
		<description><![CDATA[Up to a month ago, the available OSGi Alliance jars from Maven Central were quite crappy as they had a strange naming scheme, no one assumed ownership and most annoying was that the jars did not have OSGi metadata in their manifest. More, they were version 1.0. 1.0? What version is that? The only option you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=60&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Up to a month ago, the available OSGi Alliance jars from Maven Central were quite crappy  as they had a strange naming scheme, no one assumed ownership and most annoying was that the jars did not have OSGi metadata in their manifest. More, they were version 1.0. 1.0? What version is that?</p>
<p>The only option you had been to use the artifacts provided by Apache Felix or the other framework implementations or the ones provided by OPS4J community.</p>
<p>Finally the official OSGi Alliance artifacts are now in Maven Central. This is exactly the same artifacts that you could download from OSGi Alliance site, with the right manifest and version. And yes, also the just <a href="http://www.infoq.com/news/2009/09/osgi-4-2-released" target="_blank">released version 4.2</a> is already there <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>From now on, there is no need of using third party repository to get access to them. For those that already used them from OPS4J repository there is no change in groupId/artifactId.</p>
<p><a href="http://repo1.maven.org/maven2/org/osgi/org.osgi.core/">http://repo1.maven.org/maven2/org/osgi/org.osgi.core/</a><br />
<a href="http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/">http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/</a></p>
<p><code><br />
&lt;dependency&gt;<br />
&lt;groupId&gt;org.osgi&lt;/groupId&gt;<br />
&lt;artifactId&gt;org.osgi.core&lt;/artifactId&gt;<br />
&lt;version&gt;4.2.0&lt;/version&gt;<br />
&lt;/dependency&gt;</code></p>
<p><code> </code></p>
<p><code>&lt;dependency&gt;<br />
&lt;groupId&gt;org.osgi&lt;/groupId&gt;<br />
&lt;artifactId&gt;org.osgi.compendium&lt;/artifactId&gt;<br />
&lt;version&gt;4.2.0&lt;/version&gt;<br />
&lt;/dependency&gt;<br />
</code></p>
<p>And, just one final mention: uploading the files to Maven Central was made possible via <a href="http://nexus.sonatype.org/oss-repository-hosting.html" target="_blank">Sonatype provided Nexus instance</a>, a facility that you can use for your OSS projects as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=60&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/09/17/osgi-alliance-artifacts-available-in-maven-central/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>Tips &amp; Tricks: Simpler way to use profiles with Pax Runner</title>
		<link>http://adreghiciu.wordpress.com/2009/09/07/tips-tricks-simpler-way-to-use-with-profiles-with-pax-runner/</link>
		<comments>http://adreghiciu.wordpress.com/2009/09/07/tips-tricks-simpler-way-to-use-with-profiles-with-pax-runner/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 21:00:53 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[ops4j]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pax]]></category>
		<category><![CDATA[pax runner]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[tips & tricks]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=39</guid>
		<description><![CDATA[In the upcoming Pax Runner (1.2.0) I added an alternative way to specify which profiles should be provisioned by Pax Runner. Till now the (only) way to specify a profile was to use &#8220;&#8211;profiles&#8221; option. Not bad, but from now on, there is a better way. Lets see an example where I want to use [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=39&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the upcoming <a href="http://wiki.ops4j.org//x/A4A6" target="_blank">Pax Runner</a> (1.2.0) I added an alternative way to specify which <a href="http://wiki.ops4j.org//x/5ACy" target="_blank">profiles</a> should be provisioned by Pax Runner. Till now the (only) way to specify a profile was to use &#8220;&#8211;profiles&#8221; option. Not bad, but from now on, there is a better way. Lets see an example where I want to use Pax Web- latest version, Spring Framework &#8211; version 2.5.6 and Pax Logging &#8211; any version between 1.0 and 2.0 exclusive:</p>
<p>Using &#8220;&#8211;profiles&#8221; you will have to do: <code>pax-run --profiles=web,spring/2.5.6,log/[1.0,2.0)</code><br />
While using the new method you will do: <code>pax-run web spring/2.5.6 log/[1.0,2.0)</code></p>
<p>So, you just have to specify them in the command line, separated by space, like any other provisioning url.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=39&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/09/07/tips-tricks-simpler-way-to-use-with-profiles-with-pax-runner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>Install your build directory as a bundle in Apache Felix</title>
		<link>http://adreghiciu.wordpress.com/2009/09/06/install-your-directory-as-a-bundle-in-apache-felix/</link>
		<comments>http://adreghiciu.wordpress.com/2009/09/06/install-your-directory-as-a-bundle-in-apache-felix/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 11:22:25 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[ops4j]]></category>
		<category><![CDATA[pax]]></category>
		<category><![CDATA[pax runner]]></category>
		<category><![CDATA[pax url]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=28</guid>
		<description><![CDATA[As you may know Apache Felix only supports installing JARs as bundles. But sometimes, as for example during your development, you may want to use the a directory as your bundle packaging format and have Felix allow you to install such a bundle. Usually such a directory is the directory where your sources gets compiled [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=28&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As you may know Apache Felix only supports installing JARs as bundles. But sometimes, as for example during your development, you may want to use the a directory as your bundle packaging format and have Felix allow you to install such a bundle. Usually such a directory is the directory where your sources gets compiled (build directory).</p>
<p>So, if you are in such a need, the new <a href="http://adreghiciu.wordpress.com/2009/09/05/provision-your-build-directory-as-an-osgi-bundle/">OPS4J Pax URL &#8220;assembly:&#8221;</a> url handler is for you. Here are the simple ways you can make use of it:</p>
<h4>Prepared Apache Felix</h4>
<p>First you will need to have Apache Felix installed. I suppose you already have it but if not, follow <a href="http://felix.apache.org/site/apache-felix-framework-usage-documentation.html">documentation of Felix site</a>. As I will make use more times of your installation directory, lets name it &lt;felix home&gt;. As for version 1.8.0, after unpacking the distribution files you will get felix-1.8.0 as your &lt;felix home&gt;.</p>
<p>Next you will need the &#8220;assembly:&#8221; url jar. Download the latest version from <a href="http://wiki.ops4j.org//x/iwC4">project download page</a> or take version 1.1.0 from this <a href="http://repo1.maven.org/maven2/org/ops4j/pax/url/pax-url-assembly/1.1.0/pax-url-assembly-1.1.0.jar">direct link</a>. Save the file (or copy afterwards) to &lt;felix home&gt;/bundles directory. As &#8220;assembly:&#8221; protocol importsConfiguration Admin packages you will have to also install a bundle that has them. You can use Apache Felix Config Admin implementation or just have the OSGi Alliance Compedium API bundle. We will use the former, so <a href="http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/4.1.0/org.osgi.compendium-4.1.0.jar">download it</a> and save it to &lt;felix home&gt;/bundles  (note that Config Admin will become optional starting with next releases of Pax URL).</p>
<p>Next you will have to instruct Felix to load this bundles on start. You do so by changing the configuration file. You will have to edit <tt>&lt;felix home&gt;/config/config.properties</tt>, look for felix.auto.start.1 and append this lines:<br />
<code><br />
file:bundle/org.osgi.compendium-4.0.1.jar \<br />
file:bundle/pax-url-assembly-1.1.0.jar<br />
</code></p>
<p>Next, start up Felix and you are good to go. Pax URL &#8220;assembly:&#8221; and &#8220;assemblyref:&#8221; protocols are now ready to use.</p>
<h4>From Apache Felix console</h4>
<p>If you do not want to change your Felix setup as abve and just try it out you can achieve the same from Felix console. So, startup Apache Felix and once you are in the console execute the following commands in order to install &#8220;assembly:&#8221; protocol:<br />
<code><br />
install http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/4.1.0/org.osgi.compendium-4.1.0.jar<br />
install http://repo1.maven.org/maven2/org/ops4j/pax/url/pax-url-assembly/1.1.0/pax-url-assembly-1.1.0.jar<br />
</code></p>
<p>Pax URL &#8220;assembly:&#8221; and &#8220;assemblyref:&#8221; protocols are now ready to use.</p>
<h4>Provision via Apache Felix FileInstall</h4>
<p>A simple way of provisioning Pax URL &#8220;assembly:&#8221; protocol is to use <a href="http://felix.apache.org/site/apache-felix-file-install.html">FileInstall</a>. If you do not know what is that, find it out from <a href="http://www.osgilook.com/2009/08/17/manage-your-osgi-application-with-apache-felix-fileinstall/">Filippo Diotalevi</a>.<br />
What you will have to do is to copy the two bundles (<a href="http://repo1.maven.org/maven2/org/ops4j/pax/url/pax-url-assembly/1.1.0/pax-url-assembly-1.1.0.jar">Pax URL Assembly</a> and <a href="http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/4.1.0/org.osgi.compendium-4.1.0.jar">OSGi Alliance Compendium</a>) to &lt;felix home&gt;/load (or &lt;felix home&gt;/dropins if you follow Filippo instructions).</p>
<p>Next, start up Felix and, once again, you are good to go. Pax URL &#8220;assembly:&#8221; and &#8220;assemblyref:&#8221; protocols are now ready to use.</p>
<h4>Provision via Pax Runner</h4>
<p>Of course that provisioning this bundles into Felix will be to use <a href="http://wiki.ops4j.org//x/A4A6">Pax Runner</a>. Once you have Pax Runner installed and ready to use, you will not need to download or configure anything. Pax Runner will do that for you with a simple:</p>
<p><code> pax-run --platform=felix --profiles=url<br />
</code></p>
<p>That&#8217;s it. Don&#8217;t believe me? Try it out ;). Again you are ready to go with &#8220;assembly:&#8221; and &#8220;assemblyref:&#8221; protocols.</p>
<h4>Configure java URL protocol handlers</h4>
<p>You can transparently make use of Pax URL handlers by <a href="http://java.sun.com/developer/onlineTraining/protocolhandlers/">configuring Java to discover them</a>. As Felix uses standard Java URL this will also work. But about this maybe some other time in another blog entry.</p>
<h4>Using the &#8220;assembly&#8221; protocols</h4>
<p>Now that you have an Apache Felix that knows about &#8220;assembly:&#8221; and &#8220;asemblyref:&#8221; protocol you can use them. Lets assume that you have a Maven project somewhere: &lt;my project&gt;. In this case your compiled classes are stored in &lt;my project&gt;/target/classes. What you will have to do to create &amp; instal a bundle containing this classes and any other resource which are in this directory is the following (from Felix console):</p>
<p><code> install assembly:&lt;my project&gt;/target/classes<br />
</code></p>
<p>That is all. You have now a bundle installed.<br />
I made some assumptions above such as in your build (by using Apache Felix Maven Bundle Plugin or other means), the &lt;my project&gt;/target/classes directory contained an OSGi valid META-INF/MANIFEST.MF. If that is not the case you can make use of <a href="http://wiki.ops4j.org//x/KoA6">Pax URL &#8220;wrap:&#8221;</a> protocol to automatically generate the OSGi manifest as in:<br />
<code><br />
install wrap:assembly:&lt;my project&gt;/target/classes<br />
</code></p>
<p>If this example of usage is not enough for you there are some much more in the <a href="http://wiki.ops4j.org//x/MgHB">&#8220;assembly:&#8221; protocol documentation page</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=28&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/09/06/install-your-directory-as-a-bundle-in-apache-felix/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
		<item>
		<title>Provision your build directory as an OSGi bundle</title>
		<link>http://adreghiciu.wordpress.com/2009/09/05/provision-your-build-directory-as-an-osgi-bundle/</link>
		<comments>http://adreghiciu.wordpress.com/2009/09/05/provision-your-build-directory-as-an-osgi-bundle/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 16:19:16 +0000</pubDate>
		<dc:creator>adreghiciu</dc:creator>
				<category><![CDATA[ops4j]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pax]]></category>
		<category><![CDATA[pax url]]></category>

		<guid isPermaLink="false">http://adreghiciu.wordpress.com/?p=20</guid>
		<description><![CDATA[During last week I added a new OSGi url handler member to OPS4J Pax URL family. There are probably numerous use cases when you could use the new  &#8221;assembly&#8221; protocol but one stands out: During development of your projects you usually have the sources on the file system, sources that are compiled by your build [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=20&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>During last week I added a new OSGi url handler member to <a href="http://wiki.ops4j.org//x/sgNN" target="_blank">OPS4J Pax URL</a> family.</p>
<p>There are probably numerous use cases when you could use the new  &#8221;assembly&#8221; protocol but one stands out:</p>
<p>During development of your projects you usually have the sources on the file system, sources that are compiled by your build system, such as Maven or ANT, or your IDE, and stored somewhere on the file system in a directory. As an example lets take Maven case: the compiled classes are stored under &#8220;/target/classes&#8221;. If you use an IDE such as IntelliJ IDEA on this Maven project, as soon as sources get changes, they are automatically compiled to the same directory.</p>
<p>Now, what would you want to do is to have the sources of this project, assembled together as bundle and deployed as a bundle in an OSGi framework. To do this you will have to (usually) generate an OSGi bundle (jar) our of this classes and deploy the generated bundle.</p>
<p>But why not directly deploy the directory as a bundle? Because most of OSGi frameworks only supports a jar as deployment artifact. And here is where the &#8220;assembly&#8221; protocol will shine. Will allow you to do just that: transparently deploy the directory as a bundle on ANY OSGi framework. More then that doing a bundle update will re-generate the bundle content automatically. And all of this with a simple URL like:<br />
<code><br />
assembly:/target/classes<br />
</code><br />
Now, you should not understand from this example that it can be used only with Maven. You can use any directory, include or exclude files you want and much more.</p>
<p>Sounds interesting? Read more about it on <a href="http://wiki.ops4j.org//x/MgHB" target="_blank">Pax URL &#8220;assembly&#8221; url handler documentation</a>. Do not forget to scroll down to see some tips &amp; tricks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adreghiciu.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/adreghiciu.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/adreghiciu.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/adreghiciu.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/adreghiciu.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/adreghiciu.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/adreghiciu.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/adreghiciu.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adreghiciu.wordpress.com&amp;blog=9322406&amp;post=20&amp;subd=adreghiciu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://adreghiciu.wordpress.com/2009/09/05/provision-your-build-directory-as-an-osgi-bundle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/58c544ff04ded5d80c3afe43db27631c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adreghiciu</media:title>
		</media:content>
	</item>
	</channel>
</rss>
