I am not sure if this has anything to do with Felix per se, it sounds
like more of a feature of the SCR implementation. Perhaps SCR queues its
work, in which case, the activate would be processed before the bind.
-> richard
On 3/7/09 9:35 AM, Reto Bachmann-Gmür wrote:
experimenting with felix I found that dynamic dependencies are not
injected while the acivate method is being executed.
The experiment code
/**
* @scr.component
* @scr.reference name="component" cardinality="0..n" policy="dynamic"
* interface="java.lang.Object" target="(testing=true)"
*/
public class Main {
protected void bindComponent(Object component) {
System.out.print("binding component");
}
protected void unbindComponent(Object component) {
System.out.print("unbinding component");
}
protected void activate(ComponentContext context) {
System.out.print("starting");
try {
Thread.sleep(30 * 1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
System.out.print("finished starting");
}
}
when I activate the above component and an injectable component
immediately after, the output "binding component" will only appear after
"finished starting".
Is this a felix specific behaviour that is not guaranteed by the
specifications?
Regards,
Reto
Neil Bartlett said the following on 03/05/2009 11:09 AM:
It depends. If your component uses the "static policy" then the
binds/unbinds will not happen concurrently with the
activate/deactivate methods.
However, if you use "dynamic" policy then they certainly can happen
concurrently and you need to write your component to be thread-safe.
Regards
Neil
On Thu, Mar 5, 2009 at 9:52 AM, Reto Bachmann-Gmür
<reto.bachm...@trialox.org> wrote:
I guess a simple question: is it guaranteed that the
activate,deactivate, the bind- and unbind methods of a component are not
called synchronously?
Cheers,
Reto
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org