Gotcha, thanks.

On Tue, May 14, 2013 at 2:38 PM, Richard S. Hall <[email protected]>wrote:

>
> On 5/14/13 09:35 , Richard S. Hall wrote:
>
>> On 5/14/13 09:24 , Dan Gravell wrote:
>>
>>> Thanks Richard.
>>>
>>> Are start levels not... "bad"... from a conceptual point of view? Or, in
>>> this case, where start levels are used to separate "layers" (the
>>> management
>>> layer from the application layer) are they deemed ok?
>>>
>>
>> This is pretty much why start levels exist, but regardless, we are
>> talking about restarting the JVM because you have bundles that won't
>> behave, so I think adding start levels doesn't really further soil the
>> situation. :-)
>>
>
> To further clarify, start levels are not intended as a poor man's approach
> to ordering bundle start up, since you shouldn't care about the order in
> which bundles start. Using start levels for coarse grained "mode"
> management is not unreasonable, but you shouldn't do much more than that.
>
> -> richard
>
>
>
>> -> richard
>>
>>  Dan
>>>
>>>
>>> On Tue, May 14, 2013 at 2:07 PM, Richard S. Hall <[email protected]
>>> >wrote:
>>>
>>>  The simplest approach is once you decide some sort of restart is needed,
>>>> just stop the framework JVM and have your launcher relaunch it in
>>>> "update
>>>> mode" which would be a low start level in which no bundles but your
>>>> "management" bundle can execute.
>>>>
>>>> In this mode, you know no other bundles have started, so your management
>>>> bundle can do whatever updates it wants, call refresh, then change the
>>>> start level to enter normal operating mode when it is done.
>>>>
>>>> -> richard
>>>>
>>>>
>>>> On 5/14/13 07:17 , Dan Gravell wrote:
>>>>
>>>>  Hi all. After giving it about a year of tweaks, I'm finally going to
>>>>> give
>>>>> up trying to update my OSGi app in process. The killer is the
>>>>> requirement
>>>>> to stop all threads... for my particular requirements this just isn't
>>>>> feasible. I have to maintain my own forks of projects, some complex
>>>>> (the
>>>>> Lift web framework) and some less so (JNotify) and this just takes too
>>>>> long.
>>>>>
>>>>> So I'm putting thought to how I can structure a solution that restarts
>>>>> the
>>>>> JVM *at some point*. I am using Felix 'bundlerepository' bundle to
>>>>> perform
>>>>> the deployments of bundles.
>>>>>
>>>>> So first, the requirement to stop threads: is this a requirement
>>>>> *before*
>>>>> start(), stop() or update(URL) is called?
>>>>>
>>>>> If it's only something that has to be done before stop() then I
>>>>> _could_ do
>>>>> everything I do now, up to when start() is called on each bundle. At
>>>>> that
>>>>> point, I could exit with an exit code and my launcher script checks
>>>>> that
>>>>> and, if it's a known value, restarts the same process. In this case, I
>>>>> would have to re-start the bundles on restart.
>>>>>
>>>>> If threads have to be stopped before the update itself, then I suppose
>>>>> I
>>>>> can download the bundles to a holding area, and have a bootstrap JVM
>>>>> that
>>>>> picks them up and somehow performs the update, and then starts.
>>>>>
>>>>> If anyone has any wisdom or experience of this I would be grateful to
>>>>> hear
>>>>> it...
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>  
>>>>> ------------------------------****----------------------------**--**---------
>>>>
>>>> To unsubscribe, e-mail: 
>>>> users-unsubscribe@felix.**apac**he.org<http://apache.org>
>>>> <users-unsubscribe@**felix.apache.org<[email protected]>
>>>> >
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>>
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@felix.**apache.org<[email protected]>
> For additional commands, e-mail: [email protected]
>
>

Reply via email to