2015-09-17 2 views
2

Я создал актера для отправки сообщений на сервер чата. Тем не менее, сервер чата разрешает только 5 подключений для каждого пользователя. Если я забиваю свой сервер scala, я получаю сообщения об ошибках, потому что мои клиенты чата отсоединяются.Как ограничить количество участников определенного типа?

Так как я могу настроить akka так, чтобы мои XmppSenderActor s использовали максимум 5 потоков? Я не хочу ограничивать остальную систему актеров, только этот объект (по пути /XmppSenderActor/).

Я пытаюсь этот конфиг, так как я думаю, что это диспетчерская мне нужно настроить, но я не уверен:

akka.actor.deployment { 
    /XmppSenderActor { 
    dispatcher = xmpp-dispatcher 
    } 

    xmpp-dispatcher { 
    fork-join-executor.parallelism-min = 2 
    fork-join-executor.parallelism-max = 3 
    } 
} 

Это дает мне ошибку, хотя: akka.ConfigurationException: Dispatcher [xmpp-dispatcher] not configured for path akka://sangria-server/user/XmppSenderActor

ответ

3

я бы, вероятно, попробуйте настроить маршрутизатор вместо этого.

http://doc.akka.io/docs/akka/2.0/scala/routing.html

Диспетчер, кажется, дело с отправкой сообщений в почтовый ящик, а не фактическое число или Actor целей.

Эта конфигурация, в частности, может работать для вас:

akka.actor.deployment { 
    /router { 
    router = round-robin 
    nr-of-instances = 5 
    } 
} 

nr-of-instances будет создать 5 детско из Поезжай и поэтому заполнить ваши потребности. Возможно, вам потребуется найти правильную реализацию Router.

+0

Работает как очарование. Спасибо приятель. – jbrown

+0

Рад узнать :) –

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