You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2020/01/17 16:38:01 UTC
[archiva-redback-core] 04/05: Changing cxf phase interceptor for
thread cleanup to jax-rs filter
This is an automated email from the ASF dual-hosted git repository.
martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git
commit 3b88d33c65c0d3abd74431e6c54a000c68e9c07c
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Fri Jan 17 17:29:31 2020 +0100
Changing cxf phase interceptor for thread cleanup to jax-rs filter
---
.../interceptors/ThreadLocalUserCleaner.java | 40 ++++++----------------
.../src/main/resources/META-INF/spring-context.xml | 2 ++
2 files changed, 13 insertions(+), 29 deletions(-)
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/ThreadLocalUserCleaner.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/ThreadLocalUserCleaner.java
index e879052..dbce28f 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/ThreadLocalUserCleaner.java
+++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/ThreadLocalUserCleaner.java
@@ -20,19 +20,17 @@ package org.apache.archiva.redback.rest.services.interceptors;
import org.apache.archiva.redback.rest.services.RedbackAuthenticationThreadLocal;
-import org.apache.cxf.interceptor.Fault;
-import org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor;
-import org.apache.cxf.jaxrs.model.OperationResourceInfo;
-import org.apache.cxf.message.Message;
-import org.apache.cxf.phase.AbstractPhaseInterceptor;
-import org.apache.cxf.phase.Phase;
-import org.apache.cxf.phase.PhaseInterceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
-import javax.ws.rs.core.Response;
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ContainerRequestFilter;
+import javax.ws.rs.container.ContainerResponseContext;
+import javax.ws.rs.container.ContainerResponseFilter;
+import javax.ws.rs.container.PreMatching;
import javax.ws.rs.ext.Provider;
+import java.io.IOException;
/**
* @author Olivier Lamy
@@ -40,31 +38,15 @@ import javax.ws.rs.ext.Provider;
*/
@Service( "threadLocalUserCleaner#rest" )
@Provider
+@PreMatching
public class ThreadLocalUserCleaner
- extends AbstractPhaseInterceptor<Message>
- implements PhaseInterceptor<Message>
+ implements ContainerResponseFilter
{
private final Logger log = LoggerFactory.getLogger( getClass() );
- public ThreadLocalUserCleaner( String phase )
- {
- super( phase );
- addAfter( JAXRSInInterceptor.class.getName() );
- }
-
public ThreadLocalUserCleaner()
{
- super( Phase.PRE_STREAM );
- addAfter( JAXRSInInterceptor.class.getName() );
- }
-
-
- public Response handleResponse( Message message, OperationResourceInfo operationResourceInfo, Response response )
- {
- log.debug( "handleResponse" );
- cleanup();
- return null;
}
private void cleanup()
@@ -72,10 +54,10 @@ public class ThreadLocalUserCleaner
RedbackAuthenticationThreadLocal.set( null );
}
- public void handleMessage( Message message )
- throws Fault
+ @Override
+ public void filter( ContainerRequestContext requestContext, ContainerResponseContext responseContext ) throws IOException
{
- log.debug( "handleMessage" );
+ log.debug( "ThreadLocalUserCleaner cleanup" );
cleanup();
}
}
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/resources/META-INF/spring-context.xml b/redback-integrations/redback-rest/redback-rest-services/src/main/resources/META-INF/spring-context.xml
index 4e7b815..7ca444d 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/main/resources/META-INF/spring-context.xml
+++ b/redback-integrations/redback-rest/redback-rest-services/src/main/resources/META-INF/spring-context.xml
@@ -56,9 +56,11 @@
<ref bean="passwordService#rest"/>
<ref bean="ldapGroupMappingService#rest"/>
</jaxrs:serviceBeans>
+ <!--
<jaxrs:outInterceptors>
<ref bean="threadLocalUserCleaner#rest"/>
</jaxrs:outInterceptors>
+ -->
<jaxrs:providers>
<ref bean="jsonProvider"/>
<ref bean="authenticationInterceptor#rest"/>