/childprocess-vertx-ext

Child Process extension for Vert.x

Primary LanguageJavaApache License 2.0Apache-2.0

Child Process extension for Vert.x

childprocess-vertx-ext

Spawn child processes from Vert.x.

Based on https://github.com/brettwooldridge/NuProcess Low-overhead, non-blocking I/O, external Process implementation for Java.

What for ?

Vert.x 4.x

Using Child Process

To use Child Process, add the following dependency to the dependencies section of your build descriptor:

  • Maven (in your pom.xml):
<dependency>
  <groupId>com.julienviet</groupId>
  <artifactId>childprocess-vertx-ext</artifactId>
  <version>2.0.0</version>
</dependency>
  • Gradle (in your build.gradle file):
dependencies {
  compile 'com.julienviet:childprocess-vertx-ext:2.0.0'
}

Spawn child processes from Vert.x:

Process
  .create(vertx, "cat")
  .startHandler(process -> {
  process.exitHandler(code -> {
    System.out.println("Process exited: " + code);
  });
  process.stdout().handler(buf -> {
    System.out.println("Process wrote: " + buf);
  });
  StreamOutput stdin = process.stdin();
  stdin.write(Buffer.buffer("hello"));
  stdin.close();
}).start();

Web-site docs

Snapshots

Use the dependency

<dependency>
  <groupId>com.julienviet</groupId>
  <artifactId>childprocess-vertx-ext</artifactId>
  <version>2.0.0</version>
</dependency>

Snapshots are deployed in Sonatype OSS repository: https://oss.sonatype.org/content/repositories/snapshots/com/julienviet/childprocess-vertx-ext/

License

Apache License - Version 2.0

Documentation

The online and published documentation is in /docs and is served by GitHub pages with Jekyll.

You can find the actual guide source in src/main/docs/index.md. At compilation time, this source generates the jekyll/guide/java/index.md.

The current documentation is in /jekyll and can be preview using Docker and your browser

  • generate the documentation ** mvn compile to generate jekyll/guide/java/index.md ** mvn site to generate the javadoc in jekyll/apidocs
  • run Jekyll ** cd jekyll ** docker-compose up
  • open your browser at http://localhost:4000