NullPointerException в реализации Asyn c JAX-RS - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь реализовать асинхронный JAX-RS. Ниже мой код:

    @GET
    @Path("/isAlive")
    @Produces(MediaType.TEXT_HTML)
    public void isAlive(@Suspended AsyncResponse ar) {

        executor.execute(() -> {
            System.out.println("Inside");
            Connection conn = ConnectionUtil.getDBConnection();
            PreparedStatement stmt;
            int i = 0;
            try {
                stmt = conn.prepareStatement("insert into TEST_TABLE values(?)");
                stmt.setString(1, "TEST INSERT");
                i = stmt.executeUpdate();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            ar.resume(i);
       });

    }

После выполнения вышеуказанного кода я получаю Nulpointerexception в ar.resume(i).

13:31:35,286 ERROR [stderr] (pool-5-thread-1) Exception in thread "pool-5-thread-1" java.lang.NullPointerException

13:31:35,286 ERROR [stderr] (pool-5-thread-1)   at com.test.PublishWSImpl.lambda$0(PublishWSImpl.java:51)

13:31:35,286 ERROR [stderr] (pool-5-thread-1)   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

13:31:35,287 ERROR [stderr] (pool-5-thread-1)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

Что я делаю здесь неправильно? Если я удаляю ar.resume(i) часть, она работает нормально. Почему и когда я должен использовать метод resume() тогда?

...