2015-05-06 4 views
1

Есть ли какой-либо механизм/api, с помощью которого я могу управлять образами TPS от http-клиента?Ограничить количество транзакций за секунду при постоянном соединении HTTP Использование Netty (http client)

От HTTP-клиента мне нужно контролировать количество обращений к сервисам отдыха (мой HTTP-клиент будет контролироваться на сервере).

+0

Еще несколько деталей были бы полезны: 1. Как вызван ваш клиент? Это простое консольное приложение или оно работает как веб-сервис? 2. Если это услуга, у нее есть БД? Если это приложение просто (правда), используйте Thread.sleep() –

ответ

0

вы можете закрыть его немедленно, добавив IpFilterHandler Netty к конвейеру сервера в качестве первого обработчика. Он также прекратит распространение событий состояния восходящего канала для фильтрованного соединения.

@ChannelHandler.Sharable 
public class FilterIPHandler extends IpFilteringHandlerImpl { 
private final Set<InetSocketAddress> deniedIP; 

public filter(Set<InetSocketAddress> deniedIP) { 
    this.deniedIP = deniedIP; 
} 

@Override 
protected boolean isAnAccpetedIP(ChannelHandlerContext ctx, ChannelEvent e, InetSocketAddress inetSocketAddress) throws Exception { 
     return !deniedIP.contains(inetSocketAddress); 
} 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^