[
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)