Search in sources :

Example 11 with TopicConfigSerializeWrapper

use of org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper in project rocketmq by apache.

the class SlaveSynchronize method syncTopicConfig.

private void syncTopicConfig() {
    String masterAddrBak = this.masterAddr;
    if (masterAddrBak != null) {
        try {
            TopicConfigSerializeWrapper topicWrapper = this.brokerController.getBrokerOuterAPI().getAllTopicConfig(masterAddrBak);
            if (!this.brokerController.getTopicConfigManager().getDataVersion().equals(topicWrapper.getDataVersion())) {
                this.brokerController.getTopicConfigManager().getDataVersion().assignNewOne(topicWrapper.getDataVersion());
                this.brokerController.getTopicConfigManager().getTopicConfigTable().clear();
                this.brokerController.getTopicConfigManager().getTopicConfigTable().putAll(topicWrapper.getTopicConfigTable());
                this.brokerController.getTopicConfigManager().persist();
                log.info("Update slave topic config from master, {}", masterAddrBak);
            }
        } catch (Exception e) {
            log.error("SyncTopicConfig Exception, {}", masterAddrBak, e);
        }
    }
}
Also used : TopicConfigSerializeWrapper(org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper) IOException(java.io.IOException)

Example 12 with TopicConfigSerializeWrapper

use of org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper in project rocketmq by apache.

the class TopicConfigManager method encode.

public String encode(final boolean prettyFormat) {
    TopicConfigSerializeWrapper topicConfigSerializeWrapper = new TopicConfigSerializeWrapper();
    topicConfigSerializeWrapper.setTopicConfigTable(this.topicConfigTable);
    topicConfigSerializeWrapper.setDataVersion(this.dataVersion);
    return topicConfigSerializeWrapper.toJson(prettyFormat);
}
Also used : TopicConfigSerializeWrapper(org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper)

Example 13 with TopicConfigSerializeWrapper

use of org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper in project rocketmq by apache.

the class TopicConfigManager method buildTopicConfigSerializeWrapper.

public TopicConfigSerializeWrapper buildTopicConfigSerializeWrapper() {
    TopicConfigSerializeWrapper topicConfigSerializeWrapper = new TopicConfigSerializeWrapper();
    topicConfigSerializeWrapper.setTopicConfigTable(this.topicConfigTable);
    topicConfigSerializeWrapper.setDataVersion(this.dataVersion);
    return topicConfigSerializeWrapper;
}
Also used : TopicConfigSerializeWrapper(org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper)

Example 14 with TopicConfigSerializeWrapper

use of org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper in project rocketmq by apache.

the class BrokerOuterAPI method getAllTopicConfig.

public TopicConfigSerializeWrapper getAllTopicConfig(final String addr) throws RemotingConnectException, RemotingSendRequestException, RemotingTimeoutException, InterruptedException, MQBrokerException {
    RemotingCommand request = RemotingCommand.createRequestCommand(RequestCode.GET_ALL_TOPIC_CONFIG, null);
    RemotingCommand response = this.remotingClient.invokeSync(MixAll.brokerVIPChannel(true, addr), request, 3000);
    assert response != null;
    switch(response.getCode()) {
        case ResponseCode.SUCCESS:
            {
                return TopicConfigSerializeWrapper.decode(response.getBody(), TopicConfigSerializeWrapper.class);
            }
        default:
            break;
    }
    throw new MQBrokerException(response.getCode(), response.getRemark());
}
Also used : RemotingCommand(org.apache.rocketmq.remoting.protocol.RemotingCommand) MQBrokerException(org.apache.rocketmq.client.exception.MQBrokerException) TopicConfigSerializeWrapper(org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper)

Example 15 with TopicConfigSerializeWrapper

use of org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper in project rocketmq-rocketmq-all-4.1.0-incubating by lirenzuo.

the class RouteInfoManagerTest method testRegisterBroker.

@Test
public void testRegisterBroker() {
    TopicConfigSerializeWrapper topicConfigSerializeWrapper = new TopicConfigSerializeWrapper();
    ConcurrentHashMap<String, TopicConfig> topicConfigConcurrentHashMap = new ConcurrentHashMap<>();
    TopicConfig topicConfig = new TopicConfig();
    topicConfig.setWriteQueueNums(8);
    topicConfig.setTopicName("unit-test");
    topicConfig.setPerm(6);
    topicConfig.setReadQueueNums(8);
    topicConfig.setOrder(false);
    topicConfigConcurrentHashMap.put("unit-test", topicConfig);
    topicConfigSerializeWrapper.setTopicConfigTable(topicConfigConcurrentHashMap);
    Channel channel = mock(Channel.class);
    RegisterBrokerResult registerBrokerResult = routeInfoManager.registerBroker("default-cluster", "127.0.0.1:10911", "default-broker", 1234, "127.0.0.1:1001", topicConfigSerializeWrapper, new ArrayList<String>(), channel);
    assertThat(registerBrokerResult).isNotNull();
}
Also used : RegisterBrokerResult(org.apache.rocketmq.common.namesrv.RegisterBrokerResult) TopicConfigSerializeWrapper(org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper) Channel(io.netty.channel.Channel) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) TopicConfig(org.apache.rocketmq.common.TopicConfig) Test(org.junit.Test)

Aggregations

TopicConfigSerializeWrapper (org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper)21 RegisterBrokerResult (org.apache.rocketmq.common.namesrv.RegisterBrokerResult)8 RemotingCommand (org.apache.rocketmq.remoting.protocol.RemotingCommand)7 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)6 TopicConfig (org.apache.rocketmq.common.TopicConfig)6 MQBrokerException (org.apache.rocketmq.client.exception.MQBrokerException)5 Channel (io.netty.channel.Channel)4 IOException (java.io.IOException)2 AtomicLong (java.util.concurrent.atomic.AtomicLong)2 RegisterBrokerRequestHeader (org.apache.rocketmq.common.protocol.header.namesrv.RegisterBrokerRequestHeader)2 RegisterBrokerResponseHeader (org.apache.rocketmq.common.protocol.header.namesrv.RegisterBrokerResponseHeader)2 UnRegisterBrokerRequestHeader (org.apache.rocketmq.common.protocol.header.namesrv.UnRegisterBrokerRequestHeader)2 Test (org.junit.Test)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 MQClientException (org.apache.rocketmq.client.exception.MQClientException)1 RemotingClient (org.apache.rocketmq.remoting.RemotingClient)1 RemotingCommandException (org.apache.rocketmq.remoting.exception.RemotingCommandException)1 RemotingConnectException (org.apache.rocketmq.remoting.exception.RemotingConnectException)1 RemotingException (org.apache.rocketmq.remoting.exception.RemotingException)1 RemotingSendRequestException (org.apache.rocketmq.remoting.exception.RemotingSendRequestException)1