Derek Baum commented on FELIX-5349:

Yes, I'm using the same PID. This also means that the existing Metadata is 
available in webconsole when creating a new instance.

Enforcing the name property would be useful, otherwise it's difficult to target 
a specific whiteboard instance without using the port in the filter.

If you only want to use the ManagedServiceFactory, then setting 
org.apache.felix.http.enable=false, stops the ManagedService instance from 
starting; although it can be re-enabled from webconsole/config admin.

I did consider adding a property that would eenable either the existing 
ManagedService ot the new ManagedServiceFactory, but I don't think that's 

The ManagedServiceFactory could also check for conflicting configurations, for 
example a port that conflicts with an existing instance.

> add ManagedServiceFactory to HTTP service
> -----------------------------------------
>                 Key: FELIX-5349
>                 URL: https://issues.apache.org/jira/browse/FELIX-5349
>             Project: Felix
>          Issue Type: New Feature
>          Components: HTTP Service
>    Affects Versions: http.base-3.0.12, http.jetty-3.2.4
>            Reporter: Derek Baum
>            Assignee: Carsten Ziegeler
>            Priority: Minor
>             Fix For: http.base-3.0.14, http.jetty-3.2.6
>         Attachments: factory.patch
> I need to run multiple HTTP services, with different configurations.
> I was surprised to find that felix.http.jetty does not provide a 
> ManagedServiceFactory and so were others as indicated in this stack overflow 
> conversation: 
> http://stackoverflow.com/questions/20074211/osgi-http-bundle-bind-to-two-ports
> I have experimented with creating a ManagedServiceFactory for the HTTP 
> service myself. It is difficult to do externally to the http.jetty bundle, as 
> it requires access to internal packages.
> I have therefore created a small patch to revision 1760954 which adds a 
> ManagedServiceFactory, without changing any of the existing functionality of 
> the ManagedService. This allows multiple http.jetty instances to be 
> configured using WebConsole, fileinstall or other config admin clients.
> I have also added a new configuration property: org.apache.felix.http.name,
> which is added as a service property to the HTTP runtime instance. This makes 
> it easier to target a specific HTTP whiteboard service than filtering on the 
> port:
> HTTP_WHITEBOARD_TARGET + "=(org.apache.felix.http.name=web1)"
> I would be grateful if you would consider adding this functionality.

This message was sent by Atlassian JIRA

Reply via email to