The configuration are pushes synchronously to the ConfigAdmin by
FileInstall, but
ConfigAdmin will then push the changes asynchronously.  THis is only
valid for ManagedService
and ManagedServiceFactories though, as if a bundle asks for the
configuration, the correct one
will be retrieved.  I think that's what happens in this case.

On Sun, Feb 21, 2010 at 19:34, steve.foster <[email protected]> wrote:
>
> Thanks, that makes sense. I really appreciate your help!
>
> I think I found a work around, that worked for me at least. Instead of
> assigning start levels, I just put all of the core felix bundles and Pax
> logging into the auto startup folder (default: ./bundle) and then dropped
> everything else including my PAX config into the File Install folder
> (default: ./load). Looks like File Install would read and push out the PAX
> config file before loading the bundles in the same folder. Don't know if
> this is by design or not, but seemed to always read the configs first. Since
> the PAX config gets pushed out before all of the bundles get loaded, their
> log statements are applied against the loaded PAX config logger.
>
> From what I can tell, it looks like the File Install config push seems
> synchronous, as it would not start loading bundles until the config was
> fully applied... /shrug... either way, seemed to solve the issue.
>
> Thanks!
>
>
> gnodet wrote:
>>
>> The thing is that config admin pushes changes asynchronously. So there
>> will be a small delay between when pax-logging resisteres the
>> ManagedFactory and the time it will be actually configured.
>>
>> On Sat, Feb 20, 2010 at 00:59, steve.foster <[email protected]>
>> wrote:
>>>
>>> I think that worked, but didn't have the result I expected.
>>> Here's the output...
>>>
>>> Welcome to Felix
>>> ================
>>>
>>> [FelixStartLevel] INFO org.ops4j.pax.logging.internal.Activator -
>>> Enabling
>>> SLF4J API support.
>>> [FelixStartLevel] INFO org.ops4j.pax.logging.internal.Activator -
>>> Enabling
>>> Jakarta Commons Logging API support.
>>> [Configuration Updater] DEBUG org.apache.felix.configadmin - Running task
>>> ManagedService Update: pid=org.ops4j.pax.logging
>>> [FelixDispatchQueue] DEBUG org.ops4j.pax.logging.pax-logging-service -
>>> BundleEvent STARTED
>>> [FelixStartLevel] INFO org.ops4j.pax.logging.internal.Activator -
>>> Enabling
>>> Log4J API support.
>>> [FelixStartLevel] INFO org.ops4j.pax.logging.internal.Activator -
>>> Enabling
>>> Avalon Logger API support.
>>> [FelixStartLevel] INFO org.ops4j.pax.logging.internal.Activator -
>>> Enabling
>>> JULI Logger API support.
>>> [FelixDispatchQueue] DEBUG org.ops4j.pax.logging.pax-logging-api -
>>> BundleEvent STARTED
>>> [FelixStartLevel] DEBUG org.apache.felix.fileinstall - ServiceEvent
>>> REGISTERED
>>> [FelixStartLevel] DEBUG org.apache.felix.fileinstall - ServiceEvent
>>> REGISTERED
>>> [FelixStartLevel] DEBUG org.apache.felix.configadmin - Scheduling task
>>> ManagedServiceFactory Update: factoryPid=org.apache.felix.fileinstall
>>> [FelixDispatchQueue] DEBUG org.apache.felix.fileinstall - BundleEvent
>>> RESOLVED
>>> [Configuration Updater] DEBUG org.apache.felix.configadmin - Running task
>>> ManagedServiceFactory Update: factoryPid=org.apache.felix.fileinstall
>>> [FelixDispatchQueue] DEBUG org.apache.felix.fileinstall - BundleEvent
>>> STARTED
>>> ...LOTS OF DEBUG SPAM HERE...
>>> ...LOTS OF DEBUG SPAM HERE...
>>> [fileinstall-./load] DEBUG org.apache.felix.configadmin - Scheduling task
>>> Update: pid=org.ops4j.pax.logging
>>> [Configuration Updater] DEBUG org.apache.felix.configadmin - Running task
>>> Update: pid=org.ops4j.pax.logging
>>>
>>>
>>> After that, the logging config is applied (second poll), which makes me
>>> wonder if File Install really pushed out the config on the initial
>>> (first)
>>> poll. Maybe an issue with the run levels of the packages, or there is
>>> something else needed to be started for the config to be applied?
>>>
>>> FELIX config.properties...
>>> felix.auto.start.2= \
>>>    file:deploy/org.apache.felix.configadmin-1.2.4.jar \
>>>    file:deploy/pax-logging-service-1.4.jar \
>>>    file:deploy/pax-logging-api-1.4.jar
>>>
>>> felix.auto.start.3= \
>>>    file:deploy/org.apache.felix.fileinstall-2.0.8.jar
>>>
>>> org.osgi.framework.startlevel.beginning=4
>>> felix.startlevel.bundle=4
>>>
>>>
>>> Or maybe PAX goes async mode during the startup and a race condition
>>> results
>>> between PAX fully loading up, and File Install pushing out the config
>>> settings...
>>>
>>> Any ideas?
>>>
>>>
>>> gnodet wrote:
>>>>
>>>> Yeah, there is a flag you can set.  We use it for karaf.
>>>> Just add the following:
>>>>    felix.fileinstall.noInitialDelay = true
>>>>
>>>> This mostly works for the default configuration.  In that case,
>>>> fileinstall will perform the first poll synchronously while the bundle
>>>> is starting.
>>>>
>>>> On Sat, Feb 20, 2010 at 00:24, steve.foster <[email protected]>
>>>> wrote:
>>>>>
>>>>> Hello All,
>>>>>
>>>>> Just wondering if there is a way to get the File Install bundle to do
>>>>> an
>>>>> initial poll during it's startup, instead of waiting for the delay
>>>>> before
>>>>> it
>>>>> starts polling?
>>>>>
>>>>> Basically what I'm after is using the File Install to configure PAX
>>>>> logging
>>>>> via the config file. It works currently, but the issue is I would like
>>>>> it
>>>>> to
>>>>> load the logging config before it moves to the next run level. So PAX
>>>>> will
>>>>> already have the configuration in place when other bundles startup, so
>>>>> the
>>>>> other bundles don't spam the console with debug messages.
>>>>>
>>>>> I can simulate it by setting the poll interval to something very small,
>>>>> but
>>>>> that really isn't the solution.
>>>>>
>>>>> Any ideas? Maybe there is a better way to go about this?
>>>>>
>>>>> Thanks!
>>>>> --
>>>>> View this message in context:
>>>>> http://old.nabble.com/Felix-File-Install---Immediately-poll-on-startup-tp27661788p27661788.html
>>>>> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Cheers,
>>>> Guillaume Nodet
>>>> ------------------------
>>>> Blog: http://gnodet.blogspot.com/
>>>> ------------------------
>>>> Open Source SOA
>>>> http://fusesource.com
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Felix-File-Install---Immediately-poll-on-startup-tp27661788p27662059.html
>>> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>>
>
> --
> View this message in context: 
> http://old.nabble.com/Felix-File-Install---Immediately-poll-on-startup-tp27661788p27676875.html
> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to