2016-02-23 3 views
2

Я пытаюсь настроить клиент управления со стороны резьбы на Wildlfy 10 AS для JMS с помощью ActiveMQ, у меня есть настройки очереди в standalone-full.xmlDemoQueue в настоящее время AS создает бесконечные темы съедает память до возможного он выходит из строяClient-Side Management Темы ActiveMQ

<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0"> 
     <server name="default"> 
      <security-setting name="#"> 
       <role name="guest" delete-non-durable-queue="true" create-non-durable-queue="true" consume="true" send="true"/> 
      </security-setting> 
      <address-setting name="#" message-counter-history-day-limit="10" page-size-bytes="2097152" max-size-bytes="10485760" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/> 
      <http-connector name="http-connector" endpoint="http-acceptor" socket-binding="http"/> 
      <http-connector name="http-connector-throughput" endpoint="http-acceptor-throughput" socket-binding="http"> 
       <param name="batch-delay" value="50"/> 
      </http-connector> 
      <in-vm-connector name="in-vm" server-id="0"/> 
      <http-acceptor name="http-acceptor" http-listener="default"/> 
      <http-acceptor name="http-acceptor-throughput" http-listener="default"> 
       <param name="batch-delay" value="50"/> 
       <param name="direct-deliver" value="false"/> 
      </http-acceptor> 
      <in-vm-acceptor name="in-vm" server-id="0"/> 
      <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/> 
      <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/> 
      <jms-queue name="demoQueue" entries="java:/jms/queue/demoQueue java:jboss/exported/jms/queue/demoQueue"/> 
      <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/> 
      <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/> 
      <pooled-connection-factory name="activemq-ra" transaction="xa" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm"/> 
     </server> 
    </subsystem> 

У меня есть работа с управлением потоками на стороне сервера. I'v пытался следовать нашла инструкцию here так в настоящее время я использую:

DEFAULT_CONNECTION_FACTORY=jms/RemoteConnectionFactory 
DEFAULT_DESTINATION=java:/jms/queue/demoQueue 
DEFAULT_USERNAME=mUserName 
DEFAULT_PASSWORD=myPassword 
INITIAL_CONTEXT_FACTORY=org.jboss.naming.remote.client.InitialContextFactory 
PROVIDER_URL=http-remoting://myURL.com:8082 

/** Lookup the queue object */ 
Queue queue = (Queue) context.lookup(props.getProperty("DEFAULT_DESTINATION")); 

/** Lookup the queue connection factory */ 
ConnectionFactory connFactory = (ConnectionFactory) context.lookup(props.getProperty("DEFAULT_CONNECTION_FACTORY")); 

try (javax.jms.Connection connection = connFactory.createConnection(props.getProperty("DEFAULT_USERNAME"), props.getProperty("DEFAULT_PASSWORD")); 

    /** Create a queue session */ 
    Session queueSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 

    /** Create a queue consumer */ 
    MessageConsumer msgConsumer = queueSession.createConsumer(queue)) { 

    /** Set an asynchronous message listener */ 
    msgConsumer.setMessageListener(asyncReceiver); 

    /** Set an asynchronous exception listener on the connection */ 
    connection.setExceptionListener(asyncReceiver); 

    /** Start connection */ 
    connection.start(); 
} 

Мне нужно добавить конфигурацию ClientSessionFactory в мой «автономный-full.xml» для управления клиентской стороны потока ли? Я не могу получить доступ к .setUseGlobalPools (falase); из RemoteConnectionFactory.

Я попытался добавить:

ConnectionFactory myConnectionFactory = ActiveMQJMSClient.createConnectionFactory(myFactory); 

Я не могу получить доступ необходимых методов из моего кода.

.useGlobalPools = ложные

scheduledThreadPoolMaxSize = 10

Я использовал Wildfly 9, который реализован HornetQ поэтому некоторые из моей конфигурации, возможно, потребуется изменение для правильной работы с ActiveMQ

ответ

0

Я showin решение для этого полезным пользователем на Jbossforums Я использовал управление потоками на стороне сервера изменение моей конфигурации XML

<connection-factory name="RemoteConnectionFactory" 
entries="java:jboss/exported/jms/RemoteConnectionFactory" 
connectors="http-connector" use-global-pools="false" 
thread-pool-max-size="10"/> 

Другим Stackuser указал на другой вопрос, который я имел, что там может быть проблема с этим и другими Wildfly версией, где этот параметр не решит проблему, она решает это для меня , но есть другая работа, проходящая в настройке в качестве параметра во время запуска:

sh standalone.sh -c standalone-full.xml -Dactivemq.artemis.client.global.thread.pool.max.size=30 
Смежные вопросы