Coder Social home page Coder Social logo

vertx-stack's Introduction

vertx-stack

Build Status (5.x) Build Status (4.x)

The Vert.x stack : Vert.x + the endorsed modules

Maven

This project provides pre-configured Maven poms for using in your projects, allowing you to consume the Vert.x stack easily.

Dependency chain (Maven depchain)

This artifact io.vertx:stack-depchain is a POM projects can import to get the dependencies it needs for running the base stack:

<dependency>
  <groupId>io.vertx</groupId>
  <artifactId>vertx-stack-depchain</artifactId>
  <version>3.5.1</version>
  <type>pom</type>
</dependency>

Bills of Materials (Maven BOM)

A BOM is a also a POM you can import in your project. It will not add dependencies to your POM, instead it will set the correct versions to use. Therefore it should be used with explicit dependencies:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>vertx-stack-depchain</artifactId>
      <version>3.5.1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>vertx-core</artifactId>
    </dependency>
    ...
  </dependencies>

Adding a new module to the stack

  1. Add it to vertx-dependencies (open the project, add it to the pom.xml, install, commit and push)
  2. Add it to stack-depchain/pom.xml (open the project, add the dependency, without the version (inherited from vertx-dependencies))
  3. Add it in the stack manager:
  • Open ./stack-manager/src/main/descriptor/vertx-stack-full.json
  • Add the dependency. If the dependency must be embedded in the full distribution, set included to true. Don't forget to use the \${version}.
  1. Add it to the doc distribution:
  • Open ./stack-docs/pom.xml
  • Add the docs dependency (the using <classifier>docs</classifier> and <type>zip</type>)
  • Add the source dependency (the <classifier>sources</classifier>)
  • Add the copy instruction for the ant execution:
<copy todir="${project.build.directory}/docs/vertx-hawkular-metrics/">
    <fileset dir="${project.build.directory}/work/vertx-hawkular-metrics-docs-zip"/>
</copy>
  • Save the pom.xml file
  • Build (mvn clean install from the root).
  1. Make it polyglot (unless the module is not polyglot, e.g. a cluster manager)
  • Kotlin: in vertx-lang-kotlin, edit vertx-lang-kotlin/pom.xml
    • Add an optional dependency to the POM
    • Update the list in the maven-dependency-plugin config
  • RxJava3: in vertx-rx, edit rx-java3/pom.xml
    • Add an optional dependency to the POM
    • Update the list in the maven-dependency-plugin config
  • RxJava2: in vertx-rx, edit rx-java2/pom.xml
    • Add an optional dependency to the POM
    • Update the list in the maven-dependency-plugin config
  1. Add it to the website in vertx-web-site:
  • Edit the docs summary page docs/metadata/<version>.jsx, use Tech Preview label
  1. Add it to the starter website in vertx-starter:
  • Edit the stack definition file src/main/resources/starter.json
    • Add the module details in one of the categories (web, data, ...etc)
    • Exclude the module from versions that did not have it (exclusions)

vertx-stack's People

Contributors

aguibert avatar alexlehm avatar boliza avatar cescoffier avatar dependabot[bot] avatar gitplaneta avatar jotak avatar jponge avatar liuchong avatar michel-kraemer avatar nscavell avatar oliver-brm avatar pflanzenmoerder avatar pk-work avatar pmlopes avatar purplefox avatar ruslansennov avatar slinkydeveloper avatar the-alchemist avatar tsegismont avatar vietj avatar zepouet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vertx-stack's Issues

Dockerfile Build error

The line is wrong

RUN tar -xvzf /home/work/vertx-stack/stack-dist/target/vertx-stack-dist-3.0.0-SNAPSHOT.tar.gz -C /usr/local

You should use

RUN tar -xvzf /home/work/vertx-stack/stack-dist/target/vert.x-3.0.0-SNAPSHOT.tar.gz -C /usr/local

Thanks. Best regards,

Add a stable base dir to the distribution files

To be compliant with sdkman our distribution should have a base directory. To avoid variability this package should be stable (so not contain the version).

vertx sounds a reasonable prefix.

Once the distributions has been updated, Docker, Fabric8, npm, homebrew needs to be updated to point to the new executable files.

EventBus onOpen Pub Subscribe with vertx3-eventbus-client

Hi,

i try to get data from server by listening to EventBus with SockJsHandler.
But my onopen function is never called.
In the network tab of chrome i can see these connection entries:

info?t=1490613267837 200 xhr abstract-xhr.js:128 367 B 19 ms
info?t=1490613267847 (canceled) xhr abstract-xhr.js:128 0 B 7.98 s
websocket 101 websocket websocket.js:32 0 B Pending

My application (webpack) runs on "https://localhost:3000" and listens to "http://localhost:8080/eventbus"

Server side code

`import java.util.concurrent.ExecutionException;

import io.vertx.core.Vertx;
import io.vertx.core.eventbus.EventBus;
import io.vertx.core.http.HttpMethod;
import io.vertx.core.http.HttpServerRequest;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.sockjs.BridgeOptions;
import io.vertx.ext.web.handler.sockjs.PermittedOptions;
import io.vertx.ext.web.handler.sockjs.SockJSHandler;

public class Server {

public void start(Vertx vertx, String host, int port) throws InterruptedException, ExecutionException {
	vertx.createHttpServer().requestHandler(httpRequest -> handleHttpRequest(vertx, httpRequest)).listen(8080);

	Router router = Router.router(vertx);
	SockJSHandler sockJSHandler = SockJSHandler.create(vertx);
	BridgeOptions options = new BridgeOptions();
	options.addInboundPermitted(new PermittedOptions().setAddress("vehicleData"));
	options.addOutboundPermitted(new PermittedOptions().setAddress("vehicleData"));
	sockJSHandler.bridge(options);

	router.route("/eventbus/*").handler(sockJSHandler);
	// router.route().handler(io.vertx.ext.web.handler.CorsHandler.create("vertx\\.io").allowedMethod(HttpMethod.GET));
	router.route().handler(io.vertx.ext.web.handler.CorsHandler.create("*").allowedMethod(HttpMethod.GET));
	router.route().handler(io.vertx.ext.web.handler.CorsHandler.create("*").allowedMethod(HttpMethod.POST));
	
	EventBus eb = vertx.eventBus();

	vertx.setPeriodic(5000, v -> {
		eb.publish("vehicleData", getMessage());
		eb.send("vehicleData", getMessage());
		System.out.println("message sent ");
	});
}

private void handleHttpRequest(Vertx vertx, final HttpServerRequest httpRequest) {
	System.out.println("request handler");
}

public static void main(String[] args) throws InterruptedException, ExecutionException {
	Vertx vertx = Vertx.vertx();
	new Server().start(vertx, "localhost", 8080);
}

private String getMessage() {
		return "{\r\n" + 
			"   \"vehicles\": [\r\n" + 
			"      {\r\n" + 
			"         \"id\": \"1\",\r\n" + 
			"         \"vehicleid\": \"P110001\",\r\n" + 
			"         \"type\": \"N 5217 SHD\",\r\n" + 
			"         \"range\": \"BUSR\",\r\n" + 
			"         \"typekey\": \"N 5217 SHD\"\r\n" + 
			"      },\r\n" + 
			"      {\r\n" + 
			"         \"id\": \"2\",\r\n" + 
			"         \"vehicleid\": \"P110002\",\r\n" + 
			"         \"type\": \"N 5217 SHD\",\r\n" + 
			"         \"range\": \"BUSR\",\r\n" + 
			"         \"typekey\": \"N 5217 SHD\"\r\n" + 
			"      },\r\n" + 
			"      {\r\n" + 
			"         \"id\": \"3\",\r\n" + 
			"         \"vehicleid\": \"P110003\",\r\n" + 
			"         \"type\": \"N 5217 SHD\",\r\n" + 
			"         \"range\": \"BUSR\",\r\n" + 
			"         \"typekey\": \"N 5217 SHD\"\r\n" + 
			"      }\r\n" + 
			"   ]\r\n" + 
			"}";
}

}

Javascript code

`
const receiveEvents = function() {

var eb = new EventBus('http://localhost:8080/eventbus');

eb.onopen = () => {

    // set a handler to receive a message
    //eb.registerHandler('http://localhst:8080/vehicles/getVehicles', (error, message) => {
    eb.registerHandler('vehicleData', (error, message) => {
        console.log(`received a message: ${JSON.stringify(message)}`);
    });

    // send a message
    //eb.send('some-address', {name: 'tim', age: 587});
}
eb.onerror = function(e) {
    console.log('General error: ', e); // this does happen
}

}
receiveEvents();

`

thanks for any suggestions!

Use the Vert.x log wrapper instead of java.util.logging.Logger

Any reason we are using java.util.logging.Logger instead of io.vertx.core.logging.Logger ?

I could spot several uses of java.util.logging.Logger for instance in io.vertx.maven.resolver.ResolverImpl.

This break our nice logs since we're using SLF4J instead of JUL.

I can easily make the change and a PR if this change to Vert.x logger is accepted.

Thanks!

Improve docker documentation

Need to be added:

  • Launch instruction for JavaScript, Groovy and Ruby
  • Logging configuration
  • VERTX_OPTS and JVM_OPTS
  • Better classpath handling

Recent version of sockjs-client does not have an 'onopen' property to set.

I get the following error when calling the EventBus(...):

Error: (SystemJS) Cannot set property 'onopen' of undefined↵ TypeError: Cannot set property 'onopen' of undefined↵ at Module.EventBus (http://127.0.0.1:8080/node_modules/vertx3-eventbus-client/vertx-eventbus.js:98:28)

I edited this since I realised that is is saying "... 'onopen' of undefined"! I have to admit to being a newbie in Javascript, but I find it hard to imagine that it isn't possible to check for this "undefined" which I assume to mean null before trying to set a property on it. I assume it is undefined because a failed connection. There are no server running at this URL when this happened.

[request] [eventbus-client] bump sockjs-client dependency version

Current version of sockjs-client dependency (1.0.3) does not include the dist folder, and makes eventbus-client impossible to use directly from npm without a special build process or a CDN [Related issue: sockjs/sockjs-client#265]. Fortunately, maintainer decided to include it starting from version 1.1.2 in the npm package. So I wonder if it's possible to bump the sockjs-client dependency version to 1.1.2 or higher.

CI fails consistently due to unresolved param

Tests in error: 
  VersionIT.testVersionOfAlpineContainer:56 » MalformedURL For input string: "${...
  VersionIT.testVersionOfRegularContainer:43 » MalformedURL For input string: "$...
  VersionIT.testVersionOfRegularExecContainer:69 » MalformedURL For input string...
  VersionIT.testVersionOfAlpineExecContainer:82 » MalformedURL For input string:...

Example:

java.net.MalformedURLException: For input string: "${vertx-exec-alpine.port}"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:569)
	at java.lang.Integer.parseInt(Integer.java:615)
	at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:216)
	at java.net.URL.<init>(URL.java:615)
	at java.net.URL.<init>(URL.java:483)
	at java.net.URL.<init>(URL.java:432)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
	at com.jayway.restassured.internal.RequestSpecificationImpl.getTargetURI(RequestSpecificationImpl.groovy:1494)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1210)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:810)
	at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
	at com.jayway.restassured.internal.RequestSpecificationImpl.partiallyApplyPathParams(RequestSpecificationImpl.groovy:1620)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1210)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:810)
	at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182)
	at com.jayway.restassured.internal.RequestSpecificationImpl.newFilterContext(RequestSpecificationImpl.groovy:1039)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1210)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:810)
	at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182)
	at com.jayway.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1594)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1210)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:810)
	at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182)
	at com.jayway.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:160)
	at com.jayway.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy)
	at com.jayway.restassured.RestAssured.get(RestAssured.java:808)
	at io.vertx.stack.docker.VersionIT.testVersionOfAlpineExecContainer(VersionIT.java:82)

Typescript definitions for vertx3-eventbus-client

I'm currently using vertx3-eventbus-client in a web client application to communicate with a Java application via the EventBus.

The web client is written in Typescript, but there's no definition file for the eventbus client. Currently I've worked around this by simply adding vertx-eventbus.js and sockjs.js as <script> sources in the index file and then doing declare var EventBus: any; in Typescript source files that need it. That makes the Typescript compiler happy, but not the developer since you don't get any of the actual useful stuff like type checking, auto-completion, etc. 😄

I'm not sure whether this issue is something that would relate to npm-client or vertx-web, since the latter is what actually generates vertx-eventbus.js (?).

Do not include vertx-lang-ceylon in distributions

Because of the bug (vert-x3/issues#79) with on-demand compilation, and after discussing with the Ceylon team. We have decided to not includes vertx-lang-ceylon in the distribution. The artifact will be listed but marked as not included. Someone willing to use Ceylon in the distribution, would need to change the boolean value and resolve the stack (vertx resolve).

Add missing javassist dependency

Thymeleaf template engine requires Javassist.

We need to add this dependency again:

<dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.18.2-GA</version>
</dependency>

This dependency needs to be added into the web stack. We need an automated example to check the fix.

Provide a way to manage the vert.x stack

Provide a way to add and remove artifact into the vert.x stack installed locally (or even create a new one).

A list of available artifacts should be provided as a reference (like a catalog), but it should be possible to add custom artifacts.

Removing artifact need to remove not-used dependencies.

It is important that version conflicts are managed.

stack-docker not finding verticle?

Hi,

I'm experiencing an issue with the example provided in the stack-docker readme.
The issue is that for some reason the vertx-exec image is not able to locate the main verticle.

$ docker run -i -t -p 8080:8080 \
     -v $PWD:/verticles vertx/vertx3-exec  \
     run com.example.MyVerticle \
     -cp /verticles/build/libs/api-0.1.1-fat.jar \

java.lang.ClassNotFoundException: com.example.MyVerticle

I have double check and the package and class name of the verticle is correct.
Moreover, the following command in my localhost works just fine

$ vertx run com.example.MyVerticle -cp build/libs/api-0.1.1-fat.jar

Succeeded in deploying verticle 

Note: I build the fat jar to simplify the classpath argument and because i'm currently running the project with
java -jar api-0.1.1-fat.jar

I'm quite new to Docker technologies, but as far I understand the above should be equivalent.

Any ideas or tips on what might be going on?
Is there any chance for this to be a bug in the docker image?
Thanks

Use optimized (smaller) base image for stack-docker

Vert.x is all about lean, mean, performance, and keeping it simple, yet the java:jre8 base image is 310 MB large.

The size is why I am not using the docker-stack right now. I wonder if a more lighter-weight, optimized image can be used instead?

For example I currently use anapsix/alpine-java:jre8 with Vert.x which only amounts to 122 MB (but there are other candidates as well). Saves a lot of file transfer and storage (think dockerized microservice CD pipeline running in the cloud, lotsa images moving around, etc.).

(Note that the anapsix image may be too stripped down for general use, as there is not even a command prompt, etc.)

Add package.info and README.md files for NPM packages

As each distribution should be published on NPM, we need the package.json and readme.md files in each distribution to be able to publish them on NPM after the next release.

A note about this should also be added to the release process document

Update the java image used in the Docker stack

Docker has decided to mark the java:* images as deprecated (see https://hub.docker.com/_/java/).

This image is officially deprecated in favor of the openjdk image, and will receive no further updates after 2016-12-31 (Dec 31, 2016). Please adjust your usage accordingly.

The image has been OpenJDK-specific since it was first introduced, and as of 2016-08-10 we also have an ibmjava image, which made it even more clear that each repository should represent one upstream instead of one language stack or community, so this rename reflects that clarity appropriately.

Our images are depending on these deprecated images. But we still have some time. As there are ongoing changes in the Docker containers planned for 3.4.0, I'm going to update the parent image in this version. The planned change are breaking changes anyway (see #48).

The parent images will be:

  • openjdk:8u102-jre (+)
  • openjdk:8u92-jre-alpine (+)

(versions may be updated)

Java version older

Even though the latest version of Vertx docker image is only about 14 days old, the Java version is quite old. I recommend doing an explicit docker pull java:8 prior to building the Vertx image.

vertx3-eventbus-client callback function not called when access is denied

Hi, thanks for your library, I have enjoyed using it!

I've found the following issue has hampered me in certain use cases, and I think it might be a bug:

When attempting to send a message from a vertx3-eventbus-client to a Vertx EventBus bridge, if the bridge does not allow the message, the callback function passed to the send method is not called. I would expect it to be called with an error. Instead, only the client's onerror handler is called.

For example:

var EventBus = require('vertx3-eventbus-client');

var eb = new EventBus('http://localhost:8080/eventbus');

eb.onopen = function() {
  // the bridge at localhost:8080/eventbus doesn't permit 'some/address'
  eb.send('some/address', { key: 'value' }, function(err, res) {
    console.log('Callback err and res: ', err, res); // this doesn't happen
  });

}

eb.onerror = function(e) {
  console.log('General error: ', e); // this does happen
}

Convergence issue with Scala SDK

CI fails with:

testConvergence(io.vertx.stack.VertxStacksTest)  Time elapsed: 17.841 sec  <<< ERROR!
io.vertx.stack.model.DependencyConflictException: Conflict detected for artifact org.scala-lang:scala-library:jar - version 2.11.8 was already selected while io.vertx:vertx-mysql-postgresql-client:jar:3.4.0-SNAPSHOT depends on version 2.11.7
    at io.vertx.stack.model.StackResolution.lambda$resolve$8(StackResolution.java:167)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at io.vertx.stack.model.StackResolution.resolve(StackResolution.java:158)
    at java.util.ArrayList.forEach(ArrayList.java:1249)
    at io.vertx.stack.model.StackResolution.resolve(StackResolution.java:75)
    at io.vertx.stack.VertxStacksTest.testConvergence(VertxStacksTest.java:117)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.