You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2014/08/14 10:26:12 UTC

[jira] [Assigned] (CXF-5946) ensure unregister cxf http transport Servlet OSGi service before we re-register it

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

Freeman Fang reassigned CXF-5946:
---------------------------------

    Assignee: Freeman Fang

> ensure unregister cxf http transport Servlet OSGi service before we re-register it
> ----------------------------------------------------------------------------------
>
>                 Key: CXF-5946
>                 URL: https://issues.apache.org/jira/browse/CXF-5946
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.0.1
>            Reporter: Freeman Fang
>            Assignee: Freeman Fang
>             Fix For: 3.0.2, 3.1.0
>
>
> In OSGi, when cxf-http-transport configuration get updated from ConfigAdmin service, we re-register cxf http transport Servlet with new configuration props, this can cause two same Servlet instances conflict, which in turn can cause error in pax-web like
> {code}
> -whiteboard - 3.0.7 | Registration skipped for [ServletWebElement{mapping=DefaultServletMapping{httpContextId=null,urlPatterns=null,initParams={},servlet=org.apache.cxf.transport.servlet.CXFNonSpringServlet@cc5f977, alias=/api, servletNamecxf-osgi-transport-servlet}}] due to error during registration
> javax.servlet.ServletException: servlet already registered with a different alias
>         at org.ops4j.pax.web.service.spi.model.ServerModel.addServletModel(ServerModel.java:121)[100:org.ops4j.pax.web.pax-web-spi:3.0.7]
>         at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:206)[101:org.ops4j.pax.web.pax-web-runtime:3.0.7]
>         at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:189)[101:org.ops4j.pax.web.pax-web-runtime:3.0.7]
>         at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:174)[101:org.ops4j.pax.web.pax-web-runtime:3.0.7]
>         at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:67)[101:org.ops4j.pax.web.pax-web-runtime:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.element.ServletWebElement.register(ServletWebElement.java:61)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.registerWebElement(WebApplication.java:254)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.registerWebElements(WebApplication.java:232)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.registerHttpContext(WebApplication.java:223)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.serviceChanged(WebApplication.java:162)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.serviceChanged(WebApplication.java:51)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.util.tracker.ReplaceableService.bind(ReplaceableService.java:72)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
>         at org.ops4j.pax.web.extender.whiteboard.internal.util.tracker.ReplaceableService$Customizer.addingService(ReplaceableService.java:87)[125:org.ops4j.pax.web.pax-web-extender-whiteboard:3.0.7]
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)