Derek Baum created FELIX-5319: --------------------------------- Summary: HttpServiceRuntime provides incorrect info for service that is both Servlet and Resource Key: FELIX-5319 URL: https://issues.apache.org/jira/browse/FELIX-5319 Project: Felix Issue Type: Bug Components: HTTP Service Affects Versions: http.jetty-3.2.2 Reporter: Derek Baum Priority: Minor
I have a servlet defined as follows: Note: it defines _both_ servlet and resource properties. @Component(property = { HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME + "=Hello World", HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN + "=/hello/sayHello", HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN + "=/hello/static/*", HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX + "=/static" }) public class HelloWorldServlet extends HttpServlet implements Servlet { } I am using the HttpServiceRuntime to discover servlet info, but this servlet does not appear. @Reference HttpServiceRuntime httpRuntime; RuntimeDTO runtimeDTO = httpRuntime.getRuntimeDTO(); for (ServletContextDTO servletContextDTO : runtimeDTO.servletContextDTOs) { ServletDTO[] servletDTOs = servletContextDTO.servletDTOs; // servletDTOs.length == 0 } The equivalent code for ResourceDTO _does_ find a ResourceDTO for this servlet, but it contains servlet, rather than resource info: resourceDTO.patterns = [/hello/sayHello] resourceDTO.prefix = null If I remove this resource property from the servlet, then the above code finds the servlet, as expected: HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN + "=/hello/static/*" -- This message was sent by Atlassian JIRA (v6.3.4#6332)