Java.lang.ClassNotFoundException: класс io.reactivex.functions.Action not found - PullRequest
0 голосов
/ 01 мая 2019

Я использую версию rxjava v-2.2.6 & naiksoftware / stompprotocolandroid v-1.6.4

Я получаю эту ошибку

java.lang.ClassNotFoundException: Class io.reactivex.functions.Action not found   

каждый раз, когда добавляю реализацию этой библиотеки

'com.github.NaikSoftware:StompProtocolAndroid:1.5.2' к моему build.gradle файлу, почему это?

public void connectStomp(View view) {

    List<StompHeader> headers = new ArrayList<>();
    headers.add(new StompHeader(LOGIN, "guest"));
    headers.add(new StompHeader(PASSCODE, "guest"));

    //mStompClient.withClientHeartbeat(10000).withServerHeartbeat(10000);

    resetSubscriptions();

    Disposable dispLifecycle = mStompClient.lifecycle()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(lifecycleEvent -> {
    switch (lifecycleEvent.getType()) {
    case OPENED:
    Log.e(TAG, "Stomp connection opened");
    //toast("Stomp connection opened");
    break;
    case ERROR:
    Log.e(TAG, "Stomp connection error", lifecycleEvent.getException());
    //toast("Stomp connection error");
    mStompClient.reconnect();
    break;
    case CLOSED:
    Log.e(TAG, "Stomp connection closed");
    mStompClient.disconnect();
    resetSubscriptions();
    //toast("Stomp connection closed");
    // mStompClient.connect();
    break;
    case FAILED_SERVER_HEARTBEAT:
    Log.e(TAG, "Stomp connection opened");
    //toast("Stomp failed server heartbeat");
    break;
    }
    }, throwable -> {
    Log.e(TAG, "Error on subscribe topic", throwable);
    });

    compositeDisposable.add(dispLifecycle);

    // Receive greetings
    Disposable dispTopic = mStompClient.topic("/topic/greetings")
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(topicMessage -> {
    Log.d(TAG, "Received " + topicMessage.getPayload());
    //addItem(mGson.fromJson(topicMessage.getPayload(), EchoModel.class));
    }, throwable -> {
    Log.e(TAG, "Error on subscribe topic", throwable);
    });

    compositeDisposable.add(dispTopic);

    mStompClient.connect(headers);

}

1 Ответ

0 голосов
/ 01 мая 2019

Библиотека NaikSoftware / StompProtocolAndroid не использует обновленный код, я столкнулся с аналогичной проблемой при интеграции клиента Stomp в Android.

См. Приведенное ниже хранилище для решения, замените url-адрес сервера и номер порта на свой собственный порт и URL-адрес сервера.

репо https://github.com/NaikSoftware/StompProtocolAndroid

Дайте мне знать, если это решит вашу проблему.

...