ing
This commit is contained in:
parent
55c6a58f37
commit
952de14105
|
@ -6,6 +6,7 @@ package com.loafle.overflow.container;
|
||||||
public class Container {
|
public class Container {
|
||||||
public static final String PIDFILE_PATH = "CONTAINER_PIDFILE_PATH";
|
public static final String PIDFILE_PATH = "CONTAINER_PIDFILE_PATH";
|
||||||
public static final String CRAWLERS = "CONTAINER_CRAWLERS";
|
public static final String CRAWLERS = "CONTAINER_CRAWLERS";
|
||||||
|
public static final String SERVICES = "CONTAINER_SERVICES";
|
||||||
public static final String PIPELINE_CHANNEL_HANDLERS = "CONTAINER_PIPELINE_CHANNEL_HANDLERS";
|
public static final String PIPELINE_CHANNEL_HANDLERS = "CONTAINER_PIPELINE_CHANNEL_HANDLERS";
|
||||||
public static final String RPC_SERVER_CODEC = "CONTAINER_RPC_SERVER_CODEC";
|
public static final String RPC_SERVER_CODEC = "CONTAINER_RPC_SERVER_CODEC";
|
||||||
public static final String RPC_REGISTRY = "CONTAINER_RPC_REGISTRY";
|
public static final String RPC_REGISTRY = "CONTAINER_RPC_REGISTRY";
|
||||||
|
|
|
@ -42,6 +42,9 @@ public class ContainerConfiguration {
|
||||||
@Qualifier(Container.PIPELINE_CHANNEL_HANDLERS)
|
@Qualifier(Container.PIPELINE_CHANNEL_HANDLERS)
|
||||||
private List<ChannelHandler> pipelineChannelHandlers;
|
private List<ChannelHandler> pipelineChannelHandlers;
|
||||||
|
|
||||||
|
@Autowired()
|
||||||
|
private RPCServerHandler rpcServerHandler;
|
||||||
|
|
||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
private Gson gson;
|
private Gson gson;
|
||||||
|
|
||||||
|
@ -81,7 +84,7 @@ public class ContainerConfiguration {
|
||||||
public void initChannel(SocketChannel ch) throws Exception {
|
public void initChannel(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline cp = ch.pipeline();
|
ChannelPipeline cp = ch.pipeline();
|
||||||
cp.addLast(new SocketServerProtocolHandler(true));
|
cp.addLast(new SocketServerProtocolHandler(true));
|
||||||
cp.addLast(new RPCServerHandler());
|
cp.addLast(rpcServerHandler);
|
||||||
if (null != pipelineChannelHandlers) {
|
if (null != pipelineChannelHandlers) {
|
||||||
for (ChannelHandler channelHandler : pipelineChannelHandlers) {
|
for (ChannelHandler channelHandler : pipelineChannelHandlers) {
|
||||||
cp.addLast(channelHandler);
|
cp.addLast(channelHandler);
|
||||||
|
|
|
@ -18,13 +18,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.core.annotation.AnnotationUtils;
|
import org.springframework.core.annotation.AnnotationUtils;
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service
|
* Service
|
||||||
*/
|
*/
|
||||||
@Component
|
@Configuration
|
||||||
public class Service implements InitializingBean, ApplicationContextAware {
|
public class Service implements InitializingBean, ApplicationContextAware {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(Service.class);
|
private static final Logger logger = LoggerFactory.getLogger(Service.class);
|
||||||
|
|
||||||
|
@ -34,20 +35,28 @@ public class Service implements InitializingBean, ApplicationContextAware {
|
||||||
@Qualifier(Container.RPC_REGISTRY)
|
@Qualifier(Container.RPC_REGISTRY)
|
||||||
private RPCRegistry rpcRegistry;
|
private RPCRegistry rpcRegistry;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Qualifier(Container.SERVICES)
|
||||||
|
private Map<String, Object> services;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
this.applicationContext = applicationContext;
|
this.applicationContext = applicationContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean(Container.SERVICES)
|
||||||
|
public Map<String, Object> services() {
|
||||||
|
return this.applicationContext.getBeansWithAnnotation(RPCService.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
Map<String, Object> services = this.applicationContext.getBeansWithAnnotation(RPCService.class);
|
if (null == this.services || 0 == this.services.size()) {
|
||||||
if (null == services || 0 == services.size()) {
|
|
||||||
logger.debug("there is not service");
|
logger.debug("there is not service");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
services.forEach((name, bean) -> {
|
this.services.forEach((name, bean) -> {
|
||||||
this.registerRPCService(bean, name);
|
this.registerRPCService(bean, name);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user