Steven E. Harris a écrit :
"Steven E. Harris" <[EMAIL PROTECTED]> writes:

In another bundle, I use the ConfigurationAdmin service to create a
new factory configuration using "mycorp.foo_factory" as the
PID. However, I never see my mycorp.Foo class constructor get
called.

It turns out the problem was my use of the single-argument form of
ConfigurationAdmin.createFactoryConfiguration(), which binds the
Configuration to the current bundle. As the ManagedServiceFactory I
was looking to configure is registered by a different bundle, the
Configuration was not getting "bound" by DS, per the DS specification.

Using the two-argument createFactoryConfiguration(), passing null as
the location, works just fine -- provided the configuring bundle has
the proper permission.

iPOJO just exposes ManagedServiceFactory and waits the invocation of the "updated" method. However, before the patch of the https://issues.apache.org/jira/browse/FELIX-220 issue, all configuration must contains a "name" property. I remove this limitation, in the patch, by taking the given pid as name.

To debug instances, you can used the "arch" command. Instances can exposes an architecture service allowing to know the state of instances and to get information about plugged "handlers". To exposes the service, you may add "architecture="true"" in the component tag. Once you deploy the arch command bundle (ipojo.arch project), you can get the architecture of your instances by typing "arch" in the console.

Clement

--
Clement Escoffier
Grenoble University
LSR - Bat. C
220, Rue de la Chimie
BP 53
38041 GRENOBLE CEDEX 9
04.76.51.40.24
http://clement.plop-plop.net

Reply via email to