You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by "Moloney, Tim M" <Ti...@ManTech.com> on 2009/06/06 20:18:39 UTC
Configuring a ManagedServiceFactory from a feature
I was figuring out why my ManagedServiceFactory wasn't getting
configured by the feature when I discovered the odd notation used to
specify the service pid.
I found that if the name attribute of the config element has a dash in
it, the attribute value will be split into a service pid and a service
factory pid. If I read the code correctly, both the service pid and the
factory service pid need to be set to the name of the
ManagedServiceFactory. So I managed to get my ManagedServiceFactory
configured by specifying:
<config
name="com.foo.MyManagedServiceFactory-com.foo.MyManagedServiceFactory">
... </config>
However that seems a bit verbose and is just one more place where a typo
can stop things from working. I think it would be better if there was a
different attribute name to configure ManagedServiceFactories. For
example, configuring a ManagedService would stay the same:
<config name="com.foo.MyManagedService"> ... </config>
But configuring a ManagedServiceFactory would be:
<config factoryName="com.foo.MyManagedServiceFactory"> ... </config>
Is this a good idea or do I misunderstand something?
Tim Moloney The reasonable man adapts himself to
MRSL the world; the unreasonable one persists
2015 Cattlemen Road in trying to adapt the world to himself.
Sarasota, FL 34232 Therefore all progress depends on the
(941) 377-6775 x208 unreasonable man. George Bernard Shaw
Re: Configuring a ManagedServiceFactory from a feature
Posted by Guillaume Nodet <gn...@gmail.com>.
Yes, please go ahead.
On 06/10/2009, Moloney, Tim M <Ti...@mantech.com> wrote:
>
> No responses?
>
> Should I update the wiki, create issues, and submit patches?
>
>
> Tim Moloney The reasonable man adapts himself to
> MRSL the world; the unreasonable one persists
> 2015 Cattlemen Road in trying to adapt the world to himself.
> Sarasota, FL 34232 Therefore all progress depends on the
> (941) 377-6775 x208 unreasonable man. George Bernard Shaw
>
>
>
>> -----Original Message-----
>> From: Moloney, Tim M [mailto:Tim.Moloney@ManTech.com]
>> Sent: Saturday, June 06, 2009 18:59
>> To: users@felix.apache.org
>> Subject: RE: Configuring a ManagedServiceFactory from a feature
>>
>>
>> I did misunderstand something.
>>
>> When using a ManagedServiceFactory the value for the name attribute is
>> "servicePid-instanceId", where servicePid is the service pid of the
>> ManagedServiceFactory and instanceId is a label used to uniquely
>> identify a particular service instance.
>>
>> If this is correct, I can update the Karaf Provisioning page
>> (http://felix.apache.org/site/46-provisioning.html).
>>
>> There also appears to be a bug in FeaturesServiceImpl.java. I think
>> that line 439 should be changed from
>>
>> ... ALIAS_KEY + "=" + pid ...
>>
>> to
>>
>> ... ALIAS_KEY + "=" + factoryPid ...
>>
>> so that existing configurations can be retrieved.
>>
>> Several follow on comments/questions.
>>
>> - I was originally confused by the variable named
>> "factoryPid". A less
>> confusing name would be instanceId since it is definitely not the
>> factory service pid.
>>
>> - The filter used to get the list of configurations searches for a
>> property name ".alias_factory_pid". However checkKey() in the
>> ConfigurationAdmin's CaseInsensitiveDictionary only allows
>> keys to start
>> with an alpha-numeric character and has an addition test to
>> prevent keys
>> from starting or ending with a period. Therefore the filter can be
>> simplified from
>>
>> (|(ALIAS_KEY=factoryPid)(.alias_factory_pid=factoryPid))
>>
>> to just
>>
>> (ALIAS_KEY=factoryPid)
>>
>> BTW, this same filter also appears in FileMonitor.java in Karaf's
>> deployer.
>>
>> - Would it be reasonable to add the "instanceId" (as I called
>> it above)
>> to the displayed bundle properties in the webconsole?
>>
>> - Should the feature's configurations be deleted when it is
>> uninstalled?
>>
>> If everything that I said above is correct/reasonable, I'll
>> create JIRA
>> issues and start working on patches.
>>
>>
>> Tim Moloney The reasonable man adapts himself to
>> MRSL the world; the unreasonable one persists
>> 2015 Cattlemen Road in trying to adapt the world to himself.
>> Sarasota, FL 34232 Therefore all progress depends on the
>> (941) 377-6775 x208 unreasonable man. George Bernard Shaw
>>
>>
>>
>> > -----Original Message-----
>> > From: Moloney, Tim M [mailto:Tim.Moloney@ManTech.com]
>> > Sent: Saturday, June 06, 2009 14:19
>> > To: users@felix.apache.org
>> > Subject: Configuring a ManagedServiceFactory from a feature
>> >
>> >
>> > I was figuring out why my ManagedServiceFactory wasn't getting
>> > configured by the feature when I discovered the odd notation used to
>> > specify the service pid.
>> >
>> > I found that if the name attribute of the config element
>> has a dash in
>> > it, the attribute value will be split into a service pid
>> and a service
>> > factory pid. If I read the code correctly, both the service
>> > pid and the
>> > factory service pid need to be set to the name of the
>> > ManagedServiceFactory. So I managed to get my ManagedServiceFactory
>> > configured by specifying:
>> >
>> > <config
>> > name="com.foo.MyManagedServiceFactory-com.foo.MyManagedService
>> > Factory">
>> > ... </config>
>> >
>> > However that seems a bit verbose and is just one more place
>> > where a typo
>> > can stop things from working. I think it would be better if
>> > there was a
>> > different attribute name to configure ManagedServiceFactories. For
>> > example, configuring a ManagedService would stay the same:
>> >
>> > <config name="com.foo.MyManagedService"> ... </config>
>> >
>> > But configuring a ManagedServiceFactory would be:
>> >
>> > <config factoryName="com.foo.MyManagedServiceFactory">
>> ... </config>
>> >
>> > Is this a good idea or do I misunderstand something?
>> >
>> >
>> > Tim Moloney The reasonable man adapts himself to
>> > MRSL the world; the unreasonable one persists
>> > 2015 Cattlemen Road in trying to adapt the world to himself.
>> > Sarasota, FL 34232 Therefore all progress depends on the
>> > (941) 377-6775 x208 unreasonable man. George Bernard Shaw
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org
RE: Configuring a ManagedServiceFactory from a feature
Posted by "Moloney, Tim M" <Ti...@ManTech.com>.
No responses?
Should I update the wiki, create issues, and submit patches?
Tim Moloney The reasonable man adapts himself to
MRSL the world; the unreasonable one persists
2015 Cattlemen Road in trying to adapt the world to himself.
Sarasota, FL 34232 Therefore all progress depends on the
(941) 377-6775 x208 unreasonable man. George Bernard Shaw
> -----Original Message-----
> From: Moloney, Tim M [mailto:Tim.Moloney@ManTech.com]
> Sent: Saturday, June 06, 2009 18:59
> To: users@felix.apache.org
> Subject: RE: Configuring a ManagedServiceFactory from a feature
>
>
> I did misunderstand something.
>
> When using a ManagedServiceFactory the value for the name attribute is
> "servicePid-instanceId", where servicePid is the service pid of the
> ManagedServiceFactory and instanceId is a label used to uniquely
> identify a particular service instance.
>
> If this is correct, I can update the Karaf Provisioning page
> (http://felix.apache.org/site/46-provisioning.html).
>
> There also appears to be a bug in FeaturesServiceImpl.java. I think
> that line 439 should be changed from
>
> ... ALIAS_KEY + "=" + pid ...
>
> to
>
> ... ALIAS_KEY + "=" + factoryPid ...
>
> so that existing configurations can be retrieved.
>
> Several follow on comments/questions.
>
> - I was originally confused by the variable named
> "factoryPid". A less
> confusing name would be instanceId since it is definitely not the
> factory service pid.
>
> - The filter used to get the list of configurations searches for a
> property name ".alias_factory_pid". However checkKey() in the
> ConfigurationAdmin's CaseInsensitiveDictionary only allows
> keys to start
> with an alpha-numeric character and has an addition test to
> prevent keys
> from starting or ending with a period. Therefore the filter can be
> simplified from
>
> (|(ALIAS_KEY=factoryPid)(.alias_factory_pid=factoryPid))
>
> to just
>
> (ALIAS_KEY=factoryPid)
>
> BTW, this same filter also appears in FileMonitor.java in Karaf's
> deployer.
>
> - Would it be reasonable to add the "instanceId" (as I called
> it above)
> to the displayed bundle properties in the webconsole?
>
> - Should the feature's configurations be deleted when it is
> uninstalled?
>
> If everything that I said above is correct/reasonable, I'll
> create JIRA
> issues and start working on patches.
>
>
> Tim Moloney The reasonable man adapts himself to
> MRSL the world; the unreasonable one persists
> 2015 Cattlemen Road in trying to adapt the world to himself.
> Sarasota, FL 34232 Therefore all progress depends on the
> (941) 377-6775 x208 unreasonable man. George Bernard Shaw
>
>
>
> > -----Original Message-----
> > From: Moloney, Tim M [mailto:Tim.Moloney@ManTech.com]
> > Sent: Saturday, June 06, 2009 14:19
> > To: users@felix.apache.org
> > Subject: Configuring a ManagedServiceFactory from a feature
> >
> >
> > I was figuring out why my ManagedServiceFactory wasn't getting
> > configured by the feature when I discovered the odd notation used to
> > specify the service pid.
> >
> > I found that if the name attribute of the config element
> has a dash in
> > it, the attribute value will be split into a service pid
> and a service
> > factory pid. If I read the code correctly, both the service
> > pid and the
> > factory service pid need to be set to the name of the
> > ManagedServiceFactory. So I managed to get my ManagedServiceFactory
> > configured by specifying:
> >
> > <config
> > name="com.foo.MyManagedServiceFactory-com.foo.MyManagedService
> > Factory">
> > ... </config>
> >
> > However that seems a bit verbose and is just one more place
> > where a typo
> > can stop things from working. I think it would be better if
> > there was a
> > different attribute name to configure ManagedServiceFactories. For
> > example, configuring a ManagedService would stay the same:
> >
> > <config name="com.foo.MyManagedService"> ... </config>
> >
> > But configuring a ManagedServiceFactory would be:
> >
> > <config factoryName="com.foo.MyManagedServiceFactory">
> ... </config>
> >
> > Is this a good idea or do I misunderstand something?
> >
> >
> > Tim Moloney The reasonable man adapts himself to
> > MRSL the world; the unreasonable one persists
> > 2015 Cattlemen Road in trying to adapt the world to himself.
> > Sarasota, FL 34232 Therefore all progress depends on the
> > (941) 377-6775 x208 unreasonable man. George Bernard Shaw
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org
RE: Configuring a ManagedServiceFactory from a feature
Posted by "Moloney, Tim M" <Ti...@ManTech.com>.
I did misunderstand something.
When using a ManagedServiceFactory the value for the name attribute is
"servicePid-instanceId", where servicePid is the service pid of the
ManagedServiceFactory and instanceId is a label used to uniquely
identify a particular service instance.
If this is correct, I can update the Karaf Provisioning page
(http://felix.apache.org/site/46-provisioning.html).
There also appears to be a bug in FeaturesServiceImpl.java. I think
that line 439 should be changed from
... ALIAS_KEY + "=" + pid ...
to
... ALIAS_KEY + "=" + factoryPid ...
so that existing configurations can be retrieved.
Several follow on comments/questions.
- I was originally confused by the variable named "factoryPid". A less
confusing name would be instanceId since it is definitely not the
factory service pid.
- The filter used to get the list of configurations searches for a
property name ".alias_factory_pid". However checkKey() in the
ConfigurationAdmin's CaseInsensitiveDictionary only allows keys to start
with an alpha-numeric character and has an addition test to prevent keys
from starting or ending with a period. Therefore the filter can be
simplified from
(|(ALIAS_KEY=factoryPid)(.alias_factory_pid=factoryPid))
to just
(ALIAS_KEY=factoryPid)
BTW, this same filter also appears in FileMonitor.java in Karaf's
deployer.
- Would it be reasonable to add the "instanceId" (as I called it above)
to the displayed bundle properties in the webconsole?
- Should the feature's configurations be deleted when it is uninstalled?
If everything that I said above is correct/reasonable, I'll create JIRA
issues and start working on patches.
Tim Moloney The reasonable man adapts himself to
MRSL the world; the unreasonable one persists
2015 Cattlemen Road in trying to adapt the world to himself.
Sarasota, FL 34232 Therefore all progress depends on the
(941) 377-6775 x208 unreasonable man. George Bernard Shaw
> -----Original Message-----
> From: Moloney, Tim M [mailto:Tim.Moloney@ManTech.com]
> Sent: Saturday, June 06, 2009 14:19
> To: users@felix.apache.org
> Subject: Configuring a ManagedServiceFactory from a feature
>
>
> I was figuring out why my ManagedServiceFactory wasn't getting
> configured by the feature when I discovered the odd notation used to
> specify the service pid.
>
> I found that if the name attribute of the config element has a dash in
> it, the attribute value will be split into a service pid and a service
> factory pid. If I read the code correctly, both the service
> pid and the
> factory service pid need to be set to the name of the
> ManagedServiceFactory. So I managed to get my ManagedServiceFactory
> configured by specifying:
>
> <config
> name="com.foo.MyManagedServiceFactory-com.foo.MyManagedService
> Factory">
> ... </config>
>
> However that seems a bit verbose and is just one more place
> where a typo
> can stop things from working. I think it would be better if
> there was a
> different attribute name to configure ManagedServiceFactories. For
> example, configuring a ManagedService would stay the same:
>
> <config name="com.foo.MyManagedService"> ... </config>
>
> But configuring a ManagedServiceFactory would be:
>
> <config factoryName="com.foo.MyManagedServiceFactory"> ... </config>
>
> Is this a good idea or do I misunderstand something?
>
>
> Tim Moloney The reasonable man adapts himself to
> MRSL the world; the unreasonable one persists
> 2015 Cattlemen Road in trying to adapt the world to himself.
> Sarasota, FL 34232 Therefore all progress depends on the
> (941) 377-6775 x208 unreasonable man. George Bernard Shaw
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org