/disruptor-proxy

Byte-code generator to create Disruptor-backed proxies

Primary LanguageJavaApache License 2.0Apache-2.0

disruptor-proxy Build Status

Byte-code generator to create Disruptor-backed proxies

implementation diagram

Maintainer

Mark Price

Example

final RingBufferProxyGeneratorFactory generatorFactory = new RingBufferProxyGeneratorFactory();

final T tImpl = new ConcreteT();

final RingBufferProxyGenerator generator = generatorFactory.newProxy(GeneratorType.BYTECODE_GENERATION);

final T proxy = generator.createRingBufferProxy(tImpl, T.class, disruptor, OverflowStrategy.DROP);

disruptor.start();

GeneratorType

  • GeneratorType.JDK_REFLECTION - uses java.lang.reflect.Proxy to generate a dynamic proxy that will add events to the RingBuffer. Use this for minimal dependencies.
  • GeneratorType.BYTECODE_GENERATION - uses Javassist to generate classes that will add events to the RingBuffer. Use this for maximum performance.

Dependencies

Minimal dependency is the Disruptor JAR.

If you are using byte-code generation for the proxy class (specified by GeneratorType), you'll also need the Javassist JAR.