|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (4)
View Page Historyh1. Fractal tips
{anchor:composite_startup}
h2. Composite startup
The sub-components of a Fractal composite are started sequentially, so you *MUST* declare the sub-component in the right order in the Fractal ADL.
The sub-components of a Fractal composite are started sequentially, so you *MUST* declare the sub-component in the right order in the Fractal ADL.
{petalslink}toto{petalslink}
Explications de Philippe MERLE:
Par défaut, Fractal a un algo de démarrage des composants assez basique, i.e., séquentiellement.
Tout peut être raffiné dans Fractal donc on pourrait imaginer un type de composite qui analyse les bindings entre ses sous-composants et en déduisent un ordre de démarrage non bloquant. et si il y a un cycle alors ce composite crée des threads.
Facile à écrire dans un mail. Un peu plus difficile à implanter efficacement.
Après c'est une balance entre implanter un mécanisme rarement utile ou bien appliquer un codage pour ces cas particuliers (ordre dans le composite ou bien policy=Policy.ASYNCHRONOUS)
Comme nous avons rencontré ce cas de figure que très rarement sur les 10 dernières années alors nous n'avons jamais fait l'effort d'implanter un algo de démarrage + intelligent.
{petalslink}
Par défaut, Fractal a un algo de démarrage des composants assez basique, i.e., séquentiellement.
Tout peut être raffiné dans Fractal donc on pourrait imaginer un type de composite qui analyse les bindings entre ses sous-composants et en déduisent un ordre de démarrage non bloquant. et si il y a un cycle alors ce composite crée des threads.
Facile à écrire dans un mail. Un peu plus difficile à implanter efficacement.
Après c'est une balance entre implanter un mécanisme rarement utile ou bien appliquer un codage pour ces cas particuliers (ordre dans le composite ou bien policy=Policy.ASYNCHRONOUS)
Comme nous avons rencontré ce cas de figure que très rarement sur les 10 dernières années alors nous n'avons jamais fait l'effort d'implanter un algo de démarrage + intelligent.
{petalslink}
!NioTransportProtocol.jpg|align=center!
h1. Known problems
h2. Deadlock when starting a composite
*Symptoms*:
The startup of Petals blocks into the startup of the Fractal composite into the thread "main" with a similar thread dump:
{code}
{code}
*Solution*:
Update the ADL of the Fractal composite to [set the sub-components in the right order|#composite_startup].