vertx Jersey Chat

atmosphere-vertx: A HTTP/WebSocket server powered by Atmosphere and Vert.x Framework

License

License

Categories

Categories

Jersey Program Interface REST Frameworks
GroupId

GroupId

org.atmosphere.vertx.samples
ArtifactId

ArtifactId

vertx-jersey-chat
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

vertx Jersey Chat
atmosphere-vertx: A HTTP/WebSocket server powered by Atmosphere and Vert.x Framework
Project URL

Project URL

http://maven.apache.org

Download vertx-jersey-chat

How to add to project

<!-- https://jarcasting.com/artifacts/org.atmosphere.vertx.samples/vertx-jersey-chat/ -->
<dependency>
    <groupId>org.atmosphere.vertx.samples</groupId>
    <artifactId>vertx-jersey-chat</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.atmosphere.vertx.samples/vertx-jersey-chat/
implementation 'org.atmosphere.vertx.samples:vertx-jersey-chat:1.0.0'
// https://jarcasting.com/artifacts/org.atmosphere.vertx.samples/vertx-jersey-chat/
implementation ("org.atmosphere.vertx.samples:vertx-jersey-chat:1.0.0")
'org.atmosphere.vertx.samples:vertx-jersey-chat:jar:1.0.0'
<dependency org="org.atmosphere.vertx.samples" name="vertx-jersey-chat" rev="1.0.0">
  <artifact name="vertx-jersey-chat" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.atmosphere.vertx.samples', module='vertx-jersey-chat', version='1.0.0')
)
libraryDependencies += "org.atmosphere.vertx.samples" % "vertx-jersey-chat" % "1.0.0"
[org.atmosphere.vertx.samples/vertx-jersey-chat "1.0.0"]

Dependencies

compile (4)

Group / Artifact Type Version
org.atmosphere : atmosphere-jersey jar 2.0.0
org.atmosphere : atmosphere-vertx jar 1.0.0
org.apache.geronimo.specs : geronimo-servlet_3.0_spec jar 1.0
com.sun.jersey : jersey-json jar 1.17

provided (2)

Group / Artifact Type Version
io.vertx : vertx-core jar 2.0.1-final
io.vertx : vertx-platform jar 2.0.1-final

Project Modules

There are no modules declared in this project.

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 using Maven

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

JDK8 JDK11 JDK13

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]

org.atmosphere.vertx.samples

Atmosphere Framework

Versions

Version
1.0.0
1.0.0.RC1
1.0.0.beta1