[ 
https://issues.apache.org/jira/browse/FELIX-4436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13934320#comment-13934320
 ] 

Uwe Barthel commented on FELIX-4436:
------------------------------------

Hi metatech,

Thx for review my patch.
{quote}
To be honest, I do not understand how your patch is supposed to solve the 
problem, could you please elaborate ?
{quote}
The idea behind my patch is to prevent to put the bundle into the 
{{installedBundles}} collection. This collection will be added into the 
{{toRefresh}} set, which you comment out in your patch.

If you're going the way back, you'll find a long if-else statement. In this 
if-else statement, it's about if the file exists and whether an {{Artifact}} 
object exists.

If this {{Artifact}} object is not found, it is newly created and inserted into 
the {{toRefresh}} set.

A list of all known {{Artifact}} objects is collected at startup in the method 
{{#initializeCurrentManagedBundles()}}. Creating the {{Artifact}} object for 
the Blueprint XML file based on the path of the found file and the Bundle 
Location of the already known bundles.

I hope this and my explanation above, have explained my thought better.
{quote}
Also, I notice that on Windows, the path extraction algorithm does not work, 
because there is an extra colon in the path, eg C:/
{quote}
You're absolutely right. My solution is not optimal at this point. Perhaps it 
is better to search {{file:}}, instead of the last colon. This could be the 
reason why it does not work for you.

I've change the implementation. Please try it again.
Did you run the {{DirectoryWatcherTest}} test?

Sincerely
barthel

> DirectoryWatcher should not "refresh" Blueprint XML deployments on every 
> start-up
> ---------------------------------------------------------------------------------
>
>                 Key: FELIX-4436
>                 URL: https://issues.apache.org/jira/browse/FELIX-4436
>             Project: Felix
>          Issue Type: Bug
>          Components: File Install
>    Affects Versions: fileinstall-3.2.4
>         Environment: ServiceMix 4.5.3
>            Reporter: metatech
>            Priority: Minor
>         Attachments: felix_no_refresh_installed.patch
>
>
> DirectoryWatcher can auto-deploy JAR or XML files placed in a directory.
> Blueprint XML files (containing for instance ActiveMQ factories or JAAS 
> realms) are detected as "installed" on every start-up.  Prior to FELIX-2066, 
> this had no effect.  Since FELIX-2066, bundles detected as "installed" are 
> now forcibly "refreshed" on every start-up.  The impact is that these bundles 
> are stopped and restarted during the container start-up.  Because there are 
> some race conditions (see FELIX-3067), this can prevent those XML files or 
> other bundles depending on them from fully starting.  Here is a patch which 
> avoids restarting those bundles when they were not modified.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to