This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch 3.1.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 920f19caf55807a2d008721273b567b62de98f4c
Author: Grzegorz Grzybek <[email protected]>
AuthorDate: Wed Oct 11 08:26:42 2017 +0200

    [CXF-7528] Tone down logging when unregistering CXF servlet in OSGi during 
fast reprovisioning
    
    (cherry picked from commit 1d7eeaeb029ab6fed299ff8c91084dc11c069f8b)
---
 .../cxf/transport/http/osgi/ServletExporter.java       | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/ServletExporter.java
 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/ServletExporter.java
index 867dca1..25c03e3 100644
--- 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/ServletExporter.java
+++ 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/ServletExporter.java
@@ -51,7 +51,22 @@ class ServletExporter implements ManagedService {
     @Override
     public void updated(Dictionary properties) throws ConfigurationException {
         if (alias != null) {
-            httpService.unregister(alias);
+            try {
+                LOG.log(Level.INFO, "Unregistering previous instance of \"" + 
alias + "\" servlet");
+                httpService.unregister(alias);
+            } catch (IllegalArgumentException e) {
+                // NOTE: pax-web specific...
+                if (e.getMessage() != null && e.getMessage().contains("was 
never registered")) {
+                    LOG.log(Level.INFO, "CXF OSGi servlet was not 
unregistered: " + e.getMessage());
+                } else {
+                    LOG.log(Level.SEVERE, e.getMessage(), e);
+                }
+                if (properties == null) {
+                    // we're simply stopping. if we couldn't unregister, that 
means we had to little time to register
+                    // otherwise, we'll try to register the servlet
+                    return;
+                }
+            }
             alias = null;
         }
         if (properties == null) {
@@ -105,6 +120,7 @@ class ServletExporter implements ManagedService {
         alias = (String)getProp(properties, CXF_SERVLET_PREFIX + "context", 
"/cxf");
         HttpContext context = httpService.createDefaultHttpContext();
         try {
+            LOG.log(Level.INFO, "Registering new instance of \"" + alias + "\" 
servlet");
             httpService.registerServlet(alias, servlet, sprops, context);
         } catch (Exception e) {
             LOG.log(Level.WARNING, "Error registering CXF OSGi servlet " + 
e.getMessage(), e);

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to