2014-12-04 1 views
1

실례합니다! 여기에 질문이 있습니다. 어떤 버전의 Spring이 "org.springframework.session. *"입니까? 나는 Spring4.0 jar에서 그것을 전혀 찾을 수 없다. https://github.com/spring-projects/spring-session :스프링 4 세션

public abstract class AbstractSessionWebSocketMessageBrokerConfigurer<S extends ExpiringSession> 
      extends AbstractWebSocketMessageBrokerConfigurer { 
    @Autowired 
    @SuppressWarnings("rawtypes") 
    private SessionRepository sessionRepository; 
    @Autowired 
    private ApplicationEventPublisher eventPublisher; 

    @Override 
    public void configureClientInboundChannel(ChannelRegistration registration) { 
     registration.setInterceptors(sessionRepositoryInterceptor()); 
    } 

    @Override 
    public final void registerStompEndpoints(StompEndpointRegistry registry) { 
     configureStompEndpoints(new SessionStompEndpointRegistry(registry,sessionRepositoryInterceptor())); 
    } 

    /** 
    * Register STOMP endpoints mapping each to a specific URL and (optionally) 
    * enabling and configuring SockJS fallback options with a 
    * {@link SessionRepositoryMessageInterceptor} automatically added as an 
    * interceptor. 
    * 
    * @param registry 
    *   the {@link StompEndpointRegistry} which automatically has a 
    *   {@link SessionRepositoryMessageInterceptor} added to it. 
    */ 
    protected abstract void configureStompEndpoints(StompEndpointRegistry registry); 

    @Override 
    public void configureWebSocketTransport(
      WebSocketTransportRegistration registration) { 
     registration.addDecoratorFactory(wsConnectHandlerDecoratorFactory()); 
    } 

    @Bean 
    public WebSocketRegistryListener webSocketRegistryListener() { 
     return new WebSocketRegistryListener(); 
    } 

    @Bean 
    public WebSocketConnectHandlerDecoratorFactory wsConnectHandlerDecoratorFactory() { 
     return new WebSocketConnectHandlerDecoratorFactory(eventPublisher); 
    } 

    @Bean 
    @SuppressWarnings("unchecked") 
    public SessionRepositoryMessageInterceptor<S> sessionRepositoryInterceptor() { 
     return new SessionRepositoryMessageInterceptor<S>(sessionRepository); 
    } 

    static class SessionStompEndpointRegistry implements StompEndpointRegistry { 
     private final StompEndpointRegistry registry; 
     private final HandshakeInterceptor interceptor; 

     public SessionStompEndpointRegistry(StompEndpointRegistry registry,HandshakeInterceptor interceptor) { 
      this.registry = registry; 
      this.interceptor = interceptor; 
     } 

     public StompWebSocketEndpointRegistration addEndpoint(String... paths) { 
      StompWebSocketEndpointRegistration endpoints = registry.addEndpoint(paths); 
      endpoints.addInterceptors(interceptor); 
      return endpoints; 
     } 
    } 
} 

답변

0

봄 세션이 별도의 프로젝트입니다 : 여기 클래스입니다.

응용 프로그램의 아티팩트를 제어하려면 종속성 관리 도구 (Gradle 또는 Maven)를 사용해야합니다.

WebScoket 샘플을 참조하십시오. https://github.com/spring-projects/spring-session/tree/master/samples/websocket.

봄 세션 이슈는 다음과 같습니다 https://repo.spring.io/libs :

compile "org.springframework.session:spring-session:1.0.0.RC1" 
+0

이 순간에서 인큐베이팅 프로젝트이기 때문에, 당신은 또한이 유물 저장소를 사용하는 받는다는/Gradle을 구성해야 -milestone/ –

+0

감사합니다 Artem Bilan.I 정말 고맙습니다! – Olivia

+0

듣기 좋습니다! 대답이 받아 들여지면 적절한 방법으로 표시해야합니다. –