Endpoint async

Run
How to run the sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing we need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/websocket/endpoint-async/
Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:
mvn test -Dtest=MyAsyncEndpointTest

MyAsyncEndpointTest

Missing a description for the story. Add some javadoc to the TestClass. Show me how!
Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
@Deployment(testable = false)
public static WebArchive deploy() throws URISyntaxException {
    return ShrinkWrap.create(WebArchive.class)
            .addClass(MyAsyncEndpointText.class)
            .addClass(MyAsyncEndpointByteBuffer.class);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldReceiveAsyncTextMessage() throws URISyntaxException, IOException, DeploymentException {
    MyAsyncEndpointTextClient endpoint = new MyAsyncEndpointTextClient();
    Session session = connectToEndpoint(endpoint, "text");

    session.getAsyncRemote().sendText(TEST_MESSAGE);

    await().untilCall(to(endpoint).getReceivedMessage(), is(equalTo(TEST_MESSAGE)));
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldReceiveAsyncByteBufferMessage() throws URISyntaxException, IOException, DeploymentException {
    final ByteBuffer buffer = ByteBuffer.wrap(TEST_MESSAGE.getBytes());
    MyAsyncEndpointByteBufferClient endpoint = new MyAsyncEndpointByteBufferClient();
    Session session = connectToEndpoint(endpoint, "bytebuffer");

    session.getAsyncRemote().sendBinary(buffer);

    await().untilCall(to(endpoint).getReceivedMessage(), is(notNullValue()));
    String receivedString = bufferToString(endpoint.getReceivedMessage());
    assertThat(receivedString, is(equalTo(TEST_MESSAGE)));
}

Share the Knowledge

Find this sample useful? Share on

There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.

Help Improve

Find a bug in the sample? Something missing? You can fix it by editing the source, making the correction and sending a pull request. Or report the problem to the issue tracker

Recent Changelog

  • Jul 15, 2014: Removed header license. the licensing is now referenced in the license file in the root of the project by Roberto Cortez
  • Dec 04, 2013: Arquillian tests for async websocket endpoint. part of #86 by Jacek Jackowiak
  • Sep 17, 2013: Removing netbeans configuration file by Arun Gupta
  • Aug 29, 2013: Renaming the package by Arun Gupta
  • Aug 29, 2013: Adding ; to keep javascript valid by Arun Gupta
  • Aug 28, 2013: Using more meaningful titles, making method names more intuitive by Arun Gupta
  • Aug 27, 2013: Moving the source code from http://svn.java.net/svn/glassfish~svn/branches/arun/javaee7-samples/samples/ by Arun Gupta
How to help improve this sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing you need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/websocket/endpoint-async/

Do the changes as you see fit and send a pull request!

Good Luck!