Chapter 10. Miscellaneous changes in Eclipse Vert.x

The following section describes miscellaneous changes in Eclipse Vert.x 4.

10.1. Removed the Starter class

The Starter class has been removed. Use the Launcher class instead to start your Eclipse Vert.x applications without the main() method.

10.2. Isolated deployment for Java 8

Eclipse Vert.x 4 supports Java 11. This Java version does not support isolated class loading. In Eclipse Vert.x 4, isolated class loading will be supported for Java 8.

10.3. Removed hook methods from Eclipse Vert.x context

The methods Context.addCloseHook() and Context.removeCloseHook() methods have been removed from the Context class. These methods have been moved to the internal interface InternalContext.

10.4. Removed the clone methods from options

The methods KeyCertOptions.clone(), TrustOptions.clone(), and SSLEngineOptions.clone() have been removed. Use the methods KeyCertOptions.copy(), TrustOptions.copy(), and SSLEngineOptions.copy() instead.

10.5. Removed equals and hashcode methods from options

The VertxOptions.equals() and VertxOptions.hashCode() methods have been removed.

10.6. New method to check file caching

The VertxOptions.fileResolverCachingEnabled() method has been removed. Use FileSystemOptions.isFileCachingEnabled() method instead to check if file caching has been enabled to resolve classpaths.

10.7. Service Provider Interface (SPI) metrics

The Metrics.isEnabled() method has been removed. The Service Provider Interface (SPI) metrics will return a null object to indicate that metrics are not enabled.

10.8. Removed the pooled buffer methods

The pooled buffer methods TCPSSLOptions.isUsePooledBuffers() and TCPSSLOptions.setUsePooledBuffers() have been removed.

10.9. Methods to create clients that have no shared data sources

Use the following new methods to create clients that do not have shared data sources with other clients. These methods maintain their own data sources.

Deprecated MethodsNew Methods

MongoClient.createNonShared()

MongoClient.create()

JDBCClient.createNonShared()

wJDBCClient.create()

CassandraClient.createNonShared()

CassandraClient.create()

MailClient.createNonShared()

MailClient.create()

10.10. Changes in Eclipse Vert.x JUnit5

The following section describes the changes in Eclipse Vert.x JUnit5.

10.10.1. Support vertx-core module and updates in extensions

The vertx-core module has been updated to use a service provider interface for parameter injection. This change resulted in following updates in JUnit5:

  • You must call the Vertx parameter before any parameter that requires it for creation. For example, when injecting a WebClient.
  • vertx-junit5 module supports only the vertx-core module.
  • reactiverse-junit5-extensions module hosts extensions that contain extra parameter types, such as, WebClient.
  • RxJava 1 and 2 bindings are now available as vertx-junit5-rx-java and vertx-junit5-rx-java2 modules in the vertx-junit5-extensions repository.

    From Eclipse Vert.x 4.1.0, the RxJava 3 binding vertx-junit5-rx-java3 is available.

10.10.2. Deprecated succeeding and failing methods in Eclipse Vert.x text context

The VertxTestContext.succeeding() and VertxTestContext.failing() methods have been deprecated. Use VertxTestContext.succeedingThenComplete() and VertxTestContext.failingThenComplete() methods instead.