Настройка PostgreSQL
Необходимо на локальном сервере PostgreSQL создать базу данных с некоторым именем для интеграционного решения (например, cmi_trf). База в дальнейшем будет использоваться в настройках Wildfly.
Настройка Wildfly 10
Файл standalone.xml имеет примерно следующий вид: standalone.xml
Особенности настройки Интегратора в данном standalone.xml:
- Наличие домена безопасности (security-domain) с именем CMI;
- Наличие фабрики соединений и очереди для ChLog'ов в настройках локального брокера (ChLogTopic и фабрики соединений в JNDI-именем java:/jms/cm/connection-factory).
Если имеется настроенный standalone.xml для CM, то можно добавить в него следующие настройки (чтобы была возможность работы как с CM, так и с ИР на основе Интегратора с минимальным изменением настроек):
Скопировать security-domain с именем CMI и указать у него в качестве базы datasource с именем java:jboss/datasources/CMI;
CMI security domain<security-domain name="CMI"> <authentication> <login-module code="org.jboss.security.ClientLoginModule" flag="optional"/> <login-module code="Remoting" flag="optional"> <module-option name="password-stacking" value="useFirstPass"/> </login-module> <login-module code="Database" flag="required"> <module-option name="dsJndiName" value="java:jboss/datasources/CMI"/> <module-option name="hashAlgorithm" value="MD5"/> <module-option name="hashEncoding" value="hex"/> <module-option name="principalsQuery" value="SELECT info.password from authentication_info info where info.user_uid = ?"/> <module-option name="rolesQuery" value="SELECT 'cm_user', 'Roles' from authentication_info where user_uid = ?"/> </login-module> </authentication> </security-domain>
- Создать в Postgres базу данных с каким-нибудь именем, которое будет указано в следующем пункте в standalone.xml;
Создать datasource с jndi-именем java:jboss/datasources/CMI - скопировать полностью настройки имеющейся базы CM5, только поменяв имя базы (для ИР Тарификатора, например, cmi_trf) и поменяв везде CM5 на CMI;
CMI Datasource definition<datasource jta="true" jndi-name="java:jboss/datasources/CMI" pool-name="CMIDatasource" enabled="true" use-ccm="false"> <connection-url>jdbc:postgresql://localhost:5432/cmi_trf</connection-url> <driver-class>org.postgresql.Driver</driver-class> <driver>postgresql-42.0.0.jar</driver> <pool> <min-pool-size>1</min-pool-size> <initial-pool-size>10</initial-pool-size> <max-pool-size>20</max-pool-size> <use-strict-min>true</use-strict-min> <flush-strategy>FailingConnectionOnly</flush-strategy> </pool> <security> <user-name>postgres</user-name> <password>pass</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/> <background-validation>true</background-validation> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/> </validation> <timeout> <set-tx-query-timeout>true</set-tx-query-timeout> <idle-timeout-minutes>5</idle-timeout-minutes> </timeout> </datasource>
Изменить в свойстве server.properties.location ссылку на директорию, в которой находится server.properties.
System properties<system-properties> ..... <property name="server.properties.location" value="D:/cmi-config"/> ..... </system-properties>
В server.properties для развертывания интеграционного решения можно скопировать с server.properties для СМ, но добавив одно свойство:
server.properties.... datasource.master=java:jboss/datasources/CMI ....
Если в standalone.xml не задана очередь для ChangeLog и фабрика соединений в activemq, то надо задать следующие настройки в разделе activemq:
ActiveMQ configuration<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0"> <server name="default"> ... <jms-topic name="ChLogTopic" entries="java:/jms/cm/topic/chlog"/> ... <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory java:/ChangeLogConnectionFactory java:/jms/cm/connection-factory" connectors="in-vm"/> ... </server> </subsystem>
Проверить наличие subsystem и расширения WELD в standalone.xml:
WELD configuration..... <extension module="org.jboss.as.weld"/> </extensions> ..... <subsystem xmlns="urn:jboss:domain:weld:3.0"/> </profile>
После окончания деплоя EAR интеграционного решения GUI Интегратора будет доступна по URL: http://<host>:<port>/cm-integrator/BusinessUniverse.html