[ 
https://issues.apache.org/jira/browse/FELIX-5446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler closed FELIX-5446.
-----------------------------------
    Resolution: Fixed

> Http Service ignores Whiteboard Servlet API Listeners
> -----------------------------------------------------
>
>                 Key: FELIX-5446
>                 URL: https://issues.apache.org/jira/browse/FELIX-5446
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>    Affects Versions: http.base-3.0.16, http.jetty-3.4.0, http.bridge-3.0.16
>            Reporter: Felix Meschberger
>            Assignee: Carsten Ziegeler
>             Fix For: http.base-3.0.18, http.jetty-3.4.2, http.bridge-3.0.18
>
>
> Situation:
> # A ServletRequestListener registered with the Http Whiteboard Service 
> (standard OSGi Http Whiteboard) with property 
> {{osgi.http.whiteboard.listener==true}}.
> # A Servlet registered with the traditional OSGi HttpService
> Problem: The ServletRequestListener is not called for requests for requests 
> to said servlet.
> Investigation: It looks like the ServletRequestListenerManager used to handle 
> ServletRequestListener services for traditionally registered Servlets 
> explicitly ignores listeners registered with the 
> {{osgi.http.whiteboard.listener}} property set. See this code in 
> [ServletRequestListenerManager|https://github.com/apache/felix/blob/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/service/listener/ServletRequestListenerManager.java#L45].
> For one thing, the listener should at best ignore services registered with 
> the property set to true. If the property is set to anything else, it will 
> explicitly be ignored by the OSGi Whiteboard Http Service and thus should 
> probably be accepted by the legacy Felix Http Service implementation.
> On the other hand: Why ignore at all ? Originally the legacy Felix Http 
> Service accepted all Servlet API listeners regardless of such property set. 
> So if there is a listener used and the Jetty bundle is updated and the 
> service updated to make sure it is called for new OSGi Whiteboard services it 
> will not be called any more for the legacy registered services
> I think the legacy Felix Http Service should just accept all listeners like 
> it always did.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to