本文整理汇总了Java中io.aeron.driver.MediaDriver.launchEmbedded方法的典型用法代码示例。如果您正苦于以下问题:Java MediaDriver.launchEmbedded方法的具体用法?Java MediaDriver.launchEmbedded怎么用?Java MediaDriver.launchEmbedded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.aeron.driver.MediaDriver
的用法示例。
在下文中一共展示了MediaDriver.launchEmbedded方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: HeliosDriver
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public HeliosDriver(final HeliosContext context, final MediaDriver.Context driverContext)
{
String mediaDriverConf = context.getMediaDriverConf();
if (mediaDriverConf != null)
{
MediaDriver.loadPropertiesFile(mediaDriverConf);
}
else
{
driverContext.dirsDeleteOnStart(true);
}
driverContext.warnIfDirectoriesExist(false);
final boolean embeddedMediaDriver = context.isMediaDriverEmbedded();
mediaDriver = embeddedMediaDriver ? MediaDriver.launchEmbedded(driverContext) : null;
}
示例2: shouldStartAndStopInstantly
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Test(timeout = 10_000)
public void shouldStartAndStopInstantly()
{
final MediaDriver.Context driverCtx = new MediaDriver.Context()
.errorHandler(Throwable::printStackTrace);
try (MediaDriver ignore = MediaDriver.launchEmbedded(driverCtx))
{
final Aeron.Context clientCtx = new Aeron.Context()
.aeronDirectoryName(driverCtx.aeronDirectoryName());
//noinspection EmptyTryBlock
try (Aeron ignored = Aeron.connect(clientCtx))
{
// ignore
}
}
finally
{
driverCtx.deleteAeronDirectory();
}
}
示例3: launch
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
private void launch(final String channelOne, final int streamOne, final String channelTwo, final int streamTwo)
{
driverOne = MediaDriver.launchEmbedded(
new MediaDriver.Context()
.errorHandler(Throwable::printStackTrace)
.termBufferSparseFile(true));
driverTwo = MediaDriver.launchEmbedded(
new MediaDriver.Context()
.errorHandler(Throwable::printStackTrace)
.termBufferSparseFile(true));
publisherOne = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverOne.aeronDirectoryName()));
subscriberOne = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverTwo.aeronDirectoryName()));
publisherTwo = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverOne.aeronDirectoryName()));
subscriberTwo = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverTwo.aeronDirectoryName()));
publicationOne = publisherOne.addPublication(channelOne, streamOne);
subscriptionOne = subscriberOne.addSubscription(channelOne, streamOne);
publicationTwo = publisherTwo.addPublication(channelTwo, streamTwo);
subscriptionTwo = subscriberTwo.addSubscription(channelTwo, streamTwo);
}
示例4: before
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@BeforeClass
public static void before() throws Exception {
mediaDriver = MediaDriver.launchEmbedded(AeronUtil.getMediaDriverContext(parameterLength));
System.setProperty("play.server.dir", "/tmp");
aeron = Aeron.connect(getContext());
parameterServerNode = new ParameterServerNode(mediaDriver, statusPort);
parameterServerNode.runMain(new String[] {"-m", "true", "-s", "1," + String.valueOf(parameterLength), "-p",
String.valueOf(masterStatusPort), "-h", "localhost", "-id", "11", "-md",
mediaDriver.aeronDirectoryName(), "-sp", String.valueOf(statusPort), "-sh", "localhost", "-u",
String.valueOf(Runtime.getRuntime().availableProcessors())});
while (!parameterServerNode.subscriberLaunched()) {
Thread.sleep(10000);
}
}
示例5: shouldThrowExceptionWhenChannelIsNull
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Test(expected = NullPointerException.class)
public void shouldThrowExceptionWhenChannelIsNull()
{
final MediaDriver.Context driverContext = new MediaDriver.Context();
driverContext.dirsDeleteOnStart(true);
final MediaDriver driver = MediaDriver.launchEmbedded(driverContext);
final Aeron.Context aeronContext = new Aeron.Context();
aeronContext.aeronDirectoryName(driver.aeronDirectoryName());
new AeronStream(Aeron.connect(aeronContext), null, 0);
}
示例6: EmbeddedAeron
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public EmbeddedAeron(final String channel, final int streamId) {
final MediaDriver.Context mctx = new MediaDriver.Context();
mctx.threadingMode(ThreadingMode.DEDICATED);
mediaDriver = MediaDriver.launchEmbedded(mctx);
final Aeron.Context actx = new Aeron.Context();
actx.aeronDirectoryName(mediaDriver.aeronDirectoryName());
aeron = Aeron.connect(actx);
subscription = aeron.addSubscription(channel, streamId);
publication = aeron.addPublication(channel, streamId);
}
示例7: BenchServer
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public BenchServer() {
running = new AtomicBoolean(true);
SigInt.register(() -> running.set(false));
driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
ctx = new Aeron.Context();
if (EMBEDDED_MEDIA_DRIVER) {
ctx.aeronDirectoryName(driver.aeronDirectoryName());
}
fragmentHandler = new FragmentAssembler(this::onMessage);
aeron = Aeron.connect(ctx);
publication = aeron.addPublication(REP_CHAN, REP_STREAM_ID);
subscription = aeron.addSubscription(REQ_CHAN, REQ_STREAM_ID);
}
示例8: BenchClient
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public BenchClient() {
driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
ctx = new Aeron.Context().availableImageHandler(this::imageHandler);
if (EMBEDDED_MEDIA_DRIVER) {
ctx.aeronDirectoryName(driver.aeronDirectoryName());
}
fragmentHandler = new FragmentAssembler(this::onMessage);
aeron = Aeron.connect(ctx);
publication = aeron.addPublication(REQ_CHAN, REQ_STREAM_ID);
subscription = aeron.addSubscription(REP_CHAN, REP_STREAM_ID);
}
示例9: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args)
{
System.out.println("Subscribing to " + CHANNEL + " on stream Id " + STREAM_ID);
final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
final Aeron.Context ctx = new Aeron.Context()
.availableImageHandler(SamplesUtil::printAvailableImage)
.unavailableImageHandler(SamplesUtil::printUnavailableImage);
if (EMBEDDED_MEDIA_DRIVER)
{
ctx.aeronDirectoryName(driver.aeronDirectoryName());
}
final FragmentHandler fragmentHandler = SamplesUtil.printStringMessage(STREAM_ID);
final AtomicBoolean running = new AtomicBoolean(true);
// Register a SIGINT handler for graceful shutdown.
SigInt.register(() -> running.set(false));
// Create an Aeron instance using the configured Context and create a
// Subscription on that instance that subscribes to the configured
// channel and stream ID.
// The Aeron and Subscription classes implement "AutoCloseable" and will automatically
// clean up resources when this try block is finished
try (Aeron aeron = Aeron.connect(ctx);
Subscription subscription = aeron.addSubscription(CHANNEL, STREAM_ID))
{
SamplesUtil.subscriberLoop(fragmentHandler, FRAGMENT_COUNT_LIMIT, running).accept(subscription);
System.out.println("Shutting down...");
}
CloseHelper.quietClose(driver);
}
示例10: before
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before() {
final MediaDriver.Context ctx =
new MediaDriver.Context().threadingMode(ThreadingMode.SHARED).dirsDeleteOnStart(true)
.termBufferSparseFile(false).conductorIdleStrategy(new BusySpinIdleStrategy())
.receiverIdleStrategy(new BusySpinIdleStrategy())
.senderIdleStrategy(new BusySpinIdleStrategy());
mediaDriver = MediaDriver.launchEmbedded(ctx);
System.out.println("Using media driver directory " + mediaDriver.aeronDirectoryName());
System.out.println("Launched media driver");
}
示例11: before
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before() {
MediaDriver.Context ctx = AeronUtil.getMediaDriverContext(length);
mediaDriver = MediaDriver.launchEmbedded(ctx);
System.out.println("Using media driver directory " + mediaDriver.aeronDirectoryName());
System.out.println("Launched media driver");
}
示例12: before
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before() {
//MediaDriver.loadPropertiesFile("aeron.properties");
MediaDriver.Context ctx = AeronUtil.getMediaDriverContext(length);
mediaDriver = MediaDriver.launchEmbedded(ctx);
System.out.println("Using media driver directory " + mediaDriver.aeronDirectoryName());
System.out.println("Launched media driver");
}
示例13: init
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
/**
* Initialize the context
*
* @param model
* @param args the arguments to initialize with (maybe null)
*/
@Override
public void init(Model model, Object... args) {
mediaDriverContext = new MediaDriver.Context();
mediaDriver = MediaDriver.launchEmbedded(mediaDriverContext);
parameterServerNode = new ParameterServerNode(mediaDriver, statusServerPort, numWorkers);
if (parameterServerArgs == null)
parameterServerArgs = new String[] {"-m", "true", "-s", "1," + String.valueOf(model.numParams()), "-p",
"40323", "-h", "localhost", "-id", "11", "-md", mediaDriver.aeronDirectoryName(), "-sh",
"localhost", "-sp", String.valueOf(statusServerPort), "-u",
String.valueOf(numUpdatesPerEpoch)};
}
示例14: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args)
{
final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
final Aeron.Context ctx = new Aeron.Context();
if (EMBEDDED_MEDIA_DRIVER)
{
ctx.aeronDirectoryName(driver.aeronDirectoryName());
}
if (INFO_FLAG)
{
ctx.availableImageHandler(SamplesUtil::printAvailableImage);
ctx.unavailableImageHandler(SamplesUtil::printUnavailableImage);
}
final IdleStrategy idleStrategy = new BusySpinIdleStrategy();
System.out.println("Subscribing Ping at " + PING_CHANNEL + " on stream Id " + PING_STREAM_ID);
System.out.println("Publishing Pong at " + PONG_CHANNEL + " on stream Id " + PONG_STREAM_ID);
final AtomicBoolean running = new AtomicBoolean(true);
SigInt.register(() -> running.set(false));
try (Aeron aeron = Aeron.connect(ctx);
Publication pongPublication = aeron.addPublication(PONG_CHANNEL, PONG_STREAM_ID);
Subscription pingSubscription = aeron.addSubscription(PING_CHANNEL, PING_STREAM_ID))
{
final FragmentAssembler dataHandler = new FragmentAssembler(
(buffer, offset, length, header) -> pingHandler(pongPublication, buffer, offset, length));
while (running.get())
{
idleStrategy.idle(pingSubscription.poll(dataHandler, FRAME_COUNT_LIMIT));
}
System.out.println("Shutting down...");
}
CloseHelper.quietClose(driver);
}
示例15: main
import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args) throws Exception
{
final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
final Aeron.Context ctx = new Aeron.Context().availableImageHandler(Ping::availablePongImageHandler);
final FragmentHandler fragmentHandler = new FragmentAssembler(Ping::pongHandler);
if (EMBEDDED_MEDIA_DRIVER)
{
ctx.aeronDirectoryName(driver.aeronDirectoryName());
}
System.out.println("Publishing Ping at " + PING_CHANNEL + " on stream Id " + PING_STREAM_ID);
System.out.println("Subscribing Pong at " + PONG_CHANNEL + " on stream Id " + PONG_STREAM_ID);
System.out.println("Message length of " + MESSAGE_LENGTH + " bytes");
try (Aeron aeron = Aeron.connect(ctx))
{
System.out.println(
"Warming up... " + WARMUP_NUMBER_OF_ITERATIONS +
" iterations of " + WARMUP_NUMBER_OF_MESSAGES + " messages");
try (Publication publication = aeron.addPublication(PING_CHANNEL, PING_STREAM_ID);
Subscription subscription = aeron.addSubscription(PONG_CHANNEL, PONG_STREAM_ID))
{
LATCH.await();
for (int i = 0; i < WARMUP_NUMBER_OF_ITERATIONS; i++)
{
roundTripMessages(fragmentHandler, publication, subscription, WARMUP_NUMBER_OF_MESSAGES);
}
Thread.sleep(100);
final ContinueBarrier barrier = new ContinueBarrier("Execute again?");
do
{
HISTOGRAM.reset();
System.out.println("Pinging " + NUMBER_OF_MESSAGES + " messages");
roundTripMessages(fragmentHandler, publication, subscription, NUMBER_OF_MESSAGES);
System.out.println("Histogram of RTT latencies in microseconds.");
HISTOGRAM.outputPercentileDistribution(System.out, 1000.0);
}
while (barrier.await());
}
}
CloseHelper.quietClose(driver);
}