Example usage for io.netty.handler.codec.stomp StompHeaders RECEIPT_ID

List of usage examples for io.netty.handler.codec.stomp StompHeaders RECEIPT_ID

Introduction

In this page you can find the example usage for io.netty.handler.codec.stomp StompHeaders RECEIPT_ID.

Prototype

AsciiString RECEIPT_ID

To view the source code for io.netty.handler.codec.stomp StompHeaders RECEIPT_ID.

Click Source Link

Usage

From source file:com.cmz.stomp.StompClientHandler.java

License:Apache License

@Override
protected void channelRead0(ChannelHandlerContext ctx, StompFrame frame) throws Exception {
    String subscrReceiptId = "001";
    String disconReceiptId = "002";
    switch (frame.command()) {
    case CONNECTED:
        StompFrame subscribeFrame = new DefaultStompFrame(StompCommand.SUBSCRIBE);
        subscribeFrame.headers().set(StompHeaders.DESTINATION, StompClient.TOPIC);
        subscribeFrame.headers().set(StompHeaders.RECEIPT, subscrReceiptId);
        subscribeFrame.headers().set(StompHeaders.ID, "1");
        System.out.println("connected, sending subscribe frame: " + subscribeFrame);
        state = ClientState.AUTHENTICATED;
        ctx.writeAndFlush(subscribeFrame);
        break;/*from   w  w  w .jav a 2 s .c o m*/
    case RECEIPT:
        String receiptHeader = frame.headers().getAsString(StompHeaders.RECEIPT_ID);
        if (state == ClientState.AUTHENTICATED && receiptHeader.equals(subscrReceiptId)) {
            StompFrame msgFrame = new DefaultStompFrame(StompCommand.SEND);
            msgFrame.headers().set(StompHeaders.DESTINATION, StompClient.TOPIC);
            msgFrame.content().writeBytes("some payload".getBytes());
            System.out.println("subscribed, sending message frame: " + msgFrame);
            state = ClientState.SUBSCRIBED;
            ctx.writeAndFlush(msgFrame);
        } else if (state == ClientState.DISCONNECTING && receiptHeader.equals(disconReceiptId)) {
            System.out.println("disconnected");
            ctx.close();
        } else {
            throw new IllegalStateException("received: " + frame + ", while internal state is " + state);
        }
        break;
    case MESSAGE:
        if (state == ClientState.SUBSCRIBED) {
            System.out.println("received frame: " + frame);
            StompFrame disconnFrame = new DefaultStompFrame(StompCommand.DISCONNECT);
            disconnFrame.headers().set(StompHeaders.RECEIPT, disconReceiptId);
            System.out.println("sending disconnect frame: " + disconnFrame);
            state = ClientState.DISCONNECTING;
            ctx.writeAndFlush(disconnFrame);
        }
        break;
    default:
        break;
    }
}

From source file:com.hop.hhxx.example.stomp.StompClientHandler.java

License:Apache License

@Override
protected void channelRead0(ChannelHandlerContext ctx, StompFrame frame) throws Exception {
    String subscrReceiptId = "001";
    String disconReceiptId = "002";
    switch (frame.command()) {
    case CONNECTED:
        StompFrame subscribeFrame = new DefaultStompFrame(StompCommand.SUBSCRIBE);
        subscribeFrame.headers().set(StompHeaders.DESTINATION, io.netty.example.stomp.StompClient.TOPIC);
        subscribeFrame.headers().set(StompHeaders.RECEIPT, subscrReceiptId);
        subscribeFrame.headers().set(StompHeaders.ID, "1");
        System.out.println("connected, sending subscribe frame: " + subscribeFrame);
        state = ClientState.AUTHENTICATED;
        ctx.writeAndFlush(subscribeFrame);
        break;//from   ww  w  .jav a 2s. com
    case RECEIPT:
        String receiptHeader = frame.headers().getAsString(StompHeaders.RECEIPT_ID);
        if (state == ClientState.AUTHENTICATED && receiptHeader.equals(subscrReceiptId)) {
            StompFrame msgFrame = new DefaultStompFrame(StompCommand.SEND);
            msgFrame.headers().set(StompHeaders.DESTINATION, io.netty.example.stomp.StompClient.TOPIC);
            msgFrame.content().writeBytes("some payload".getBytes());
            System.out.println("subscribed, sending message frame: " + msgFrame);
            state = ClientState.SUBSCRIBED;
            ctx.writeAndFlush(msgFrame);
        } else if (state == ClientState.DISCONNECTING && receiptHeader.equals(disconReceiptId)) {
            System.out.println("disconnected");
            ctx.close();
        } else {
            throw new IllegalStateException("received: " + frame + ", while internal state is " + state);
        }
        break;
    case MESSAGE:
        if (state == ClientState.SUBSCRIBED) {
            System.out.println("received frame: " + frame);
            StompFrame disconnFrame = new DefaultStompFrame(StompCommand.DISCONNECT);
            disconnFrame.headers().set(StompHeaders.RECEIPT, disconReceiptId);
            System.out.println("sending disconnect frame: " + disconnFrame);
            state = ClientState.DISCONNECTING;
            ctx.writeAndFlush(disconnFrame);
        }
        break;
    default:
        break;
    }
}

From source file:io.aos.netty5.stomp.StompClientHandler.java

License:Apache License

@Override
protected void messageReceived(ChannelHandlerContext ctx, StompFrame frame) throws Exception {
    String subscrReceiptId = "001";
    String disconReceiptId = "002";
    switch (frame.command()) {
    case CONNECTED:
        StompFrame subscribeFrame = new DefaultStompFrame(StompCommand.SUBSCRIBE);
        subscribeFrame.headers().set(StompHeaders.DESTINATION, StompClient.TOPIC);
        subscribeFrame.headers().set(StompHeaders.RECEIPT, subscrReceiptId);
        subscribeFrame.headers().set(StompHeaders.ID, "1");
        System.out.println("connected, sending subscribe frame: " + subscribeFrame);
        state = ClientState.AUTHENTICATED;
        ctx.writeAndFlush(subscribeFrame);
        break;//from  w ww .ja  v  a2 s . c  o  m
    case RECEIPT:
        String receiptHeader = frame.headers().get(StompHeaders.RECEIPT_ID);
        if (state == ClientState.AUTHENTICATED && receiptHeader.equals(subscrReceiptId)) {
            StompFrame msgFrame = new DefaultStompFrame(StompCommand.SEND);
            msgFrame.headers().set(StompHeaders.DESTINATION, StompClient.TOPIC);
            msgFrame.content().writeBytes("some payload".getBytes());
            System.out.println("subscribed, sending message frame: " + msgFrame);
            state = ClientState.SUBSCRIBED;
            ctx.writeAndFlush(msgFrame);
        } else if (state == ClientState.DISCONNECTING && receiptHeader.equals(disconReceiptId)) {
            System.out.println("disconnected");
            ctx.close();
        } else {
            throw new IllegalStateException("received: " + frame + ", while internal state is " + state);
        }
        break;
    case MESSAGE:
        if (state == ClientState.SUBSCRIBED) {
            System.out.println("received frame: " + frame);
            StompFrame disconnFrame = new DefaultStompFrame(StompCommand.DISCONNECT);
            disconnFrame.headers().set(StompHeaders.RECEIPT, disconReceiptId);
            System.out.println("sending disconnect frame: " + disconnFrame);
            state = ClientState.DISCONNECTING;
            ctx.writeAndFlush(disconnFrame);
        }
        break;
    default:
        break;
    }
}