package cf.spring; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; /** * @author Mike Heath */ public class NettyEventLoopGroupFactoryBean implements FactoryBean<EventLoopGroup>, DisposableBean { private EventLoopGroup eventLoopGroup; public NettyEventLoopGroupFactoryBean() { eventLoopGroup = new NioEventLoopGroup(); } public NettyEventLoopGroupFactoryBean(int threads) { eventLoopGroup = new NioEventLoopGroup(threads); } @Override public void destroy() throws Exception { eventLoopGroup.shutdownGracefully(); } @Override public EventLoopGroup getObject() { return eventLoopGroup; } @Override public Class<?> getObjectType() { return eventLoopGroup.getClass(); } @Override public boolean isSingleton() { return true; } }