SockJsClientはClassCastExceptionをスローします

A.カシニコフ

intellij IDEAプラグインでWebSocket接続を構成しようとしていますが、

 2019-10-25 19:17:56,835 [  81159]  ERROR - roject.impl.ProjectManagerImpl - From the listener com.homework.plugin.PluginTasksProjectComponent$1@1c0e28b2 (class com.homework.plugin.PluginTasksProjectComponent$1) 
java.lang.ClassCastException: com.fasterxml.jackson.module.kotlin.KotlinModule cannot be cast to com.fasterxml.jackson.databind.Module
    at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.registerWellKnownModulesIfAvailable(Jackson2ObjectMapperBuilder.java:811)
    at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.configure(Jackson2ObjectMapperBuilder.java:650)
    at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:633)
    at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.<init>(MappingJackson2HttpMessageConverter.java:59)
    at org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.<init>(AllEncompassingFormHttpMessageConverter.java:76)
    at org.springframework.web.client.RestTemplate.<init>(RestTemplate.java:150)
    at org.springframework.web.socket.sockjs.client.RestTemplateXhrTransport.<init>(RestTemplateXhrTransport.java:64)
    at com.homework.plugin.chat.WebSocket.<init>(WebSocket.java:39)
    at com.homework.plugin.PluginTasksProjectComponent$1.projectOpened(PluginTasksProjectComponent.java:72)

このコードをスタンドアロンアプリケーションで使用すると、すべてが完璧に機能します。

public class WebSocket {
private static final String TOPIC_ADDED = "/topic/discussion%s/comments/added";
private static final String TOPIC_UPDATED = "/topic/discussion%s/comments/updated";
private static final String TOPIC_DELETED = "/topic/discussion%s/comments/deleted";
private static final String TOPIC_SEND = "/topic/discussion%s/comments";
private final String URL = "https://my.url/stomp-messages";

private StompSession stompSession;
private StompSessionHandler sessionHandler;
private StompSession.Subscription currentSubscription;


public WebSocket(JTextPane messagesTextPane) {
    sessionHandler = new MySessionHandler(messagesTextPane);
    List<Transport> transports = new ArrayList<>(2);
    transports.add(new WebSocketTransport(new StandardWebSocketClient()));
    transports.add(new RestTemplateXhrTransport());
    WebSocketClient client = new SockJsClient(transports);

    WebSocketStompClient stompClient = new WebSocketStompClient(client);
    stompClient.setMessageConverter(new MappingJackson2MessageConverter());
    stompClient.setTaskScheduler(new ConcurrentTaskScheduler());

    try {
        stompSession = stompClient.connect(URL, sessionHandler).get();
    } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
    }
}

new RestTemplateXhrTransport()オブジェクトが作成されている行で例外がスローされます。Jackson2ObjectMapperBuilderはいくつかのKotlinモジュールをModuleクラスにキャストしようとしますが、このコードブロックがスタンドアロンアプリケーションで実行されない理由がわかりません。

問題の原因を誰かが知っているかもしれませんか?

A.カシニコフ

問題が解決しました。この依存関係を追加する必要があります

<dependency>
    <groupId>com.fasterxml.jackson.module</groupId>
    <artifactId>jackson-module-kotlin</artifactId>
    <version>2.10.0</version>
</dependency>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

TextInputLayoutsetErrorメソッドは24.2.0でClassCastExceptionをスローします

分類Dev

task.getResult()はjava.lang.ClassCastExceptionをスローします

分類Dev

HQLクエリはclassCastExceptionをスローします

分類Dev

hibernate entityManagerFactoryinitはExceptionInInitializerErrorjava.lang.ClassCastExceptionをスローします

分類Dev

hibernate entityManagerFactoryinitはExceptionInInitializerErrorjava.lang.ClassCastExceptionをスローします

分類Dev

jdbcTemplatebatchUpdateはClassCastExceptionをスローしています

分類Dev

java Array.newInstanceはClassCastExceptionをスローしますが、なぜですか?

分類Dev

なぜDefaultListModel.toArrayは()にClassCastExceptionをスローしていますか?

分類Dev

HibernateMYSQLネイティブクエリはClassCastExceptionをスローします

分類Dev

JPA @ ManyToOne @ JoinFormulaがClassCastExceptionをスローします

分類Dev

MysqlDataSourceがGlassfishでClassCastExceptionをスローします

分類Dev

フラグメントユニットテスト:launchFragmentはClassCastExceptionをスローします

分類Dev

asInstanceOfがClassCastExceptionをスローしないのはなぜですか?

分類Dev

Javaは、Integerパラメータに対してString.valueOf(int i)の代わりにString.valueOf(char [] data)を呼び出し、ClassCastExceptionをスローします

分類Dev

TreeSetがClassCastExceptionをスローするのはなぜですか?

分類Dev

コンポジットのバリデーターは、java.lang.Double値を使用するとClassCastExceptionをスローします

分類Dev

ファイルからオブジェクトにコンテンツをキャストすると、javaはjava.lang.ClassCastExceptionをスローします

分類Dev

他に何がJavaでClassCastExceptionをスローできますか?

分類Dev

ClassCastExceptionをスローするSpringData JPA findById()

分類Dev

ClassCastExceptionをスローするSpringData JPA findById()

分類Dev

Wekaは「UnassignedDatasetException」をスローします

分類Dev

Wekaは「UnassignedDatasetException」をスローします

分類Dev

leiningennewは例外をスローします

分類Dev

startSupportActionMode()はNullPointerExceptionをスローします

分類Dev

UseHangfireServerは例外をスローします

分類Dev

PeripheralManagerServiceはNoClassDefFoundErrorをスローします

分類Dev

rxjavaはOnErrorNotImplementedExceptionをスローします

分類Dev

IconButtonは例外をスローします

分類Dev

CVXPYはSolverErrorをスローします

Related 関連記事

  1. 1

    TextInputLayoutsetErrorメソッドは24.2.0でClassCastExceptionをスローします

  2. 2

    task.getResult()はjava.lang.ClassCastExceptionをスローします

  3. 3

    HQLクエリはclassCastExceptionをスローします

  4. 4

    hibernate entityManagerFactoryinitはExceptionInInitializerErrorjava.lang.ClassCastExceptionをスローします

  5. 5

    hibernate entityManagerFactoryinitはExceptionInInitializerErrorjava.lang.ClassCastExceptionをスローします

  6. 6

    jdbcTemplatebatchUpdateはClassCastExceptionをスローしています

  7. 7

    java Array.newInstanceはClassCastExceptionをスローしますが、なぜですか?

  8. 8

    なぜDefaultListModel.toArrayは()にClassCastExceptionをスローしていますか?

  9. 9

    HibernateMYSQLネイティブクエリはClassCastExceptionをスローします

  10. 10

    JPA @ ManyToOne @ JoinFormulaがClassCastExceptionをスローします

  11. 11

    MysqlDataSourceがGlassfishでClassCastExceptionをスローします

  12. 12

    フラグメントユニットテスト:launchFragmentはClassCastExceptionをスローします

  13. 13

    asInstanceOfがClassCastExceptionをスローしないのはなぜですか?

  14. 14

    Javaは、Integerパラメータに対してString.valueOf(int i)の代わりにString.valueOf(char [] data)を呼び出し、ClassCastExceptionをスローします

  15. 15

    TreeSetがClassCastExceptionをスローするのはなぜですか?

  16. 16

    コンポジットのバリデーターは、java.lang.Double値を使用するとClassCastExceptionをスローします

  17. 17

    ファイルからオブジェクトにコンテンツをキャストすると、javaはjava.lang.ClassCastExceptionをスローします

  18. 18

    他に何がJavaでClassCastExceptionをスローできますか?

  19. 19

    ClassCastExceptionをスローするSpringData JPA findById()

  20. 20

    ClassCastExceptionをスローするSpringData JPA findById()

  21. 21

    Wekaは「UnassignedDatasetException」をスローします

  22. 22

    Wekaは「UnassignedDatasetException」をスローします

  23. 23

    leiningennewは例外をスローします

  24. 24

    startSupportActionMode()はNullPointerExceptionをスローします

  25. 25

    UseHangfireServerは例外をスローします

  26. 26

    PeripheralManagerServiceはNoClassDefFoundErrorをスローします

  27. 27

    rxjavaはOnErrorNotImplementedExceptionをスローします

  28. 28

    IconButtonは例外をスローします

  29. 29

    CVXPYはSolverErrorをスローします

ホットタグ

アーカイブ