Atmosphere for Vert.x
Java Shell
Latest commit c148671 Aug 7, 2015 @jfarcand jfarcand Update README.md
Permalink
Failed to load latest commit information.
assembly [maven-release-plugin] prepare for next development iteration Aug 7, 2015
scripts
server
.gitignore
.travis.yml
README.md Update README.md Aug 7, 2015
pom.xml

README.md

Vertosphere: A Java WebSocket and HTTP server powered by the Atmosphere Framework and the Vert.x Framework.

The easiest way to get started with Vert.x is to download a sample and start it. Or look at the Javadoc. Samples are available here

   % mvn package; jdebug -jar target/vertx-chat-xxx-fat.jar

Samples are the same as then one available in Atmosphere, e.g everything that works with Atmosphere works AS-IT-IS with the Vert.x module.

Download Vert.x extension [) or use Maven

     <dependency>
         <groupId>org.atmosphere</groupId>
         <artifactId>atmosphere-vertx</artifactId>
         <version>2.1.0</version>
     </dependency>

For example, the famous multi-room Chat application in Atmosphere Can be run on top of Vert.x by doing:

public class VertxChatServer extends AbstractVerticle {

    private static final Logger logger = LoggerFactory.getLogger(VertxChatServer.class);

    private HttpServer httpServer;
    private Vertx vertx;

    @Override
    public void init(Vertx vertx, Context context) {
        this.vertx = vertx;
        httpServer = vertx.createHttpServer();
    }

    @Override
    public void start(Future<Void> future) throws Exception {
        VertxAtmosphere.Builder b = new VertxAtmosphere.Builder();

        b.resource(ChatRoom.class).httpServer(httpServer).url("/chat/:room")
                .webroot("src/main/java/org/atmosphere/vertx/samples/webroot/")
                .vertx(vertx)
                .build();
        httpServer.listen(8080);
    }

    @Override
    public void stop(Future<Void> future) throws Exception {
        httpServer.close();
    }
}

Same for Jersey. You can run any Jersey resource like can be boostrapped by doing

public class VertxJerseyChat extends AbstractVerticle {

    private HttpServer httpServer;
    private Vertx vertx;

    @Override
    public void init(Vertx vertx, Context context) {
        this.vertx = vertx;
        httpServer = vertx.createHttpServer();
    }

    @Override
    public void start(Future<Void> future) throws Exception {
        VertxAtmosphere.Builder b = new VertxAtmosphere.Builder();

        b.resource(ResourceChat.class).httpServer(httpServer).url("/chat/:room")
                .webroot("src/main/webapp/")
                .initParam(ApplicationConfig.WEBSOCKET_CONTENT_TYPE, "application/json")
                .vertx(vertx)
                .build();
        httpServer.listen(8080);
    }

    @Override
    public void stop(Future<Void> future) throws Exception {
        httpServer.close();
    }
}

[Analytics]