47 lines
1.8 KiB
Java
47 lines
1.8 KiB
Java
package site.easystartup.web.config;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.messaging.converter.DefaultContentTypeResolver;
|
|
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
|
|
import org.springframework.messaging.converter.MessageConverter;
|
|
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
|
|
import org.springframework.util.MimeTypeUtils;
|
|
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
|
|
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
|
|
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
|
|
|
|
import java.util.List;
|
|
|
|
@Configuration
|
|
@EnableWebSocketMessageBroker
|
|
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
|
|
|
|
@Override
|
|
public void configureMessageBroker(MessageBrokerRegistry config) {
|
|
config.enableSimpleBroker( "/user", "/queue");
|
|
config.setApplicationDestinationPrefixes("/app");
|
|
config.setUserDestinationPrefix("/user");
|
|
}
|
|
|
|
@Override
|
|
public void registerStompEndpoints(StompEndpointRegistry registry) {
|
|
registry
|
|
.addEndpoint("/ws")
|
|
.setAllowedOrigins("*")
|
|
.withSockJS();
|
|
}
|
|
|
|
@Override
|
|
public boolean configureMessageConverters(List<MessageConverter> messageConverters) {
|
|
DefaultContentTypeResolver resolver = new DefaultContentTypeResolver();
|
|
resolver.setDefaultMimeType(MimeTypeUtils.APPLICATION_JSON);
|
|
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
|
|
converter.setObjectMapper(new ObjectMapper());
|
|
converter.setContentTypeResolver(resolver);
|
|
messageConverters.add(converter);
|
|
return false;
|
|
}
|
|
}
|
|
|