@Override public void asyncOpen(String name, OpenLedgerCallback callback, Object ctx) { asyncOpen(name, new ManagedLedgerConfig(), callback, ctx); }
@Override public ManagedLedger open(String name, ManagedLedgerConfig config) throws InterruptedException, ManagedLedgerException { class Result { ManagedLedger l = null; ManagedLedgerException e = null; } final Result r = new Result(); final CountDownLatch latch = new CountDownLatch(1); asyncOpen(name, config, new OpenLedgerCallback() { @Override public void openLedgerComplete(ManagedLedger ledger, Object ctx) { r.l = ledger; latch.countDown(); } @Override public void openLedgerFailed(ManagedLedgerException exception, Object ctx) { r.e = exception; latch.countDown(); } }, null); latch.await(); if (r.e != null) { throw r.e; } return r.l; }
final CountDownLatch counter = new CountDownLatch(1); factory.asyncOpen("my_test_ledger", new ManagedLedgerConfig(), new OpenLedgerCallback() { @Override public void openLedgerComplete(ManagedLedger ledger, Object ctx) {
@Test // (timeOut = 20000) public void asyncOpenClosedLedger() throws Exception { ManagedLedgerImpl ledger = (ManagedLedgerImpl) factory.open("my-closed-ledger"); ManagedCursor c1 = ledger.openCursor("c1"); ledger.addEntry("dummy-entry-1".getBytes(Encoding)); c1.close(); assertEquals(ledger.getNumberOfEntries(), 1); ledger.setFenced(); final CountDownLatch counter = new CountDownLatch(1); class Result { ManagedLedger instance1 = null; } final Result result = new Result(); factory.asyncOpen("my-closed-ledger", new OpenLedgerCallback() { @Override public void openLedgerComplete(ManagedLedger ledger, Object ctx) { result.instance1 = ledger; counter.countDown(); } @Override public void openLedgerFailed(ManagedLedgerException exception, Object ctx) { } }, null); counter.await(); assertNotNull(result.instance1); ManagedCursor c2 = result.instance1.openCursor("c1"); List<Entry> entries = c2.readEntries(1); assertEquals(entries.size(), 1); entries.forEach(e -> e.release()); }
@Override public void asyncOpen(String name, OpenLedgerCallback callback, Object ctx) { asyncOpen(name, new ManagedLedgerConfig(), callback, ctx); }
@Override public void asyncOpen(String name, OpenLedgerCallback callback, Object ctx) { asyncOpen(name, new ManagedLedgerConfig(), callback, ctx); }
@Override public ManagedLedger open(String name, ManagedLedgerConfig config) throws InterruptedException, ManagedLedgerException { class Result { ManagedLedger l = null; ManagedLedgerException e = null; } final Result r = new Result(); final CountDownLatch latch = new CountDownLatch(1); asyncOpen(name, config, new OpenLedgerCallback() { @Override public void openLedgerComplete(ManagedLedger ledger, Object ctx) { r.l = ledger; latch.countDown(); } @Override public void openLedgerFailed(ManagedLedgerException exception, Object ctx) { r.e = exception; latch.countDown(); } }, null); latch.await(); if (r.e != null) { throw r.e; } return r.l; }
@Override public ManagedLedger open(String name, ManagedLedgerConfig config) throws InterruptedException, ManagedLedgerException { class Result { ManagedLedger l = null; ManagedLedgerException e = null; } final Result r = new Result(); final CountDownLatch latch = new CountDownLatch(1); asyncOpen(name, config, new OpenLedgerCallback() { @Override public void openLedgerComplete(ManagedLedger ledger, Object ctx) { r.l = ledger; latch.countDown(); } @Override public void openLedgerFailed(ManagedLedgerException exception, Object ctx) { r.e = exception; latch.countDown(); } }, null); latch.await(); if (r.e != null) { throw r.e; } return r.l; }