Consistent declaration of private static final logger variables
Issue: SPR-11905
This commit is contained in:
parent
2c0c081bbb
commit
18131bf611
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -75,7 +75,7 @@ final class JdkDynamicAopProxy implements AopProxy, InvocationHandler, Serializa
|
|||
*/
|
||||
|
||||
/** We use a static Log to avoid serialization issues */
|
||||
private static Log logger = LogFactory.getLog(JdkDynamicAopProxy.class);
|
||||
private static final Log logger = LogFactory.getLog(JdkDynamicAopProxy.class);
|
||||
|
||||
/** Config used to configure this proxy */
|
||||
private final AdvisedSupport advised;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -38,7 +38,7 @@ import org.springframework.util.StringUtils;
|
|||
*/
|
||||
public abstract class ValidationUtils {
|
||||
|
||||
private static Log logger = LogFactory.getLog(ValidationUtils.class);
|
||||
private static final Log logger = LogFactory.getLog(ValidationUtils.class);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ import org.springframework.util.ClassUtils;
|
|||
*/
|
||||
public class LocalVariableTableParameterNameDiscoverer implements ParameterNameDiscoverer {
|
||||
|
||||
private static Log logger = LogFactory.getLog(LocalVariableTableParameterNameDiscoverer.class);
|
||||
private static final Log logger = LogFactory.getLog(LocalVariableTableParameterNameDiscoverer.class);
|
||||
|
||||
// marker object for classes that do not have any debug info
|
||||
private static final Map<Member, String[]> NO_DEBUG_INFO_MAP = Collections.emptyMap();
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public class EmbeddedDatabaseFactory {
|
|||
*/
|
||||
public static final String DEFAULT_DATABASE_NAME = "testdb";
|
||||
|
||||
private static Log logger = LogFactory.getLog(EmbeddedDatabaseFactory.class);
|
||||
private static final Log logger = LogFactory.getLog(EmbeddedDatabaseFactory.class);
|
||||
|
||||
private String databaseName = DEFAULT_DATABASE_NAME;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -32,7 +32,7 @@ import org.springframework.util.Assert;
|
|||
*/
|
||||
public class HandlerMethodReturnValueHandlerComposite implements HandlerMethodReturnValueHandler {
|
||||
|
||||
private static Log logger = LogFactory.getLog(HandlerMethodReturnValueHandlerComposite.class);
|
||||
private static final Log logger = LogFactory.getLog(HandlerMethodReturnValueHandlerComposite.class);
|
||||
|
||||
private final List<HandlerMethodReturnValueHandler> returnValueHandlers = new ArrayList<HandlerMethodReturnValueHandler>();
|
||||
|
||||
|
|
|
|||
|
|
@ -33,18 +33,16 @@ import java.util.Map;
|
|||
*/
|
||||
public class SimpAttributes {
|
||||
|
||||
private static Log logger = LogFactory.getLog(SimpAttributes.class);
|
||||
|
||||
private static final String className = SimpAttributes.class.getName();
|
||||
|
||||
/** Key for the mutex session attribute */
|
||||
public static final String SESSION_MUTEX_NAME = className + ".MUTEX";
|
||||
public static final String SESSION_MUTEX_NAME = SimpAttributes.class.getName() + ".MUTEX";
|
||||
|
||||
/** Key set after the session is completed */
|
||||
public static final String SESSION_COMPLETED_NAME = className + ".COMPLETED";
|
||||
public static final String SESSION_COMPLETED_NAME = SimpAttributes.class.getName() + ".COMPLETED";
|
||||
|
||||
/** Prefix for the name of session attributes used to store destruction callbacks. */
|
||||
public static final String DESTRUCTION_CALLBACK_NAME_PREFIX = className + ".DESTRUCTION_CALLBACK.";
|
||||
public static final String DESTRUCTION_CALLBACK_NAME_PREFIX = SimpAttributes.class.getName() + ".DESTRUCTION_CALLBACK.";
|
||||
|
||||
private static final Log logger = LogFactory.getLog(SimpAttributes.class);
|
||||
|
||||
|
||||
private final String sessionId;
|
||||
|
|
@ -54,7 +52,6 @@ public class SimpAttributes {
|
|||
|
||||
/**
|
||||
* Constructor wrapping the given session attributes map.
|
||||
*
|
||||
* @param sessionId the id of the associated session
|
||||
* @param attributes the attributes
|
||||
*/
|
||||
|
|
@ -66,27 +63,8 @@ public class SimpAttributes {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Extract the SiMP session attributes from the given message, wrap them in
|
||||
* a {@link SimpAttributes} instance.
|
||||
*
|
||||
* @param message the message to extract session attributes from
|
||||
*/
|
||||
public static SimpAttributes fromMessage(Message<?> message) {
|
||||
Assert.notNull(message);
|
||||
MessageHeaders headers = message.getHeaders();
|
||||
String sessionId = SimpMessageHeaderAccessor.getSessionId(headers);
|
||||
Map<String, Object> sessionAttributes = SimpMessageHeaderAccessor.getSessionAttributes(headers);
|
||||
if (sessionId == null || sessionAttributes == null) {
|
||||
throw new IllegalStateException(
|
||||
"Message does not contain SiMP session id or attributes: " + message);
|
||||
}
|
||||
return new SimpAttributes(sessionId, sessionAttributes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the value for the attribute of the given name, if any.
|
||||
*
|
||||
* @param name the name of the attribute
|
||||
* @return the current attribute value, or {@code null} if not found
|
||||
*/
|
||||
|
|
@ -96,7 +74,6 @@ public class SimpAttributes {
|
|||
|
||||
/**
|
||||
* Set the value with the given name replacing an existing value (if any).
|
||||
*
|
||||
* @param name the name of the attribute
|
||||
* @param value the value for the attribute
|
||||
*/
|
||||
|
|
@ -106,12 +83,10 @@ public class SimpAttributes {
|
|||
|
||||
/**
|
||||
* Remove the attribute of the given name, if it exists.
|
||||
*
|
||||
* <p>Also removes the registered destruction callback for the specified
|
||||
* attribute, if any. However it <i>does not</i> execute</i> the callback.
|
||||
* It is assumed the removed object will continue to be used and destroyed
|
||||
* independently at the appropriate time.
|
||||
*
|
||||
* @param name the name of the attribute
|
||||
*/
|
||||
public void removeAttribute(String name) {
|
||||
|
|
@ -121,7 +96,6 @@ public class SimpAttributes {
|
|||
|
||||
/**
|
||||
* Retrieve the names of all attributes.
|
||||
*
|
||||
* @return the attribute names as String array, never {@code null}
|
||||
*/
|
||||
public String[] getAttributeNames() {
|
||||
|
|
@ -131,7 +105,6 @@ public class SimpAttributes {
|
|||
/**
|
||||
* Register a callback to execute on destruction of the specified attribute.
|
||||
* The callback is executed when the session is closed.
|
||||
*
|
||||
* @param name the name of the attribute to register the callback for
|
||||
* @param callback the destruction callback to be executed
|
||||
*/
|
||||
|
|
@ -152,7 +125,6 @@ public class SimpAttributes {
|
|||
|
||||
/**
|
||||
* Return an id for the associated session.
|
||||
*
|
||||
* @return the session id as String (never {@code null})
|
||||
*/
|
||||
public String getSessionId() {
|
||||
|
|
@ -161,7 +133,6 @@ public class SimpAttributes {
|
|||
|
||||
/**
|
||||
* Expose the object to synchronize on for the underlying session.
|
||||
*
|
||||
* @return the session mutex to use (never {@code null})
|
||||
*/
|
||||
public Object getSessionMutex() {
|
||||
|
|
@ -197,13 +168,29 @@ public class SimpAttributes {
|
|||
try {
|
||||
((Runnable) entry.getValue()).run();
|
||||
}
|
||||
catch (Throwable t) {
|
||||
if (logger.isErrorEnabled()) {
|
||||
logger.error("Uncaught error in session attribute destruction callback", t);
|
||||
}
|
||||
catch (Throwable ex) {
|
||||
logger.error("Uncaught error in session attribute destruction callback", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Extract the SiMP session attributes from the given message, wrap them in
|
||||
* a {@link SimpAttributes} instance.
|
||||
* @param message the message to extract session attributes from
|
||||
*/
|
||||
public static SimpAttributes fromMessage(Message<?> message) {
|
||||
Assert.notNull(message);
|
||||
MessageHeaders headers = message.getHeaders();
|
||||
String sessionId = SimpMessageHeaderAccessor.getSessionId(headers);
|
||||
Map<String, Object> sessionAttributes = SimpMessageHeaderAccessor.getSessionAttributes(headers);
|
||||
if (sessionId == null || sessionAttributes == null) {
|
||||
throw new IllegalStateException(
|
||||
"Message does not contain SiMP session id or attributes: " + message);
|
||||
}
|
||||
return new SimpAttributes(sessionId, sessionAttributes);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -44,7 +44,7 @@ import java.util.concurrent.Callable;
|
|||
public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter
|
||||
implements DeferredResultProcessingInterceptor {
|
||||
|
||||
private static Log logger = LogFactory.getLog(AsyncRequestInterceptor.class);
|
||||
private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class);
|
||||
|
||||
private final SessionFactory sessionFactory;
|
||||
|
||||
|
|
@ -52,11 +52,13 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte
|
|||
|
||||
private volatile boolean timeoutInProgress;
|
||||
|
||||
|
||||
public AsyncRequestInterceptor(SessionFactory sessionFactory, SessionHolder sessionHolder) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
this.sessionHolder = sessionHolder;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public <T> void preProcess(NativeWebRequest request, Callable<T> task) {
|
||||
bindSession();
|
||||
|
|
@ -90,11 +92,17 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Implementation of DeferredResultProcessingInterceptor methods
|
||||
|
||||
public <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) { }
|
||||
public <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) { }
|
||||
public <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object result) { }
|
||||
public <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
}
|
||||
|
||||
public <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
}
|
||||
|
||||
public <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object result) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
|
|
@ -106,4 +114,5 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte
|
|||
public <T> void afterCompletion(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
closeAfterTimeout();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -44,7 +44,7 @@ import java.util.concurrent.Callable;
|
|||
public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter
|
||||
implements DeferredResultProcessingInterceptor {
|
||||
|
||||
private static Log logger = LogFactory.getLog(AsyncRequestInterceptor.class);
|
||||
private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class);
|
||||
|
||||
private final EntityManagerFactory emFactory;
|
||||
|
||||
|
|
@ -58,6 +58,7 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte
|
|||
this.emHolder = emHolder;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public <T> void preProcess(NativeWebRequest request, Callable<T> task) {
|
||||
bindSession();
|
||||
|
|
@ -91,11 +92,17 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Implementation of DeferredResultProcessingInterceptor methods
|
||||
|
||||
public <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) { }
|
||||
public <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) { }
|
||||
public <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object result) { }
|
||||
public <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
}
|
||||
|
||||
public <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
}
|
||||
|
||||
public <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object result) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
|
|
@ -107,5 +114,5 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte
|
|||
public <T> void afterCompletion(NativeWebRequest request, DeferredResult<T> deferredResult) {
|
||||
closeAfterTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -31,7 +31,7 @@ import org.springframework.web.context.request.NativeWebRequest;
|
|||
*/
|
||||
class CallableInterceptorChain {
|
||||
|
||||
private static Log logger = LogFactory.getLog(CallableInterceptorChain.class);
|
||||
private static final Log logger = LogFactory.getLog(CallableInterceptorChain.class);
|
||||
|
||||
private final List<CallableProcessingInterceptor> interceptors;
|
||||
|
||||
|
|
@ -102,4 +102,5 @@ class CallableInterceptorChain {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -29,7 +29,7 @@ import org.springframework.web.context.request.NativeWebRequest;
|
|||
*/
|
||||
class DeferredResultInterceptorChain {
|
||||
|
||||
private static Log logger = LogFactory.getLog(DeferredResultInterceptorChain.class);
|
||||
private static final Log logger = LogFactory.getLog(DeferredResultInterceptorChain.class);
|
||||
|
||||
private final List<DeferredResultProcessingInterceptor> interceptors;
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import java.util.List;
|
|||
*/
|
||||
class ResponseBodyAdviceChain {
|
||||
|
||||
private static Log logger = LogFactory.getLog(ResponseBodyAdviceChain.class);
|
||||
private static final Log logger = LogFactory.getLog(ResponseBodyAdviceChain.class);
|
||||
|
||||
private final List<Object> advice;
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ import org.springframework.web.filter.OncePerRequestFilter;
|
|||
*/
|
||||
public class ResourceUrlEncodingFilter extends OncePerRequestFilter {
|
||||
|
||||
private static Log logger = LogFactory.getLog(ResourceUrlEncodingFilter.class);
|
||||
private static final Log logger = LogFactory.getLog(ResourceUrlEncodingFilter.class);
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -16,12 +16,6 @@
|
|||
|
||||
package org.springframework.web.socket.handler;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.web.socket.CloseStatus;
|
||||
import org.springframework.web.socket.WebSocketMessage;
|
||||
import org.springframework.web.socket.WebSocketSession;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Queue;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
|
|
@ -29,6 +23,13 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.web.socket.CloseStatus;
|
||||
import org.springframework.web.socket.WebSocketMessage;
|
||||
import org.springframework.web.socket.WebSocketSession;
|
||||
|
||||
|
||||
/**
|
||||
* Wraps a {@link org.springframework.web.socket.WebSocketSession} and guarantees
|
||||
|
|
@ -44,7 +45,7 @@ import java.util.concurrent.locks.ReentrantLock;
|
|||
*/
|
||||
public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorator {
|
||||
|
||||
private static Log logger = LogFactory.getLog(ConcurrentWebSocketSessionDecorator.class);
|
||||
private static final Log logger = LogFactory.getLog(ConcurrentWebSocketSessionDecorator.class);
|
||||
|
||||
|
||||
private final Queue<WebSocketMessage<?>> buffer = new LinkedBlockingQueue<WebSocketMessage<?>>();
|
||||
|
|
@ -61,7 +62,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
|
|||
|
||||
private volatile boolean limitExceeded;
|
||||
|
||||
private volatile boolean shutDownInProgress;
|
||||
private volatile boolean shutdownInProgress;
|
||||
|
||||
|
||||
private final Lock flushLock = new ReentrantLock();
|
||||
|
|
@ -87,7 +88,6 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
|
|||
|
||||
|
||||
public void sendMessage(WebSocketMessage<?> message) throws IOException {
|
||||
|
||||
if (isDisabled()) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
|
|||
}
|
||||
|
||||
private boolean isDisabled() {
|
||||
return (this.limitExceeded || this.shutDownInProgress);
|
||||
return (this.limitExceeded || this.shutdownInProgress);
|
||||
}
|
||||
|
||||
private boolean tryFlushMessageBuffer() throws IOException {
|
||||
|
|
@ -140,17 +140,13 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
|
|||
if (!isDisabled() && this.closeLock.tryLock()) {
|
||||
try {
|
||||
if (getTimeSinceSendStarted() > this.sendTimeLimit) {
|
||||
|
||||
String errorMessage = "Message send time " + getTimeSinceSendStarted() +
|
||||
" (ms) exceeded the allowed limit " + this.sendTimeLimit;
|
||||
|
||||
sessionLimitReached(errorMessage, CloseStatus.SESSION_NOT_RELIABLE);
|
||||
}
|
||||
else if (this.bufferSize.get() > this.bufferSizeLimit) {
|
||||
|
||||
String errorMessage = "The send buffer size " + this.bufferSize.get() + " bytes for " +
|
||||
"session '" + getId() + " exceeded the allowed limit " + this.bufferSizeLimit;
|
||||
|
||||
sessionLimitReached(errorMessage,
|
||||
(getTimeSinceSendStarted() >= 10000 ? CloseStatus.SESSION_NOT_RELIABLE : null));
|
||||
}
|
||||
|
|
@ -168,7 +164,8 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
|
|||
|
||||
@Override
|
||||
public void close(CloseStatus status) throws IOException {
|
||||
this.shutDownInProgress = true;
|
||||
this.shutdownInProgress = true;
|
||||
super.close(status);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ import org.springframework.util.ReflectionUtils;
|
|||
*/
|
||||
public class ServerEndpointExporter implements InitializingBean, BeanPostProcessor, ApplicationContextAware {
|
||||
|
||||
private static Log logger = LogFactory.getLog(ServerEndpointExporter.class);
|
||||
private static final Log logger = LogFactory.getLog(ServerEndpointExporter.class);
|
||||
|
||||
|
||||
private final List<Class<?>> annotatedEndpointClasses = new ArrayList<Class<?>>();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -45,23 +45,21 @@ import org.springframework.web.context.WebApplicationContext;
|
|||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 4.0
|
||||
*
|
||||
* @see ServerEndpointExporter
|
||||
*/
|
||||
public class SpringConfigurator extends Configurator {
|
||||
|
||||
private static Log logger = LogFactory.getLog(SpringConfigurator.class);
|
||||
private static final String NO_VALUE = ObjectUtils.identityToString(new Object());
|
||||
|
||||
private static final Log logger = LogFactory.getLog(SpringConfigurator.class);
|
||||
|
||||
private static final Map<String, Map<Class<?>, String>> cache =
|
||||
new ConcurrentHashMap<String, Map<Class<?>, String>>();
|
||||
|
||||
private static final String NO_VALUE = ObjectUtils.identityToString(new Object());
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T> T getEndpointInstance(Class<T> endpointClass) throws InstantiationException {
|
||||
|
||||
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
|
||||
if (wac == null) {
|
||||
String message = "Failed to find the root WebApplicationContext. Was ContextLoaderListener not used?";
|
||||
|
|
@ -99,7 +97,6 @@ public class SpringConfigurator extends Configurator {
|
|||
}
|
||||
|
||||
private String getBeanNameByType(WebApplicationContext wac, Class<?> endpointClass) {
|
||||
|
||||
String wacId = wac.getId();
|
||||
|
||||
Map<Class<?>, String> beanNamesByType = cache.get(wacId);
|
||||
|
|
@ -116,15 +113,14 @@ public class SpringConfigurator extends Configurator {
|
|||
else {
|
||||
beanNamesByType.put(endpointClass, NO_VALUE);
|
||||
if (names.length > 1) {
|
||||
String message = "Found multiple @ServerEndpoint's of type " + endpointClass + ", names=" + names;
|
||||
logger.error(message);
|
||||
throw new IllegalStateException(message);
|
||||
throw new IllegalStateException("Found multiple @ServerEndpoint's of type [" +
|
||||
endpointClass.getName() + "]: bean names " + names);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String beanName = beanNamesByType.get(endpointClass);
|
||||
return NO_VALUE.equals(beanName) ? null : beanName;
|
||||
return (NO_VALUE.equals(beanName) ? null : beanName);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -41,7 +41,7 @@ import org.springframework.web.socket.server.HandshakeInterceptor;
|
|||
*/
|
||||
public class HttpSessionHandshakeInterceptor implements HandshakeInterceptor {
|
||||
|
||||
private static Log logger = LogFactory.getLog(HttpSessionHandshakeInterceptor.class);
|
||||
private static final Log logger = LogFactory.getLog(HttpSessionHandshakeInterceptor.class);
|
||||
|
||||
private Collection<String> attributeNames;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue