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

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

Introduction

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

Prototype

public synchronized void completeWithError(Throwable ex) 

Source Link

Document

Complete request processing with an error.

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 ww  .j  a  v a2 s.  co m*/
        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;
}