Я думаю, что это плохой дизайн. Похоже, двигатель правил Rete работает безумно.
Если вы предполагаете, что минимум 0,5-1,0 МБ на поток (например, для стека и т. Д.), Вы будете тратить много памяти. Проверка соединений внутри и вне пула будет наименьшей из ваших проблем.
Лучший способ узнать это - выполнить тест производительности и измерить память, время ожидания для каждой операции и т. Д. Но это не похоже на то, что все закончится хорошо.
Иногда я вижу, что люди предполагают, что они бросают все свои правила в Blaze, ILOG, JRules или Drools просто потому, что это «стандарт» и высокие технологии. Это потрясающее резюме, но сколько из этих решений будет лучше обслуживать более простое дерево решений на основе таблиц? Может быть, ваша проблема одна из тех.
Я бы порекомендовал вам получить некоторые данные, посмотреть, есть ли проблема, и быть готовым к перепроектированию, если данные говорят вам, что это необходимо.