Существует несколько проблем с вашей конфигурацией как для JBoss EAP, так и для Logsta sh.
Давайте начнем с JBoss EAP ...
Сначала , вы изменили конфигурацию по умолчанию RemoteConnectionFactory
на эту:
<pooled-connection-factory connectors="netty" entries="java:jboss/exported/jms/RemoteConnectionFactory" name="RemoteConnectionFactory" user="admin" password="admin"/>
Это неверно. Удаленный клиент не может использовать pooled-connection-factory
, только клиент в той же JVM, что и сервер приложений (например, MDB, которому необходимо отправить сообщение). Вместо этого следует использовать конфигурацию по умолчанию:
<connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/>
Второй , ваша очередь AuditTrailMDB
не будет доступна для удаленных клиентов. Вот его конфигурация:
<jms-queue name="AuditTrailMDB" entries="queue/AuditTrailMDB"/>
Требуется новая запись JNDI в пространстве имен java:jboss/exported/
, чтобы она была доступна удаленным клиентам (например, как RemoteConnectionFactory
). Поэтому вы должны использовать это:
<jms-queue name="AuditTrailMDB" entries="queue/AuditTrailMDB java:jboss/exported/AuditTrailMDB"/>
Теперь для Logsta sh ...
Сначала , вы используете неправильные свойства JNDI. Используемые вами свойства предназначены для реализации JNDI ActiveMQ Artemis. Вот ваша текущая конфигурация:
jndi_context => {
'java.naming.factory.initial' => 'org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory'
'java.naming.security.principal' => 'admin'
'java.naming.provider.url' => 'tcp://localhost:5445?type=QUEUE_CF'
'java.naming.security.credentials' => 'admin'
}
Это неверно. Когда ActiveMQ Artemis встроен в JBoss EAP, тогда сам EAP обрабатывает все поиски JNDI. Поэтому вы должны использовать эту конфигурацию вместо этого:
jndi_context => {
'java.naming.factory.initial' => 'org.wildfly.naming.client.WildFlyInitialContextFactory'
'java.naming.security.principal' => 'admin'
'java.naming.provider.url' => 'http-remoting://127.0.0.1:8080'
'java.naming.security.credentials' => 'admin'
}
Это, конечно, предполагает, что вы добавили правильного admin
пользователя в EAP.
Second неверное имя JNDI фабрики соединений. Вы в настоящее время используете это:
jndi_name => 'queueConnectionFactory'
Вы должны использовать это вместо:
jndi_name => 'jms/RemoteConnectionFactory'
Третий , банки, которые вы используете, неверны. Вот ваша текущая конфигурация:
require_jars=> ['/home/Alternant/logstash/dependencies/jboss-client.jar',
'/home/Alternant/logstash/dependencies/artemis-ra.jar',
'/home/Alternant/logstash/dependencies/ironjacamar-core-impl.jar',
'/home/Alternant/logstash/dependencies/ironjacamar-core-api.jar',
'/home/Alternant/logstash/dependencies/ironjacamar-common-api.jar']
Большинство из них вам вообще не нужно. Вы можете упростить настройку, используя wildfly-client-all
«uber» банку, которая доступна здесь . Тогда ваша конфигурация будет выглядеть так:
require_jars=> ['/home/Alternant/logstash/dependencies/wildfly-client-all-7.1.0.GA-redhat-11.jar']