当前位置: 首页>>代码示例>>Java>>正文


Java FatalExceptionHandler类代码示例

本文整理汇总了Java中com.lmax.disruptor.FatalExceptionHandler的典型用法代码示例。如果您正苦于以下问题:Java FatalExceptionHandler类的具体用法?Java FatalExceptionHandler怎么用?Java FatalExceptionHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


FatalExceptionHandler类属于com.lmax.disruptor包,在下文中一共展示了FatalExceptionHandler类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: startup

import com.lmax.disruptor.FatalExceptionHandler; //导入依赖的package包/类
@Override
    public void startup() {
        EventBus eventBus = disruptorDispatchThread.getEventBus();
        executorService = new NonOrderedQueuePoolExecutor(poolName, excutorSize);
        cycleEventHandler = new CycleEventHandler[excutorSize];
        for(int i = 0; i < excutorSize; i++){
            cycleEventHandler[i] = new CycleEventHandler(eventBus);
        }

        RingBuffer ringBuffer = disruptorDispatchThread.getRingBuffer();
        workerPool = new WorkerPool(ringBuffer, ringBuffer.newBarrier(), new FatalExceptionHandler(), cycleEventHandler);
        ringBuffer.addGatingSequences(workerPool.getWorkerSequences());

        workerPool.start(executorService);

//        BatchEventProcessor<CycleEvent>[] batchEventProcessors = new BatchEventProcessor[excutorSize];
//        for(int i = 0; i < excutorSize; i++){
//            batchEventProcessors[i] = new BatchEventProcessor<>(ringBuffer, sequenceBarrier, cycleEventHandler[i]);
//            ringBuffer.addGatingSequences(batchEventProcessors[i].getSequence());
////            executorService.submit(batchEventProcessors[i]);
//        }
    }
 
开发者ID:jwpttcg66,项目名称:game-executor,代码行数:23,代码来源:DisruptorExecutorService.java

示例2: shouldOnlyApplyExceptionsHandlersSpecifiedViaHandleExceptionsWithOnNewEventProcessors

import com.lmax.disruptor.FatalExceptionHandler; //导入依赖的package包/类
@Test
public void shouldOnlyApplyExceptionsHandlersSpecifiedViaHandleExceptionsWithOnNewEventProcessors()
    throws Exception
{
    AtomicReference<Throwable> eventHandled = new AtomicReference<Throwable>();
    ExceptionHandler exceptionHandler = new StubExceptionHandler(eventHandled);
    RuntimeException testException = new RuntimeException();
    ExceptionThrowingEventHandler handler = new ExceptionThrowingEventHandler(testException);

    disruptor.handleExceptionsWith(exceptionHandler);
    disruptor.handleEventsWith(handler);
    disruptor.handleExceptionsWith(new FatalExceptionHandler());

    publishEvent();

    final Throwable actualException = waitFor(eventHandled);
    assertSame(testException, actualException);
}
 
开发者ID:winwill2012,项目名称:disruptor-code-analysis,代码行数:19,代码来源:DisruptorTest.java

示例3: build

import com.lmax.disruptor.FatalExceptionHandler; //导入依赖的package包/类
public RpcServer build() {
    final int workerThreads = 3;
    Producer<String, Response> responseProducer = new KafkaProducer<>(producerProps, new StringSerializer(), producerValueSerializer);
    final ServerEventHandler[] workHandlers = new ServerEventHandler[workerThreads];
    IntStream.range(0, workerThreads).forEach(
            nbr -> workHandlers[nbr] = new ServerEventHandler(requestHandler, responseProducer)
    );
    final WorkerPool<ServerEvent> workerPool = new WorkerPool<>(ServerEvent::new, new FatalExceptionHandler(), workHandlers);

    RequestConsumer requestConsumer = new RequestConsumer(topic, consumerProps, consumerThreads, consumerValueDeserializer);
    return new KafkaRpcServer(workerPool, requestConsumer, new ServerEventHandler(requestHandler, responseProducer), workerThreads);
}
 
开发者ID:devicehive,项目名称:devicehive-java-server,代码行数:13,代码来源:ServerBuilder.java

示例4: bulkLoad

import com.lmax.disruptor.FatalExceptionHandler; //导入依赖的package包/类
private static void bulkLoad(
		final Cache cache, long entriesToLoad,double[] bbox)
{
	final AtomicLong atomicLong = new AtomicLong();
	final ValueHandler[] valueHandlers = new ValueHandler[]{
			new ValueHandler(cache, atomicLong),
			new ValueHandler(cache, atomicLong),
			new ValueHandler(cache, atomicLong),
			new ValueHandler(cache, atomicLong)
	};

	final ExecutorService executorService = Executors.newCachedThreadPool();
	try
	{
		final RingBuffer<ValueEvent> ringBuffer =
				RingBuffer.createSingleProducer(ValueEvent.EVENT_FACTORY,
						4096,
						new YieldingWaitStrategy());

		final WorkerPool<ValueEvent> workerPool =
				new WorkerPool<ValueEvent>(ringBuffer,
						ringBuffer.newBarrier(),
						new FatalExceptionHandler(),
						valueHandlers);

		workerPool.start(executorService);
		try
		{
			publishLoadEvents(ringBuffer,entriesToLoad,bbox);
		}
		finally
		{
			workerPool.drainAndHalt();
		}
	}
	finally
	{
		executorService.shutdown();
	}
	System.out.format("Put %d elements.", atomicLong.get());
}
 
开发者ID:lanimall,项目名称:Ehcache_LMAXBulkLoader,代码行数:42,代码来源:LaunchLoader.java

示例5: createDisruptor

import com.lmax.disruptor.FatalExceptionHandler; //导入依赖的package包/类
private Disruptor<ProxyMethodInvocation> createDisruptor(final ExecutorService executor, final int ringBufferSize)
{
    final Disruptor<ProxyMethodInvocation> disruptor = new Disruptor<ProxyMethodInvocation>(new RingBufferProxyEventFactory(), ringBufferSize, executor);
    disruptor.handleExceptionsWith(new FatalExceptionHandler());
    return disruptor;
}
 
开发者ID:LMAX-Exchange,项目名称:disruptor-proxy,代码行数:7,代码来源:AbstractRingBufferProxyGeneratorTest.java


注:本文中的com.lmax.disruptor.FatalExceptionHandler类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。