/** * Launch a MediaDriver embedded in the current process with default configuration. * * @return the newly started MediaDriver. */ public static MediaDriver launch() { return launch(new Context()); }
final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null; ctx.aeronDirectoryName(driver.aeronDirectoryName());
/** * Launch a MediaDriver embedded in the current process and provided a configuration ctx. * * @param ctx containing the configuration options. * @return the newly created MediaDriver. */ public static MediaDriver launch(final Context ctx) { return new MediaDriver(ctx).start(); }
public static void main(final String[] args) throws Exception { loadPropertiesFiles(args); final MediaDriver.Context ctx = new MediaDriver.Context() .threadingMode(ThreadingMode.DEDICATED) .conductorIdleStrategy(new BackoffIdleStrategy(1, 1, 1, 1)) .receiverIdleStrategy(new NoOpIdleStrategy()) .senderIdleStrategy(new NoOpIdleStrategy()); try (MediaDriver ignored = MediaDriver.launch(ctx)) { final Thread pongThread = startPong(ignored.aeronDirectoryName()); pongThread.start(); runPing(ignored.aeronDirectoryName()); RUNNING.set(false); pongThread.join(); System.out.println("Shutdown Driver..."); } }
/** * Launch a new {@link ArchivingMediaDriver} with provided contexts. * * @param driverCtx for configuring the {@link MediaDriver}. * @param archiveCtx for configuring the {@link Archive}. * @return a new {@link ArchivingMediaDriver} with the provided contexts. */ public static ArchivingMediaDriver launch(final MediaDriver.Context driverCtx, final Archive.Context archiveCtx) { final MediaDriver driver = MediaDriver.launch(driverCtx); final Archive archive = Archive.launch(archiveCtx .mediaDriverAgentInvoker(driver.sharedAgentInvoker()) .errorHandler(driverCtx.errorHandler()) .errorCounter(driverCtx.systemCounters().get(SystemCounterDescriptor.ERRORS))); return new ArchivingMediaDriver(driver, archive); }
CountersReader countersReader() { return clusteredMediaDriver.mediaDriver().context().countersManager(); }
@Before public void before() { rnd.setSeed(seed); driver = MediaDriver.launch( new MediaDriver.Context() .threadingMode(ThreadingMode.DEDICATED) .spiesSimulateConnection(true) .errorHandler(Throwable::printStackTrace) .dirDeleteOnStart(true)); archive = Archive.launch( new Archive.Context() .deleteArchiveOnStart(true) .archiveDir(new File(IoUtil.tmpDirName(), "archive-test")) .fileSyncLevel(0) .threadingMode(ArchiveThreadingMode.SHARED) .errorCounter(driver.context().systemCounters().get(SystemCounterDescriptor.ERRORS)) .errorHandler(driver.context().errorHandler())); aeron = Aeron.connect(); aeronArchive = AeronArchive.connect( new AeronArchive.Context() .controlResponseChannel(CONTROL_RESPONSE_URI) .controlResponseStreamId(CONTROL_RESPONSE_STREAM_ID) .aeron(aeron) .ownsAeronClient(true)); }
((requestedStartTermId - requestedInitialTermId) * (long)termLength) + requestedStartTermOffset; driver = MediaDriver.launch( new MediaDriver.Context() .termBufferSparseFile(true) .maxCatalogEntries(MAX_CATALOG_ENTRIES) .fileSyncLevel(SYNC_LEVEL) .mediaDriverAgentInvoker(driver.sharedAgentInvoker()) .deleteArchiveOnStart(true) .archiveDir(new File(IoUtil.tmpDirName(), "archive-test")) .threadingMode(archiveThreadingMode) .idleStrategySupplier(YieldingIdleStrategy::new) .errorCounter(driver.context().systemCounters().get(SystemCounterDescriptor.ERRORS)) .errorHandler(driver.context().errorHandler()));
/** * Launch an isolated MediaDriver embedded in the current process with a generated aeronDirectoryName that can be * retrieved by calling aeronDirectoryName. * <p> * If the aeronDirectoryName is set as a system property to something different than * {@link CommonContext#AERON_DIR_PROP_DEFAULT} then this set value will be used. * * @return the newly started MediaDriver. */ public static MediaDriver launchEmbedded() { return launchEmbedded(new Context()); }
private void startClient() { if (client != null) { client.close(); client = null; clientMediaDriver.close(); } final String aeronDirName = CommonContext.getAeronDirectoryName(); clientMediaDriver = MediaDriver.launch( new MediaDriver.Context() .threadingMode(ThreadingMode.SHARED) .aeronDirectoryName(aeronDirName) .dirDeleteOnStart(true)); client = AeronCluster.connect( new AeronCluster.Context() .egressListener(egressMessageListener) .aeronDirectoryName(aeronDirName) .ingressChannel("aeron:udp") .clusterMemberEndpoints("0=localhost:20110,1=localhost:20111,2=localhost:20112")); }
private static Aeron.Context getContext(MediaDriver mediaDriver) { return new Aeron.Context().publicationConnectionTimeout(-1) .availableImageHandler(AeronUtil::printAvailableImage) .unavailableImageHandler(AeronUtil::printUnavailableImage) .aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveInterval(1000) .errorHandler(e -> log.error(e.toString(), e)); }
/** * Launch a new {@link ClusteredMediaDriver} with provided contexts. * * @param driverCtx for configuring the {@link MediaDriver}. * @param archiveCtx for configuring the {@link Archive}. * @param consensusModuleCtx for the configuration of the {@link ConsensusModule}. * @return a new {@link ClusteredMediaDriver} with the provided contexts. */ public static ClusteredMediaDriver launch( final MediaDriver.Context driverCtx, final Archive.Context archiveCtx, final ConsensusModule.Context consensusModuleCtx) { final MediaDriver driver = MediaDriver.launch(driverCtx .spiesSimulateConnection(true)); final Archive archive = Archive.launch(archiveCtx .mediaDriverAgentInvoker(driver.sharedAgentInvoker()) .errorHandler(driverCtx.errorHandler()) .errorCounter(driverCtx.systemCounters().get(SystemCounterDescriptor.ERRORS))); final ConsensusModule consensusModule = ConsensusModule.launch(consensusModuleCtx); return new ClusteredMediaDriver(driver, archive, consensusModule); }
public void close() { CloseHelper.close(aeronArchive); CloseHelper.close(aeron); CloseHelper.close(archivingMediaDriver); archivingMediaDriver.archive().context().deleteArchiveDirectory(); archivingMediaDriver.mediaDriver().context().deleteAeronDirectory(); }
@Before public void before() { rnd.setSeed(seed); driver = MediaDriver.launch( new MediaDriver.Context() .threadingMode(ThreadingMode.DEDICATED) .spiesSimulateConnection(true) .errorHandler(Throwable::printStackTrace) .dirDeleteOnStart(true)); archive = Archive.launch( new Archive.Context() .fileSyncLevel(0) .deleteArchiveOnStart(true) .archiveDir(new File(IoUtil.tmpDirName(), "archive-test")) .threadingMode(ArchiveThreadingMode.SHARED) .errorCounter(driver.context().systemCounters().get(SystemCounterDescriptor.ERRORS)) .errorHandler(driver.context().errorHandler())); aeron = Aeron.connect(); aeronArchive = AeronArchive.connect( new AeronArchive.Context() .controlResponseChannel(CONTROL_RESPONSE_URI) .controlResponseStreamId(CONTROL_RESPONSE_STREAM_ID) .aeron(aeron) .ownsAeronClient(true)); }
.errorHandler(Throwable::printStackTrace); try (MediaDriver ignore = MediaDriver.launchEmbedded(driverCtx))
/** * Launch a MediaDriver embedded in the current process and provided a configuration ctx. * * @param ctx containing the configuration options. * @return the newly created MediaDriver. */ public static MediaDriver launch(final Context ctx) { return new MediaDriver(ctx).start(); }
private static Aeron.Context getContext(MediaDriver mediaDriver) { return new Aeron.Context().publicationConnectionTimeout(-1) .availableImageHandler(AeronUtil::printAvailableImage) .unavailableImageHandler(AeronUtil::printUnavailableImage) .aeronDirectoryName(mediaDriver.aeronDirectoryName()).keepAliveInterval(1000) .errorHandler(e -> log.error(e.toString(), e)); }