本文整理汇总了Java中io.aeron.driver.MediaDriver.launch方法的典型用法代码示例。如果您正苦于以下问题:Java MediaDriver.launch方法的具体用法?Java MediaDriver.launch怎么用?Java MediaDriver.launch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.aeron.driver.MediaDriver
的用法示例。
在下文中一共展示了MediaDriver.launch方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@SuppressWarnings("checkstyle:UncommentedMain")
public static void main(final String... args) {
MediaDriver.loadPropertiesFiles(args);
setProperty(DISABLE_BOUNDS_CHECKS_PROP_NAME, "true");
setProperty("aeron.mtu.length", "16384");
setProperty("aeron.socket.so_sndbuf", "2097152");
setProperty("aeron.socket.so_rcvbuf", "2097152");
setProperty("aeron.rcv.initial.window.length", "2097152");
final MediaDriver.Context ctx = new MediaDriver.Context()
.threadingMode(ThreadingMode.DEDICATED)
.dirsDeleteOnStart(true)
.termBufferSparseFile(false)
.conductorIdleStrategy(new BusySpinIdleStrategy())
.receiverIdleStrategy(new BusySpinIdleStrategy())
.senderIdleStrategy(new BusySpinIdleStrategy());
try (MediaDriver ignored = MediaDriver.launch(ctx)) {
new SigIntBarrier().await();
}
}
示例2: launch
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
/**
* 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
.errorHandler(driverCtx.errorHandler())
.errorCounter(driverCtx.systemCounters().get(SystemCounterDescriptor.ERRORS)));
return new ClusteredMediaDriver(driver, archive, consensusModule);
}
示例3: launch
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
private void launch()
{
final String baseDirA = ROOT_DIR + "A";
final String baseDirB = ROOT_DIR + "B";
buffer.putInt(0, 1);
final MediaDriver.Context driverAContext = new MediaDriver.Context()
.errorHandler(Throwable::printStackTrace)
.publicationTermBufferLength(TERM_BUFFER_LENGTH)
.aeronDirectoryName(baseDirA)
.threadingMode(ThreadingMode.SHARED);
driverBContext.publicationTermBufferLength(TERM_BUFFER_LENGTH)
.errorHandler(Throwable::printStackTrace)
.aeronDirectoryName(baseDirB)
.threadingMode(ThreadingMode.SHARED);
driverA = MediaDriver.launch(driverAContext);
driverB = MediaDriver.launch(driverBContext);
clientA = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverAContext.aeronDirectoryName()));
clientB = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverBContext.aeronDirectoryName()));
}
示例4: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args)
{
loadPropertiesFiles(args);
final MediaDriver.Context ctx = new MediaDriver.Context()
.termBufferSparseFile(false)
.threadingMode(ThreadingMode.DEDICATED)
.conductorIdleStrategy(new BusySpinIdleStrategy())
.receiverIdleStrategy(new BusySpinIdleStrategy())
.senderIdleStrategy(new BusySpinIdleStrategy());
try (MediaDriver ignored = MediaDriver.launch(ctx))
{
new ShutdownSignalBarrier().await();
System.out.println("Shutdown Driver...");
}
}
示例5: shouldHaveCorrectTermBufferLength
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Theory
@Test(timeout = 10000)
public void shouldHaveCorrectTermBufferLength(final String channel)
{
final MediaDriver.Context ctx = new MediaDriver.Context()
.errorHandler(Throwable::printStackTrace)
.publicationTermBufferLength(TEST_TERM_LENGTH * 2)
.ipcTermBufferLength(TEST_TERM_LENGTH * 2);
try (MediaDriver ignore = MediaDriver.launch(ctx);
Aeron aeron = Aeron.connect();
Publication publication = aeron.addPublication(channel, STREAM_ID))
{
assertThat(publication.termBufferLength(), is(TEST_TERM_LENGTH));
}
finally
{
ctx.deleteAeronDirectory();
}
}
示例6: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String... args) {
final String aeronDirectoryName = args[0];
final MediaDriver.Context ctx = new MediaDriver.Context()
.threadingMode(ThreadingMode.DEDICATED)
.conductorIdleStrategy(new BackoffIdleStrategy(1, 1, 1, 1))
.receiverIdleStrategy(new BusySpinIdleStrategy())
.senderIdleStrategy(new BusySpinIdleStrategy())
.aeronDirectoryName(aeronDirectoryName);
MediaDriver.launch(ctx);
new SigIntBarrier().await();
System.out.println("Shutdown media driver.");
}
示例7: newMediaDriver
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
private static MediaDriver newMediaDriver()
{
final MediaDriver.Context context = new MediaDriver.Context()
.dirDeleteOnStart(true)
.publicationTermBufferLength(128 * 1024 * 1024);
return MediaDriver.launch(context);
}
示例8: start
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
private void start(final boolean dirDeleteOnStart)
{
final MediaDriver.Context context = TestFixtures.mediaDriverContext(
TestFixtures.TERM_BUFFER_LENGTH, dirDeleteOnStart);
context.driverTimeoutMs(DRIVER_TIMEOUT_MS);
context.warnIfDirectoryExists(false);
mediaDriver = MediaDriver.launch(context);
final String aeronDirectoryName = context.aeronDirectoryName();
CloseChecker.onOpen(aeronDirectoryName, mediaDriver);
final EngineConfiguration acceptingConfig = acceptingConfig(
port, ACCEPTOR_ID, INITIATOR_ID);
acceptingConfig.aeronContext().driverTimeoutMs(DRIVER_TIMEOUT_MS);
acceptingEngine = FixEngine.launch(acceptingConfig);
delete(CLIENT_LOGS);
final EngineConfiguration initiatingConfig = initiatingConfig(libraryAeronPort);
initiatingConfig.aeronContext().driverTimeoutMs(DRIVER_TIMEOUT_MS);
initiatingEngine = FixEngine.launch(initiatingConfig);
final LibraryConfiguration acceptingLibraryConfig = acceptingLibraryConfig(acceptingHandler);
acceptingLibraryConfig.aeronContext().driverTimeoutMs(DRIVER_TIMEOUT_MS);
acceptingLibrary = connect(acceptingLibraryConfig);
final LibraryConfiguration configuration = new LibraryConfiguration()
.sessionAcquireHandler(initiatingHandler)
.sentPositionHandler(initiatingHandler)
.sessionExistsHandler(initiatingHandler)
.libraryAeronChannels(singletonList("aeron:udp?endpoint=localhost:" + libraryAeronPort));
configuration.aeronContext().driverTimeoutMs(DRIVER_TIMEOUT_MS);
initiatingLibrary = connect(configuration);
testSystem = new TestSystem(acceptingLibrary, initiatingLibrary);
connectSessions();
}
示例9: launchMediaDriver
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static MediaDriver launchMediaDriver(final MediaDriver.Context context)
{
final MediaDriver mediaDriver = MediaDriver.launch(context);
final String aeronDirectoryName = context.aeronDirectoryName();
CloseChecker.onOpen(aeronDirectoryName, mediaDriver);
return mediaDriver;
}
示例10: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args)
{
final MediaDriver.Context context = new MediaDriver.Context()
.threadingMode(SHARED)
.dirDeleteOnStart(true);
try (MediaDriver ignore = MediaDriver.launch(context))
{
StressUtil.awaitKeyPress();
}
}
示例11: Server
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public Server()
{
final AuthenticationStrategy authenticationStrategy = logon -> true;
// Static configuration lasts the duration of a FIX-Gateway instance
final String aeronChannel = "aeron:udp?endpoint=localhost:10000";
final EngineConfiguration configuration = new EngineConfiguration()
.bindTo("localhost", StressConfiguration.PORT)
.logFileDir("stress-server-logs")
.libraryAeronChannel(aeronChannel);
configuration
.authenticationStrategy(authenticationStrategy)
.agentNamePrefix("server-");
System.out.println("Server Logs at " + configuration.logFileDir());
StressUtil.cleanupOldLogFileDir(configuration);
final MediaDriver.Context context = new MediaDriver.Context()
.threadingMode(SHARED)
.dirDeleteOnStart(true);
mediaDriver = MediaDriver.launch(context);
fixEngine = FixEngine.launch(configuration);
final LibraryConfiguration libraryConfiguration = new LibraryConfiguration();
libraryConfiguration
.authenticationStrategy(authenticationStrategy)
.agentNamePrefix("server-");
fixLibrary = blockingConnect(libraryConfiguration
.sessionAcquireHandler(StressSessionHandler::new)
.sessionExistsHandler(new AcquiringSessionExistsHandler())
.libraryAeronChannels(singletonList(aeronChannel)));
}
示例12: launch
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
/**
* 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);
}
示例13: before
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@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()
.archiveDir(TestUtil.makeTempDir())
.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));
}
示例14: before
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before()
{
final String baseDirA = ROOT_DIR + "A";
final String baseDirB = ROOT_DIR + "B";
buffer.putInt(0, 1);
final MediaDriver.Context driverAContext = new MediaDriver.Context()
.publicationTermBufferLength(TERM_BUFFER_LENGTH)
.aeronDirectoryName(baseDirA)
.errorHandler(countingErrorHandler)
.threadingMode(THREADING_MODE);
final MediaDriver.Context driverBContext = new MediaDriver.Context()
.publicationTermBufferLength(TERM_BUFFER_LENGTH)
.aeronDirectoryName(baseDirB)
.errorHandler(countingErrorHandler)
.threadingMode(THREADING_MODE);
driverA = MediaDriver.launch(driverAContext);
driverB = MediaDriver.launch(driverBContext);
clientA = Aeron.connect(
new Aeron.Context()
.aeronDirectoryName(driverAContext.aeronDirectoryName())
.errorHandler(errorHandlerClientA));
clientB = Aeron.connect(
new Aeron.Context()
.aeronDirectoryName(driverBContext.aeronDirectoryName())
.errorHandler(errorHandlerClientB));
clientC = Aeron.connect(
new Aeron.Context()
.aeronDirectoryName(driverBContext.aeronDirectoryName())
.errorHandler(errorHandlerClientC));
}
示例15: launch
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
private void launch()
{
driverContext.publicationTermBufferLength(TERM_BUFFER_LENGTH)
.sharedIdleStrategy(new YieldingIdleStrategy())
.errorHandler(Throwable::printStackTrace)
.threadingMode(ThreadingMode.SHARED);
driver = MediaDriver.launch(driverContext);
client = Aeron.connect(new Aeron.Context());
}