max-pool-size недопустим в сочетании с производным размером - PullRequest
0 голосов
/ 14 сентября 2018

Последние пару дней я боролся с проблемой, которая, по моему мнению, связана с изменением исходного кода в Thorntail, и, к сожалению, этот код, по-видимому, не доступен для общественности.

Я получаю сообщение об ошибке:
"WFLYCTL0105: максимальный размер пула недопустим в сочетании с производным размером" .
Раньше вы могли просто исключить «производный размер» из конфигурации, и не было никаких проблем, однако теперь, в любое время, я включал «максимальный размер пула», независимо от того, какая комбинация с «производным размером» не срабатывает. с вышеупомянутой ошибкой.

  • Из последней документации по Thorntail:
    Определяет, следует ли определять максимальный размер пула. неопределенное значение (или устаревшее значение 'none', которое преобразуется в undefined) указывает, что явное значение max-pool-size должно использоваться.

Это то, что у меня было ранее в WildFly project-defaults.yml, который работал отлично:

ejb3:
    default-resource-adapter-name: activemq-rar.rar
    default-mdb-instance-pool: mdb-strict-max-pool
    strict-max-bean-instance-pools:
      mdb-strict-max-pool:
        max-pool-size: 1

Любые идеи или примеры будут с благодарностью.

Дополнительная информация добавлена ​​в ответ на вопросы:

Проект был обновлен с использованием WildFly Swarm 2018.4.1 для использования Thorntail 2.2.0.Final.

Код, который изменился в Thorntail, приведен ниже:

СТАРЫЙ код : https://github.com/stuartwdouglas/wildfly-swarm-core/blob/master/ejb/api/src/main/java/org/wildfly/swarm/ejb/EJBFraction.java

.strictMaxBeanInstancePool(new StrictMaxBeanInstancePool("mdb-strict-max-pool").maxPoolSize(20).timeout(5L).timeoutUnit(StrictMaxBeanInstancePool.TimeoutUnit.MINUTES))

Новый код : https://github.com/thorntail/thorntail/blob/802e785fdd515ecc1b52b22a64a6ff9338dace29/fractions/javaee/ejb/src/main/java/org/wildfly/swarm/ejb/EJBFraction.java

.strictMaxBeanInstancePool(new StrictMaxBeanInstancePool("mdb-strict-max-pool").deriveSize(StrictMaxBeanInstancePool.DeriveSize.FROM_CPU_COUNT).timeout(5L).timeoutUnit(StrictMaxBeanInstancePool.TimeoutUnit.MINUTES))

Если у кого-то есть ссылка на приведенный выше исходный код, это было бы здорово. Похоже, единственные ссылки, которые я могу найти, принадлежат JBOSS, поэтому код выглядит так, как будто он был перенесен и не доступен для общественности.

1 Ответ

0 голосов
/ 17 сентября 2018

После обновления вопроса: конфигурация по умолчанию пары фракций была изменена, чтобы лучше соответствовать конфигурации по умолчанию в WildFly 11. Вы можете настроить derive-size: null, и тогда max-pool-size должен вступить в силу.

Что-то вроде:

ejb3:
  default-resource-adapter-name: activemq-rar.rar
  default-mdb-instance-pool: mdb-strict-max-pool
  strict-max-bean-instance-pools:
    mdb-strict-max-pool:
      derive-size: null
      max-pool-size: 1

(Примечание: ранее этот ответ рекомендовал установить derive-size: none, но это не сработало. После обсуждения в комментариях я изменил ответ на рекомендацию derive-size: null, что работает.)

...