You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@ace.apache.org by "Walz, Jochen (ext)" <Jo...@knorr-bremse.com> on 2014/10/20 08:46:03 UTC

Defining start level for OSGi bundles

Dear all,

Apache Felix allows to define start levels for OSGi bundles (felix.auto.start.1=...). When bundles are deployed with ACE, is it possible to define the start level for each bundle? I haven't found something in the documentation so far.

Kind Regards,
Jochen

Knorr-Bremse Systeme für Schienenfahrzeuge GmbH
Sitz: München
Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. Peter Radina, Dr. Ralf Voss
Vorsitzender des Aufsichtsrats: Dr. Dieter Wilhelm
Registergericht München, HR B 91 181

This transmission is intended solely for the addressee and contains confidential information.
If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system. 
Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.


Re: Defining start level for OSGi bundles

Posted by Bram Pouwelse <br...@pouwelse.com>.
Hi,

I've tried using Ace in Karaf  (think that's over a year ago by now), in my
experience the Karaf features rely on the start levels.

Regards,
Bram



2014-10-20 11:56 GMT+02:00 Marcel Offermans <ma...@luminis.nl>:

> Hello Jochen,
>
> Yes, please try that first.
>
> You might run into issues though. Karaf does not support updating
> features. If you want to "update" a feature, it will do an "uninstall" and
> "install" which is semantically very different in OSGi. It will destroy
> your bundle cache for example, which is a bad thing for bundles that
> persist data, such as ConfigurationAdmin.
>
> So I am not sure how thorough the Karaf team is in testing if "update"
> works for their bundles. I would argue that if it does not work, that is a
> bug in their bundles. :)
>
> Greetings, Marcel
>
> On 20 Oct 2014 at 10:56:01 , Walz, Jochen (ext) (
> jochen.walz@knorr-bremse.com) wrote:
>
> Thanks, Philipp, Marcel.
>
> I have an OSGi system running in Karaf, and was checking to which extend
> the deployment of feature packages (public packages like ActiveMQ, Camel,
> and my own features) could be performed via ACE instead of defining the
> configuration in Karaf config files on the targets. Start levels are
> heavily used in many Karaf feature definition files, and I assume there is
> a reason for that. But - to be honest - I have not yet tried to just deploy
> them using ACE and check which dependency issues might arise.
>
> Cheers,
> Jochen
>
> -----Original Message-----
> From: Marcel Offermans [mailto:marcel.offermans@luminis.nl]
> Sent: Monday, October 20, 2014 10:02 AM
> To: users@ace.apache.org; Philipp Buluschek
> Subject: Re: Defining start level for OSGi bundles
>
> Philipp is correct, it's an anti-pattern to *rely* on start levels for
> ordering the sequence in which bundles start. Some background and
> explanation can be found here [1]. This is also why ACE has no direct
> support for them: it should not ever be necessary to have them from a
> deployment aspect. Still, there are ways to make start levels work, as
> indicated below.
>
> I am curious, Jochen, what exactly is your use case?
>
> Greetings, Marcel
>
> [1] http://www.planetmarrs.net/start-levels-in-osgi/
> On 20 Oct 2014 at 9:46:02 , Philipp Buluschek (djbulu@gmail.com) wrote:
>
> Requoting Bram De Kruijff on this mailing list 22/09
>
> > - how can I assign a bundle start level to a bundle deployed by ACE?
>
> No, you can not as it is not covered by the specification. You could
> probably make it work using resource processors and/or a customized agent.
> However, in general start levels are considered to be an anti-pattern, so
> you should not use them anyway
>
> Regards Philipp
>
> On 20.10.2014 08:46, Walz, Jochen (ext) wrote:
> > Dear all,
> >
> > Apache Felix allows to define start levels for OSGi bundles
> (felix.auto.start.1=...). When bundles are deployed with ACE, is it
> possible to define the start level for each bundle? I haven't found
> something in the documentation so far.
> >
> > Kind Regards,
> > Jochen
> >
> > Knorr-Bremse Systeme für Schienenfahrzeuge GmbH
> > Sitz: München
> > Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr.
> > Peter Radina, Dr. Ralf Voss Vorsitzender des Aufsichtsrats: Dr. Dieter
> > Wilhelm Registergericht München, HR B 91 181
> >
> > This transmission is intended solely for the addressee and contains
> confidential information.
> > If you are not the intended recipient, please immediately inform the
> sender and delete the message and any attachments from your system.
> > Furthermore, please do not copy the message or disclose the contents to
> anyone unless agreed otherwise. To the extent permitted by law we shall in
> no way be liable for any damages, whatever their nature, arising out of
> transmission failures, viruses, external influence, delays and the like.
> >
> >
>
>
> Knorr-Bremse Systeme für Schienenfahrzeuge GmbH
> Sitz: München
> Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. Peter
> Radina, Dr. Ralf Voss
> Vorsitzender des Aufsichtsrats: Dr. Dieter Wilhelm
> Registergericht München, HR B 91 181
>
> This transmission is intended solely for the addressee and contains
> confidential information.
> If you are not the intended recipient, please immediately inform the
> sender and delete the message and any attachments from your system.
> Furthermore, please do not copy the message or disclose the contents to
> anyone unless agreed otherwise. To the extent permitted by law we shall in
> no way be liable for any damages, whatever their nature, arising out of
> transmission failures, viruses, external influence, delays and the like.
>
>

RE: Defining start level for OSGi bundles

Posted by Marcel Offermans <ma...@luminis.nl>.
Hello Jochen,

Yes, please try that first.

You might run into issues though. Karaf does not support updating features. If you want to “update” a feature, it will do an “uninstall” and “install” which is semantically very different in OSGi. It will destroy your bundle cache for example, which is a bad thing for bundles that persist data, such as ConfigurationAdmin.

So I am not sure how thorough the Karaf team is in testing if “update” works for their bundles. I would argue that if it does not work, that is a bug in their bundles. :)

Greetings, Marcel

On 20 Oct 2014 at 10:56:01 , Walz, Jochen (ext) (jochen.walz@knorr-bremse.com) wrote:

Thanks, Philipp, Marcel.  

I have an OSGi system running in Karaf, and was checking to which extend the deployment of feature packages (public packages like ActiveMQ, Camel, and my own features) could be performed via ACE instead of defining the configuration in Karaf config files on the targets. Start levels are heavily used in many Karaf feature definition files, and I assume there is a reason for that. But - to be honest - I have not yet tried to just deploy them using ACE and check which dependency issues might arise.  

Cheers,  
Jochen  

-----Original Message-----  
From: Marcel Offermans [mailto:marcel.offermans@luminis.nl]  
Sent: Monday, October 20, 2014 10:02 AM  
To: users@ace.apache.org; Philipp Buluschek  
Subject: Re: Defining start level for OSGi bundles  

Philipp is correct, it’s an anti-pattern to *rely* on start levels for ordering the sequence in which bundles start. Some background and explanation can be found here [1]. This is also why ACE has no direct support for them: it should not ever be necessary to have them from a deployment aspect. Still, there are ways to make start levels work, as indicated below.  

I am curious, Jochen, what exactly is your use case?  

Greetings, Marcel  

[1] http://www.planetmarrs.net/start-levels-in-osgi/  
On 20 Oct 2014 at 9:46:02 , Philipp Buluschek (djbulu@gmail.com) wrote:  

Requoting Bram De Kruijff on this mailing list 22/09  

> - how can I assign a bundle start level to a bundle deployed by ACE?  

No, you can not as it is not covered by the specification. You could probably make it work using resource processors and/or a customized agent. However, in general start levels are considered to be an anti-pattern, so you should not use them anyway  

Regards Philipp  

On 20.10.2014 08:46, Walz, Jochen (ext) wrote:  
> Dear all,  
>  
> Apache Felix allows to define start levels for OSGi bundles (felix.auto.start.1=...). When bundles are deployed with ACE, is it possible to define the start level for each bundle? I haven't found something in the documentation so far.  
>  
> Kind Regards,  
> Jochen  
>  
> Knorr-Bremse Systeme für Schienenfahrzeuge GmbH  
> Sitz: München  
> Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr.  
> Peter Radina, Dr. Ralf Voss Vorsitzender des Aufsichtsrats: Dr. Dieter  
> Wilhelm Registergericht München, HR B 91 181  
>  
> This transmission is intended solely for the addressee and contains confidential information.  
> If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system.  
> Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.  
>  
>  


Knorr-Bremse Systeme für Schienenfahrzeuge GmbH  
Sitz: München  
Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. Peter Radina, Dr. Ralf Voss  
Vorsitzender des Aufsichtsrats: Dr. Dieter Wilhelm  
Registergericht München, HR B 91 181  

This transmission is intended solely for the addressee and contains confidential information.  
If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system.  
Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.  


RE: Defining start level for OSGi bundles

Posted by "Walz, Jochen (ext)" <Jo...@knorr-bremse.com>.
Thanks, Philipp, Marcel.

I have an OSGi system running in Karaf, and was checking to which extend the deployment of feature packages (public packages like ActiveMQ, Camel, and my own features) could be performed via ACE instead of defining the configuration in Karaf config files on the targets. Start levels are heavily used in many Karaf feature definition files, and I assume there is a reason for that. But - to be honest - I have not yet tried to just deploy them using ACE and check which dependency issues might arise.

Cheers,
Jochen

-----Original Message-----
From: Marcel Offermans [mailto:marcel.offermans@luminis.nl] 
Sent: Monday, October 20, 2014 10:02 AM
To: users@ace.apache.org; Philipp Buluschek
Subject: Re: Defining start level for OSGi bundles

Philipp is correct, it’s an anti-pattern to *rely* on start levels for ordering the sequence in which bundles start. Some background and explanation can be found here [1]. This is also why ACE has no direct support for them: it should not ever be necessary to have them from a deployment aspect. Still, there are ways to make start levels work, as indicated below.

I am curious, Jochen, what exactly is your use case?

Greetings, Marcel

[1] http://www.planetmarrs.net/start-levels-in-osgi/
On 20 Oct 2014 at 9:46:02 , Philipp Buluschek (djbulu@gmail.com) wrote:

Requoting Bram De Kruijff on this mailing list 22/09  

> - how can I assign a bundle start level to a bundle deployed by ACE?  

No, you can not as it is not covered by the specification. You could probably make it work using resource processors and/or a customized agent. However, in general start levels are considered to be an anti-pattern, so you should not use them anyway  

Regards Philipp  

On 20.10.2014 08:46, Walz, Jochen (ext) wrote:  
> Dear all,
>  
> Apache Felix allows to define start levels for OSGi bundles (felix.auto.start.1=...). When bundles are deployed with ACE, is it possible to define the start level for each bundle? I haven't found something in the documentation so far.  
>  
> Kind Regards,
> Jochen
>  
> Knorr-Bremse Systeme für Schienenfahrzeuge GmbH
> Sitz: München
> Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. 
> Peter Radina, Dr. Ralf Voss Vorsitzender des Aufsichtsrats: Dr. Dieter 
> Wilhelm Registergericht München, HR B 91 181
>  
> This transmission is intended solely for the addressee and contains confidential information.  
> If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system.  
> Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.  
>  
>  


Knorr-Bremse Systeme für Schienenfahrzeuge GmbH
Sitz: München
Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. Peter Radina, Dr. Ralf Voss
Vorsitzender des Aufsichtsrats: Dr. Dieter Wilhelm
Registergericht München, HR B 91 181

This transmission is intended solely for the addressee and contains confidential information.
If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system. 
Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.


Re: Defining start level for OSGi bundles

Posted by Marcel Offermans <ma...@luminis.nl>.
Philipp is correct, it’s an anti-pattern to *rely* on start levels for ordering the sequence in which bundles start. Some background and explanation can be found here [1]. This is also why ACE has no direct support for them: it should not ever be necessary to have them from a deployment aspect. Still, there are ways to make start levels work, as indicated below.

I am curious, Jochen, what exactly is your use case?

Greetings, Marcel

[1] http://www.planetmarrs.net/start-levels-in-osgi/
On 20 Oct 2014 at 9:46:02 , Philipp Buluschek (djbulu@gmail.com) wrote:

Requoting Bram De Kruijff on this mailing list 22/09  

> - how can I assign a bundle start level to a bundle deployed by ACE?  

No, you can not as it is not covered by the specification. You could  
probably make it work using resource processors and/or a customized  
agent. However, in general start levels are considered to be an  
anti-pattern, so you should not use them anyway  

Regards Philipp  

On 20.10.2014 08:46, Walz, Jochen (ext) wrote:  
> Dear all,  
>  
> Apache Felix allows to define start levels for OSGi bundles (felix.auto.start.1=...). When bundles are deployed with ACE, is it possible to define the start level for each bundle? I haven't found something in the documentation so far.  
>  
> Kind Regards,  
> Jochen  
>  
> Knorr-Bremse Systeme für Schienenfahrzeuge GmbH  
> Sitz: München  
> Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. Peter Radina, Dr. Ralf Voss  
> Vorsitzender des Aufsichtsrats: Dr. Dieter Wilhelm  
> Registergericht München, HR B 91 181  
>  
> This transmission is intended solely for the addressee and contains confidential information.  
> If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system.  
> Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.  
>  
>  


Re: Defining start level for OSGi bundles

Posted by Philipp Buluschek <dj...@gmail.com>.
Requoting Bram De Kruijff on this mailing list 22/09

 > - how can I assign a bundle start level to a bundle deployed by ACE?

No, you can not as it is not covered by the specification. You could
probably make it work using resource processors and/or a customized
agent. However, in general start levels are considered to be an
anti-pattern, so you should not use them anyway

Regards Philipp

On 20.10.2014 08:46, Walz, Jochen (ext) wrote:
> Dear all,
>
> Apache Felix allows to define start levels for OSGi bundles (felix.auto.start.1=...). When bundles are deployed with ACE, is it possible to define the start level for each bundle? I haven't found something in the documentation so far.
>
> Kind Regards,
> Jochen
>
> Knorr-Bremse Systeme für Schienenfahrzeuge GmbH
> Sitz: München
> Geschäftsführer: Dr. Robert Wassmer (Vorsitzender), Rolf Härdi, Dr. Peter Radina, Dr. Ralf Voss
> Vorsitzender des Aufsichtsrats: Dr. Dieter Wilhelm
> Registergericht München, HR B 91 181
>
> This transmission is intended solely for the addressee and contains confidential information.
> If you are not the intended recipient, please immediately inform the sender and delete the message and any attachments from your system.
> Furthermore, please do not copy the message or disclose the contents to anyone unless agreed otherwise. To the extent permitted by law we shall in no way be liable for any damages, whatever their nature, arising out of transmission failures, viruses, external influence, delays and the like.
>
>