@Override public List<Entry> readEntriesOrWait(int numberOfEntriesToRead) throws InterruptedException, ManagedLedgerException { checkArgument(numberOfEntriesToRead > 0); final CountDownLatch counter = new CountDownLatch(1); class Result { ManagedLedgerException exception = null; List<Entry> entries = null; } final Result result = new Result(); asyncReadEntriesOrWait(numberOfEntriesToRead, new ReadEntriesCallback() { @Override public void readEntriesComplete(List<Entry> entries, Object ctx) { result.entries = entries; counter.countDown(); } @Override public void readEntriesFailed(ManagedLedgerException exception, Object ctx) { result.exception = exception; counter.countDown(); } }, null); counter.await(); if (result.exception != null) { throw result.exception; } return result.entries; }
@Override public List<Entry> readEntriesOrWait(int numberOfEntriesToRead) throws InterruptedException, ManagedLedgerException { checkArgument(numberOfEntriesToRead > 0); final CountDownLatch counter = new CountDownLatch(1); class Result { ManagedLedgerException exception = null; List<Entry> entries = null; } final Result result = new Result(); asyncReadEntriesOrWait(numberOfEntriesToRead, new ReadEntriesCallback() { @Override public void readEntriesComplete(List<Entry> entries, Object ctx) { result.entries = entries; counter.countDown(); } @Override public void readEntriesFailed(ManagedLedgerException exception, Object ctx) { result.exception = exception; counter.countDown(); } }, null); counter.await(); if (result.exception != null) throw result.exception; return result.entries; }
@Override public List<Entry> readEntriesOrWait(int numberOfEntriesToRead) throws InterruptedException, ManagedLedgerException { checkArgument(numberOfEntriesToRead > 0); final CountDownLatch counter = new CountDownLatch(1); class Result { ManagedLedgerException exception = null; List<Entry> entries = null; } final Result result = new Result(); asyncReadEntriesOrWait(numberOfEntriesToRead, new ReadEntriesCallback() { @Override public void readEntriesComplete(List<Entry> entries, Object ctx) { result.entries = entries; counter.countDown(); } @Override public void readEntriesFailed(ManagedLedgerException exception, Object ctx) { result.exception = exception; counter.countDown(); } }, null); counter.await(); if (result.exception != null) { throw result.exception; } return result.entries; }