New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose the Vertx Event Bus a service #418

Closed
cescoffier opened this Issue Jan 25, 2015 · 8 comments

Comments

Projects
None yet
2 participants
@cescoffier
Member

cescoffier commented Jan 25, 2015

By exposing the Vertx Event Bus as an OSGi service we allow applications to register themselves on the event bus and to interact using the event bus.

This would enable clustering.

@cescoffier cescoffier added the feature label Jan 25, 2015

@cescoffier cescoffier added this to the 0.7.1 milestone Jan 25, 2015

@vietj

This comment has been minimized.

Show comment
Hide comment
@vietj

vietj Jan 25, 2015

more importantly it allows integration with async services.

vietj commented Jan 25, 2015

more importantly it allows integration with async services.

@cescoffier

This comment has been minimized.

Show comment
Hide comment
@cescoffier

cescoffier Jan 25, 2015

Member

IT's a first step, but yes, integration with the async services would be really great.

Member

cescoffier commented Jan 25, 2015

IT's a first step, but yes, integration with the async services would be really great.

@vietj

This comment has been minimized.

Show comment
Hide comment
@vietj

vietj Jan 25, 2015

Vert.x 3 comes with proxies in front of the event bus, you should be able to inject them instead of using the event bus directly : https://github.com/vert-x3/vertx-service-proxy

At the moment we do have it for MongoDB.

vietj commented Jan 25, 2015

Vert.x 3 comes with proxies in front of the event bus, you should be able to inject them instead of using the event bus directly : https://github.com/vert-x3/vertx-service-proxy

At the moment we do have it for MongoDB.

@cescoffier

This comment has been minimized.

Show comment
Hide comment
@cescoffier

cescoffier Jan 25, 2015

Member

Yes I saw that and it's great.

It will let us integrate these 'async' services in the OSGi service registry.

BTW, in Vert.x 3 any way to inject our own ClusterManager instance (because it's the pain in the ass for us in Vert.x 2 ;-))

Member

cescoffier commented Jan 25, 2015

Yes I saw that and it's great.

It will let us integrate these 'async' services in the OSGi service registry.

BTW, in Vert.x 3 any way to inject our own ClusterManager instance (because it's the pain in the ass for us in Vert.x 2 ;-))

@vietj

This comment has been minimized.

Show comment
Hide comment
@vietj

vietj Jan 25, 2015

is ClusterManager a replacement for Vert.x cluster integration whose default is based on Hazelcast ?

vietj commented Jan 25, 2015

is ClusterManager a replacement for Vert.x cluster integration whose default is based on Hazelcast ?

@cescoffier

This comment has been minimized.

Show comment
Hide comment
@cescoffier

cescoffier Jan 25, 2015

Member

In Vertx 2.x, there is a ClusterManagerFactory creating an instance of ClusterManager. The "default" is based on Hazelcast.

You have the choice between:

  • giving the class name of the ClusterManagerFactory to use
  • using a SPI file

None of these choices is really suitable for us. It would be really nice we we can just provide the instance of ClusterManager (or ClusterManagerFactory) to use, so we can benefit from the Wisdom services.

Member

cescoffier commented Jan 25, 2015

In Vertx 2.x, there is a ClusterManagerFactory creating an instance of ClusterManager. The "default" is based on Hazelcast.

You have the choice between:

  • giving the class name of the ClusterManagerFactory to use
  • using a SPI file

None of these choices is really suitable for us. It would be really nice we we can just provide the instance of ClusterManager (or ClusterManagerFactory) to use, so we can benefit from the Wisdom services.

@vietj

This comment has been minimized.

Show comment
Hide comment
@vietj

vietj Jan 25, 2015

Vert.x 3 has a create method that uses a VertxOptions object that can be configured with a ClusterManager instance.

VertxOptions options = new VertxOptions().setHAEnabled(true).setQuorumSize(quorumSize).setHAGroup(haGroup).setClustered(true).setClusterHost("localhost").setClusterManager(getClusterManager());
Vertx.clusteredVertx(options);

vietj commented Jan 25, 2015

Vert.x 3 has a create method that uses a VertxOptions object that can be configured with a ClusterManager instance.

VertxOptions options = new VertxOptions().setHAEnabled(true).setQuorumSize(quorumSize).setHAGroup(haGroup).setClustered(true).setClusterHost("localhost").setClusterManager(getClusterManager());
Vertx.clusteredVertx(options);
@cescoffier

This comment has been minimized.

Show comment
Hide comment
@cescoffier

cescoffier Jan 25, 2015

Member

Great ! Exactly what we need !

PS: Any way to update it dynamically ;-)

Member

cescoffier commented Jan 25, 2015

Great ! Exactly what we need !

PS: Any way to update it dynamically ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment