Можно ли сгенерировать прокси-сервер службы vertx, который ссылается на экземпляр rx vertx? - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь разработать прокси-сервер службы базы данных и использую статью, которая расширяет io.vertx.reactivex.core.AbstractVerticle, так что я могу использовать семантику rxJava вокруг вызовов базы данных.Проблема в том, что когда я генерирую код прокси службы, я получаю следующее:

ServiceVertxEBProxy.java:[37,1] a type with the same simple name is already defined by the single-type-import of io.vertx.core.Vertx

Служба базы данных отвечает за работу с общим клиентом dbclient, который я делаю:

    public Single<SQLConnection> getConnection()
{
    JDBCClient dbClient = JDBCClient.createShared( vertx, CONFIG, DATASOURCE );

    return dbClient.rxGetConnection().flatMap( conn -> {
        Single<SQLConnection> connectionSingle = Single.just( conn );
        return connectionSingle.doFinally( conn::close );
    } );
}

Можно ли использовать @ProxyGen для создания прокси-клиента, который ссылается на rxJava в службе?

Для справки интерфейс объявляет фабричные методы для создания экземпляра службы, следуя документации vertx.io.

import io.vertx.reactivex.core.Vertx;

@ProxyGen
public interface ChatDbService
{
    static ChatDbService create( Vertx vertx )
    {
        return new ChatDbServiceImpl( vertx );
    }

    static ChatDbService createProxy( Vertx vertx, String address )
    {
        return new ChatDbServiceVertxEBProxy( vertx.getDelegate(), address );
    }

} 

Помощь и понимание будут оценены.

1 Ответ

0 голосов
/ 10 сентября 2018

Генерация прокси-сервера не может работать с RxJava, поскольку использует асинхронную модель Vert.x. Поскольку вы не публикуете интерфейс ServiceVertx, на самом деле невозможно дать вам дополнительные советы относительно вашего приложения, если вы можете, мы можем уточнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...