Example usage for org.springframework.web.servlet.mvc.method.annotation ResponseBodyEmitter complete

List of usage examples for org.springframework.web.servlet.mvc.method.annotation ResponseBodyEmitter complete

Introduction

In this page you can find the example usage for org.springframework.web.servlet.mvc.method.annotation ResponseBodyEmitter complete.

Prototype

boolean complete

To view the source code for org.springframework.web.servlet.mvc.method.annotation ResponseBodyEmitter complete.

Click Source Link

Document

Store complete invocation before handler is initialized.

Usage

From source file:com.graphaware.example.NodeStreamingApi.java

@RequestMapping(path = "v1", method = RequestMethod.GET)
public ResponseBodyEmitter streamV1() {
    final ResponseBodyEmitter emitter = new ResponseBodyEmitter();

    taskExecutor.execute(new Runnable() {
        @Override/*from  w  w  w  .  j  a v a2s . com*/
        public void run() {
            boolean first = true;

            try (Transaction tx = database.beginTx()) {
                emitter.send("[");

                for (Node node : database.getAllNodes()) {
                    if (!first) {
                        emitter.send(",");
                    } else {
                        first = false;
                    }
                    emitter.send(new LongIdJsonNode(node));
                }

                emitter.send("]");
                emitter.complete();

                tx.success();
            } catch (Exception e) {
                emitter.completeWithError(e);
            }
        }
    });

    return emitter;
}