Запуск Spring WebSocket с Stomp под Karaf OSGI без публикации конечной точки - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь запустить базовый сервер веб-сокетов с помощью stomp, используя Spring 4.3.21.RELEASE и karaf 4.1, однако пакет запускается правильно и не выдает никаких ошибок при запуске, однако конечная точка для веб-сокета не публикуется.Ниже приведены основные классы для веб-сокета.

Контроллер

@Controller
public class WebSocketController {


    @MessageMapping("/message")
    @SendToUser("/queue/reply")
    public String processMessageFromClient(@Payload String message, Principal principal,@Header("simpSessionId") String sessionId)  {


            String name = new Gson().fromJson(message, Map.class).get("name").toString();
            messagingTemplate.convertAndSendToUser(principal.getName(), "/queue/reply", name);
            return name;

    }

    @MessageExceptionHandler
    @SendToUser("/queue/errors")
    public String handleException(Throwable exception) {
        return exception.getMessage();
    }

}

Config

@Configuration

    @EnableWebSocketMessageBroker
    public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

        @Override
        public void configureMessageBroker(MessageBrokerRegistry config) {
            config.enableSimpleBroker("/topic/", "/queue/");
            config.setApplicationDestinationPrefixes("/app");
        }

        @Override
        public void registerStompEndpoints(StompEndpointRegistry registry) {
            registry.addEndpoint("/server").setAllowedOrigins("*");
        }

    }

В моем контексте Spring я определяю bean-компоненты для этих классов Spring следующим образом

<bean id="ServerManagementController"
          class="WebSocketController"
          depends-on="WebSocketConfig">
    </bean>

    <bean id="WebSocketConfig"
            class="WebSocketConfig">
    </bean>

Все зависимости загружаются в POM

 <!-- Spring -->
        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-core</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-beans</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-context</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-web</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-webmvc</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-expression</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-aop</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-jdbc</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-tx</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-context-support</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-websocket</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-messaging</artifactId>
            <scope>provided</scope>
        </dependency>

Кто-нибудь может пролить свет на то, в чем может быть проблема?

Спасибо

...