У нас есть существующая система с Q2 Server и Spring MVC со следующей конфигурацией. Сервер Q2 был создан, когда был инициирован Httpservlet, и он отлично работал, а bean-компоненты Spring можно было автоматически подключить с помощью ISORequestlistner. Теперь это преобразуется в Spring boot 2.3. Как только я инициировал тот же Httpservlet с помощью ServletRegistrationBean при загрузке Spring, сервер Q2 инициируется и может отправлять ему запросы. Но автоперевод не работает. Раз проверю. Как только запрос обрабатывается внутри списка ISORequest, контекст Spring не виден, поскольку сервер Q2 использует другой загрузчик классов.
<server class="org.jpos.q2.iso.QServer" logger="Q2" name="DownloadServer-A">
<attr name="port" type="java.lang.Integer">6400</attr>
<attr name="minSessions" type="java.lang.Integer">10</attr>
<attr name="maxSessions" type="java.lang.Integer">1100</attr>
<channel name="DownloadServer-A-Channel" class="org.jpos.iso.channel.NACChannel" logger="Q2"
packager="org.jpos.iso.packager.GenericPackager" header="6000010000">
<property name="packager-config" value="/app/repository/q2serverconfig/resources/Download_generic.xml" />
</channel>
<request-listener class="DownloadServerAListener" logger="Q2">
<property name="space" value="transient:default" />
<property name="queue" value="TransactionQueue" />
<property name="timeout" value="35000" />
</request-listener>
</server>
2-я попытка. Я попробовал несколько решений, как показано ниже в репозитории github. Но я не работал. https://github.com/vmantek/chimera
Кто-нибудь пытался запустить ISO-сервер в контексте приложения Spring как bean-компонент? Я имею в виду, что запускайте ISO-сервер в классе @Configuration с помощью Q2.start(). Q2.start запустится в отдельном загрузчике классов. Я не хочу, чтобы это случилось.