类org.springframework.web.socket.handler.WebSocketHandlerDecoratorFactory源码实例Demo

下面列出了怎么用org.springframework.web.socket.handler.WebSocketHandlerDecoratorFactory的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public WebSocketHandler getObject() {
	WebSocketHandler result = this.handler;
	for (WebSocketHandlerDecoratorFactory factory : this.factories) {
		result = factory.decorate(result);
	}
	return result;
}
 
@Override
protected void configureWebSocketTransport(WebSocketTransportRegistration registry) {
	registry.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() {
		@Override
		public WebSocketHandlerDecorator decorate(WebSocketHandler handler) {
			return new WebSocketHandlerDecorator(handler) {
				@Override
				public void afterConnectionEstablished(WebSocketSession session) throws Exception {
					session.getAttributes().put("decorated", true);
					super.afterConnectionEstablished(session);
				}
			};
		}
	});
}
 
@Override
public WebSocketHandler getObject() {
	WebSocketHandler result = this.handler;
	for (WebSocketHandlerDecoratorFactory factory : this.factories) {
		result = factory.decorate(result);
	}
	return result;
}
 
@Override
protected void configureWebSocketTransport(WebSocketTransportRegistration registry) {
	registry.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() {
		@Override
		public WebSocketHandlerDecorator decorate(WebSocketHandler handler) {
			return new WebSocketHandlerDecorator(handler) {
				@Override
				public void afterConnectionEstablished(WebSocketSession session) throws Exception {
					session.getAttributes().put("decorated", true);
					super.afterConnectionEstablished(session);
				}
			};
		}
	});
}
 
@Override
public void configureWebSocketTransport(WebSocketTransportRegistration registration) {
    registration.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() {
        @Override
        public WebSocketHandler decorate(WebSocketHandler handler) {
            ProxyWebSocketHandler proxyWebSocketHandler = new ProxyWebSocketHandler(
                    handler, stompClient, webSocketHttpHeadersCallback,
                    messagingTemplate,
                    proxyTargetResolver,
                    zuulWebSocketProperties);
            proxyWebSocketHandler.errorHandler(proxyWebSocketErrorHandler);
            return proxyWebSocketHandler;
        }
    });
}
 
@Override
public WebSocketHandler getObject() throws Exception {
	WebSocketHandler result = this.handler;
	for (WebSocketHandlerDecoratorFactory factory : this.factories) {
		result = factory.decorate(result);
	}
	return result;
}
 
@Override
protected void configureWebSocketTransport(WebSocketTransportRegistration registry) {
	registry.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() {
		@Override
		public WebSocketHandlerDecorator decorate(WebSocketHandler handler) {
			return new WebSocketHandlerDecorator(handler) {
				@Override
				public void afterConnectionEstablished(WebSocketSession session) throws Exception {
					session.getAttributes().put("decorated", true);
					super.afterConnectionEstablished(session);
				}
			};
		}
	});
}
 
protected List<WebSocketHandlerDecoratorFactory> getDecoratorFactories() {
	return this.decoratorFactories;
}
 
protected WebSocketHandler decorateWebSocketHandler(WebSocketHandler handler) {
	for (WebSocketHandlerDecoratorFactory factory : getTransportRegistration().getDecoratorFactories()) {
		handler = factory.decorate(handler);
	}
	return handler;
}
 
@SuppressWarnings("unused")
public DecoratingFactoryBean(WebSocketHandler handler, List<WebSocketHandlerDecoratorFactory> factories) {
	this.handler = handler;
	this.factories = factories;
}
 
protected List<WebSocketHandlerDecoratorFactory> getDecoratorFactories() {
	return this.decoratorFactories;
}
 
protected WebSocketHandler decorateWebSocketHandler(WebSocketHandler handler) {
	for (WebSocketHandlerDecoratorFactory factory : getTransportRegistration().getDecoratorFactories()) {
		handler = factory.decorate(handler);
	}
	return handler;
}
 
@SuppressWarnings("unused")
public DecoratingFactoryBean(WebSocketHandler handler, List<WebSocketHandlerDecoratorFactory> factories) {
	this.handler = handler;
	this.factories = factories;
}
 
protected List<WebSocketHandlerDecoratorFactory> getDecoratorFactories() {
	return this.decoratorFactories;
}
 
protected WebSocketHandler decorateWebSocketHandler(WebSocketHandler handler) {
	for (WebSocketHandlerDecoratorFactory factory : getTransportRegistration().getDecoratorFactories()) {
		handler = factory.decorate(handler);
	}
	return handler;
}
 
@SuppressWarnings("unused")
private DecoratingFactoryBean(WebSocketHandler handler, List<WebSocketHandlerDecoratorFactory> factories) {
	this.handler = handler;
	this.factories = factories;
}
 
/**
 * Configure one or more factories to decorate the handler used to process
 * WebSocket messages. This may be useful in some advanced use cases, for
 * example to allow Spring Security to forcibly close the WebSocket session
 * when the corresponding HTTP session expires.
 * @since 4.1.2
 */
public WebSocketTransportRegistration setDecoratorFactories(WebSocketHandlerDecoratorFactory... factories) {
	if (factories != null) {
		this.decoratorFactories.addAll(Arrays.asList(factories));
	}
	return this;
}
 
/**
 * Configure one or more factories to decorate the handler used to process
 * WebSocket messages. This may be useful in some advanced use cases, for
 * example to allow Spring Security to forcibly close the WebSocket session
 * when the corresponding HTTP session expires.
 * @since 4.1.2
 */
public WebSocketTransportRegistration setDecoratorFactories(WebSocketHandlerDecoratorFactory... factories) {
	this.decoratorFactories.addAll(Arrays.asList(factories));
	return this;
}
 
/**
 * Add a factory that to decorate the handler used to process WebSocket
 * messages. This may be useful for some advanced use cases, for example
 * to allow Spring Security to forcibly close the WebSocket session when
 * the corresponding HTTP session expires.
 * @since 4.1.2
 */
public WebSocketTransportRegistration addDecoratorFactory(WebSocketHandlerDecoratorFactory factory) {
	this.decoratorFactories.add(factory);
	return this;
}
 
/**
 * Configure one or more factories to decorate the handler used to process
 * WebSocket messages. This may be useful in some advanced use cases, for
 * example to allow Spring Security to forcibly close the WebSocket session
 * when the corresponding HTTP session expires.
 * @since 4.1.2
 */
public WebSocketTransportRegistration setDecoratorFactories(WebSocketHandlerDecoratorFactory... factories) {
	this.decoratorFactories.addAll(Arrays.asList(factories));
	return this;
}
 
/**
 * Add a factory that to decorate the handler used to process WebSocket
 * messages. This may be useful for some advanced use cases, for example
 * to allow Spring Security to forcibly close the WebSocket session when
 * the corresponding HTTP session expires.
 * @since 4.1.2
 */
public WebSocketTransportRegistration addDecoratorFactory(WebSocketHandlerDecoratorFactory factory) {
	this.decoratorFactories.add(factory);
	return this;
}
 
/**
 * Add a factory that to decorate the handler used to process WebSocket
 * messages. This may be useful for some advanced use cases, for example
 * to allow Spring Security to forcibly close the WebSocket session when
 * the corresponding HTTP session expires.
 * @since 4.1.2
 */
public WebSocketTransportRegistration addDecoratorFactory(WebSocketHandlerDecoratorFactory factory) {
	this.decoratorFactories.add(factory);
	return this;
}
 
 类方法
 同包方法