Search in sources :

Example 6 with RouteInfoManager

use of org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager in project rocketmq by apache.

the class DefaultRequestProcessorTest method init.

@Before
public void init() throws Exception {
    namesrvConfig = new NamesrvConfig();
    nettyServerConfig = new NettyServerConfig();
    routeInfoManager = new RouteInfoManager();
    namesrvController = new NamesrvController(namesrvConfig, nettyServerConfig);
    Field field = NamesrvController.class.getDeclaredField("routeInfoManager");
    field.setAccessible(true);
    field.set(namesrvController, routeInfoManager);
    defaultRequestProcessor = new DefaultRequestProcessor(namesrvController);
    registerRouteInfoManager();
    logger = mock(Logger.class);
    when(logger.isInfoEnabled()).thenReturn(false);
    setFinalStatic(DefaultRequestProcessor.class.getDeclaredField("log"), logger);
}
Also used : Field(java.lang.reflect.Field) NamesrvConfig(org.apache.rocketmq.common.namesrv.NamesrvConfig) RouteInfoManager(org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager) NettyServerConfig(org.apache.rocketmq.remoting.netty.NettyServerConfig) Logger(org.slf4j.Logger) NamesrvController(org.apache.rocketmq.namesrv.NamesrvController) Before(org.junit.Before)

Example 7 with RouteInfoManager

use of org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager in project rocketmq by apache.

the class DefaultRequestProcessorTest method testProcessRequest_RegisterBrokerWithFilterServer.

@Test
public void testProcessRequest_RegisterBrokerWithFilterServer() throws RemotingCommandException, NoSuchFieldException, IllegalAccessException {
    RemotingCommand request = genSampleRegisterCmd(true);
    // version >= MQVersion.Version.V3_0_11.ordinal() to register with filter server
    request.setVersion(100);
    ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
    when(ctx.channel()).thenReturn(null);
    RemotingCommand response = defaultRequestProcessor.processRequest(ctx, request);
    assertThat(response.getCode()).isEqualTo(ResponseCode.SUCCESS);
    assertThat(response.getRemark()).isNull();
    RouteInfoManager routes = namesrvController.getRouteInfoManager();
    Field brokerAddrTable = RouteInfoManager.class.getDeclaredField("brokerAddrTable");
    brokerAddrTable.setAccessible(true);
    BrokerData broker = new BrokerData();
    broker.setBrokerName("broker");
    broker.setBrokerAddrs((HashMap) Maps.newHashMap(new Long(2333), "10.10.1.1"));
    assertThat((Map) brokerAddrTable.get(routes)).contains(new HashMap.SimpleEntry("broker", broker));
}
Also used : RemotingCommand(org.apache.rocketmq.remoting.protocol.RemotingCommand) Field(java.lang.reflect.Field) BrokerData(org.apache.rocketmq.common.protocol.route.BrokerData) HashMap(java.util.HashMap) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) ChannelHandlerContext(io.netty.channel.ChannelHandlerContext) RouteInfoManager(org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager) HashMap(java.util.HashMap) Map(java.util.Map) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Test(org.junit.Test)

Example 8 with RouteInfoManager

use of org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager in project rocketmq by apache.

the class DefaultRequestProcessorTest method testProcessRequest_RegisterBroker.

@Test
public void testProcessRequest_RegisterBroker() throws RemotingCommandException, NoSuchFieldException, IllegalAccessException {
    RemotingCommand request = genSampleRegisterCmd(true);
    ChannelHandlerContext ctx = mock(ChannelHandlerContext.class);
    when(ctx.channel()).thenReturn(null);
    RemotingCommand response = defaultRequestProcessor.processRequest(ctx, request);
    assertThat(response.getCode()).isEqualTo(ResponseCode.SUCCESS);
    assertThat(response.getRemark()).isNull();
    RouteInfoManager routes = namesrvController.getRouteInfoManager();
    Field brokerAddrTable = RouteInfoManager.class.getDeclaredField("brokerAddrTable");
    brokerAddrTable.setAccessible(true);
    BrokerData broker = new BrokerData();
    broker.setBrokerName("broker");
    broker.setBrokerAddrs((HashMap) Maps.newHashMap(new Long(2333), "10.10.1.1"));
    assertThat((Map) brokerAddrTable.get(routes)).contains(new HashMap.SimpleEntry("broker", broker));
}
Also used : RemotingCommand(org.apache.rocketmq.remoting.protocol.RemotingCommand) Field(java.lang.reflect.Field) BrokerData(org.apache.rocketmq.common.protocol.route.BrokerData) HashMap(java.util.HashMap) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) ChannelHandlerContext(io.netty.channel.ChannelHandlerContext) RouteInfoManager(org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager) HashMap(java.util.HashMap) Map(java.util.Map) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Test(org.junit.Test)

Aggregations

Field (java.lang.reflect.Field)8 RouteInfoManager (org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager)8 ChannelHandlerContext (io.netty.channel.ChannelHandlerContext)6 HashMap (java.util.HashMap)6 Map (java.util.Map)6 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)6 RemotingCommand (org.apache.rocketmq.remoting.protocol.RemotingCommand)6 Test (org.junit.Test)6 BrokerData (org.apache.rocketmq.common.protocol.route.BrokerData)4 NamesrvConfig (org.apache.rocketmq.common.namesrv.NamesrvConfig)2 NamesrvController (org.apache.rocketmq.namesrv.NamesrvController)2 NettyServerConfig (org.apache.rocketmq.remoting.netty.NettyServerConfig)2 Before (org.junit.Before)2 Logger (org.slf4j.Logger)2