本文整理汇总了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;未经允许,请勿转载。 |
请发表评论