Maybe we can have something like: mp.enabled=all <- Everything enabled mp.enabled=none <- Everything disabled mp.enabled=config,fault-tolerance <- Only config and fault-tolerance enabled
And so on… Can’t remember exactly how to handle global vs app specific configuration., but I’ll have a look. The execution there is helpful, I just don’t get it why path1 and path2 are directed to JASRSInInterceptor. The email that I’ve sent you earlier with a test case seems to work fine for the same case. I wonder what is different that would make it go to JASRSInInterceptor. Let me see if I’m able to figure out something. Thanks! > On 31 Jan 2019, at 18:35, j4fm <james.m...@my-managed.net> wrote: > > Agree, it would be nice if they just worked - but even without issues, I > notice a significant start-up time impact even having only around 8 webapps > in this case. Also agree, the enable/disable are only for the active > endpoint stuff like health, metrics, openapi. Already it is useful to have > JARs available like mp-config. > > I guess it would be a list setting for which ones are enabled by default > globally. Disabled is default. > mp.enabled=health,metrics > So default globally for Plus/Plume would be mp.enabled= > Default globally for MP edition would be mp.enabled=health,metrics,openapi > > Same setting for each context which override the global. So in Plus there > could be just one webapp with mp.enabled=health,metrics > > (If a webapp has mp.enabled= then it overrides the global by disabling. If > the setting is not specified at all it uses global) (Didn't think too much > on it or names, but feel it should be enough) > > CXFRSFilter: > With the servletMappingIsUnderRestPath check, this is what happens when I > debug: > > Say, I have traditional non-REST webappA: > > /webappA/path1 ->DefaultServlet > /webappA/path2 ->DefaultServlet > > Then MP comes along and it should be this behaviour: > > /webappA/ -> REST.InternalApplication > /webappA/path1 ->DefaultServlet > /webappA/path2 ->DefaultServlet > /webappA/Health -> JASRSInInterceptor > > But I see this behaviour: > > /webappA/ -> REST.InternalApplication > /webappA/path1 ->JASRSInInterceptor > /webappA/path2 ->JASRSInInterceptor > /webappA/Health -> JASRSInInterceptor > > As an example, for the request path /webappA/path1/subpath > > I find that the servletMappingIsUnderRestPath is run: > > wrapper.servletClass=org.apache.catalina.servlets.DefaultServlet > > mappingByServlet contains only > {StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webappA].StandardWrapper[default]=false} > > wrapper = > StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webAppA].StandardWrapper[default] > > So the "accept" value is assigned the value "false". This means the line82 > does not trigger chain.doFilter. > > So it seems to me that everything underneath webappA is sent to > JAXRSInInterceptor and causing 404. > > > > -- > Sent from: http://tomee-openejb.979440.n4.nabble.com/TomEE-Dev-f982480.html