package org.jboss.as.test.integration.web.websocket; import java.io.IOException; import java.util.concurrent.BlockingDeque; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; import javax.websocket.ClientEndpoint; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; /** * @author Stuart Douglas */ @ClientEndpoint public class AnnotatedClient { private final BlockingDeque<String> queue = new LinkedBlockingDeque<>(); @OnOpen public void open(final Session session) throws IOException { session.getBasicRemote().sendText("Hello"); } @OnMessage public void message(final String message) { queue.add(message); } public String getMessage() throws InterruptedException { return queue.poll(5, TimeUnit.SECONDS); } }