Search in sources :

Example 1 with RegisterMessageFilterClassRequestHeader

use of org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader in project rocketmq-rocketmq-all-4.1.0-incubating by lirenzuo.

the class MQClientAPIImpl method registerMessageFilterClass.

public // 
void registerMessageFilterClass(// 
final String addr, // 
final String consumerGroup, // 
final String topic, // 
final String className, // 
final int classCRC, // 
final byte[] classBody, final long timeoutMillis) throws RemotingConnectException, RemotingSendRequestException, RemotingTimeoutException, InterruptedException, MQBrokerException {
    RegisterMessageFilterClassRequestHeader requestHeader = new RegisterMessageFilterClassRequestHeader();
    requestHeader.setConsumerGroup(consumerGroup);
    requestHeader.setClassName(className);
    requestHeader.setTopic(topic);
    requestHeader.setClassCRC(classCRC);
    RemotingCommand request = RemotingCommand.createRequestCommand(RequestCode.REGISTER_MESSAGE_FILTER_CLASS, requestHeader);
    request.setBody(classBody);
    RemotingCommand response = this.remotingClient.invokeSync(addr, request, timeoutMillis);
    switch(response.getCode()) {
        case ResponseCode.SUCCESS:
            {
                return;
            }
        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) RegisterMessageFilterClassRequestHeader(org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader)

Example 2 with RegisterMessageFilterClassRequestHeader

use of org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader in project rocketmq by apache.

the class DefaultRequestProcessor method registerMessageFilterClass.

private RemotingCommand registerMessageFilterClass(ChannelHandlerContext ctx, RemotingCommand request) throws RemotingCommandException {
    final RemotingCommand response = RemotingCommand.createResponseCommand(null);
    final RegisterMessageFilterClassRequestHeader requestHeader = (RegisterMessageFilterClassRequestHeader) request.decodeCommandCustomHeader(RegisterMessageFilterClassRequestHeader.class);
    try {
        boolean ok = this.filtersrvController.getFilterClassManager().registerFilterClass(requestHeader.getConsumerGroup(), requestHeader.getTopic(), requestHeader.getClassName(), requestHeader.getClassCRC(), request.getBody());
        if (!ok) {
            throw new Exception("registerFilterClass error");
        }
    } catch (Exception e) {
        response.setCode(ResponseCode.SYSTEM_ERROR);
        response.setRemark(RemotingHelper.exceptionSimpleDesc(e));
        return response;
    }
    response.setCode(ResponseCode.SUCCESS);
    response.setRemark(null);
    return response;
}
Also used : RemotingCommand(org.apache.rocketmq.remoting.protocol.RemotingCommand) RegisterMessageFilterClassRequestHeader(org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader) RemotingCommandException(org.apache.rocketmq.remoting.exception.RemotingCommandException) IOException(java.io.IOException)

Example 3 with RegisterMessageFilterClassRequestHeader

use of org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader in project rocketmq by apache.

the class MQClientAPIImpl method registerMessageFilterClass.

public void registerMessageFilterClass(final String addr, final String consumerGroup, final String topic, final String className, final int classCRC, final byte[] classBody, final long timeoutMillis) throws RemotingConnectException, RemotingSendRequestException, RemotingTimeoutException, InterruptedException, MQBrokerException {
    RegisterMessageFilterClassRequestHeader requestHeader = new RegisterMessageFilterClassRequestHeader();
    requestHeader.setConsumerGroup(consumerGroup);
    requestHeader.setClassName(className);
    requestHeader.setTopic(topic);
    requestHeader.setClassCRC(classCRC);
    RemotingCommand request = RemotingCommand.createRequestCommand(RequestCode.REGISTER_MESSAGE_FILTER_CLASS, requestHeader);
    request.setBody(classBody);
    RemotingCommand response = this.remotingClient.invokeSync(addr, request, timeoutMillis);
    switch(response.getCode()) {
        case ResponseCode.SUCCESS:
            {
                return;
            }
        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) RegisterMessageFilterClassRequestHeader(org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader)

Example 4 with RegisterMessageFilterClassRequestHeader

use of org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader in project rocketmq-rocketmq-all-4.1.0-incubating by lirenzuo.

the class DefaultRequestProcessor method registerMessageFilterClass.

private RemotingCommand registerMessageFilterClass(ChannelHandlerContext ctx, RemotingCommand request) throws RemotingCommandException {
    final RemotingCommand response = RemotingCommand.createResponseCommand(null);
    final RegisterMessageFilterClassRequestHeader requestHeader = (RegisterMessageFilterClassRequestHeader) request.decodeCommandCustomHeader(RegisterMessageFilterClassRequestHeader.class);
    try {
        boolean ok = this.filtersrvController.getFilterClassManager().registerFilterClass(requestHeader.getConsumerGroup(), requestHeader.getTopic(), requestHeader.getClassName(), requestHeader.getClassCRC(), request.getBody());
        if (!ok) {
            throw new Exception("registerFilterClass error");
        }
    } catch (Exception e) {
        response.setCode(ResponseCode.SYSTEM_ERROR);
        response.setRemark(RemotingHelper.exceptionSimpleDesc(e));
        return response;
    }
    response.setCode(ResponseCode.SUCCESS);
    response.setRemark(null);
    return response;
}
Also used : RemotingCommand(org.apache.rocketmq.remoting.protocol.RemotingCommand) RegisterMessageFilterClassRequestHeader(org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader) RemotingCommandException(org.apache.rocketmq.remoting.exception.RemotingCommandException) IOException(java.io.IOException)

Aggregations

RegisterMessageFilterClassRequestHeader (org.apache.rocketmq.common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader)4 RemotingCommand (org.apache.rocketmq.remoting.protocol.RemotingCommand)4 IOException (java.io.IOException)2 MQBrokerException (org.apache.rocketmq.client.exception.MQBrokerException)2 RemotingCommandException (org.apache.rocketmq.remoting.exception.RemotingCommandException)2