2016-12-06 2 views
2

Как я могу выполнить команды .cli с maven? Какой плагин maven помогает мне в этом?Как добавить очередь jms с maven?

Я хочу выполнить некоторые команды cli на этапе предварительной интеграции.

Команды, которые я хочу запустить,

jms-queue add --queue-address=ProcessingEngine --entries=java:global/jms/ProcessingEngine 

И плагин, который я использую

wildfly-Maven-плагин

Полная конфигурация, которую я использую is

<plugin> 
    <groupId>org.wildfly.plugins</groupId> 
    <artifactId>wildfly-maven-plugin</artifactId> 
    <version>1.1.0.Alpha11</version> 
    <executions> 
     <execution> 
      <id>start-wildfly</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>start</goal> 
      </goals> 
      <configuration> 
       <startupTimeout>420</startupTimeout> 
       <jbossHome>${env.WILDFLY_HOME}</jbossHome> 
       <serverConfig>standalone-full.xml</serverConfig> 
       <javaOpts> 
        <javaOpts>-DIGNITE_HOME=${env.TEMP}</javaOpts> 
        <javaOpts>-Xms512m</javaOpts> 
        <javaOpts>-Xmx4094m</javaOpts> 
        <javaOpts>${ITargLine}</javaOpts> 
        <javaOpts>-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n</javaOpts> 
        <javaOpts>-Dwkfs.local.configuration.file=${project.build.testOutputDirectory}/wkfs-external.properties</javaOpts> 
       </javaOpts> 
      </configuration> 
     </execution> 
     <execution> 
      <id>start-jms-queues</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>execute-commands</goal> 
      </goals> 
      <configuration> 
       <commands> 
        <executeCommands> 
        <!-- Create Processing Engine queue --> 
        jms-queue add --queue-address=ProcessingEngine --entries=java:global/jms/ProcessingEngine 
        </executeCommands> 
        <executeCommands> 
         <!-- Create Processing Engine notification queue --> 
         jms-topic add --topic-address=ProcessingEngineNotification --entries=java:global/jms/ProcessingEngineNotification 
        </executeCommands> 
       </commands> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

я получаю это исключение

[ERROR] Не удалось выполнить цель org.wildfly.plugins: wildfly-Maven-плагин: 1.1.0.Alpha11: выполнение команды- (старт-JMS-очереди) на project integration-test: Выполнение start-jms-queues цели org.wildfly.plugins: wildfly-maven-plugin: 1.1.0.Alpha11: выполнить команды не удалось: команда 'jms-queue add -queue-address = ProcessingEngine --entries = java: global/jms/ProcessingEngine, java:/jms/myApp/ProcessingEngine ' недействителен. Команда недоступна в текущем контексте (например, требуемые подсистемы или подключение к контроллеру может быть недоступно). -> [Помощь 1]

Если я использую командную строку и вручную JAVA_OPTS использовать автономный-full.xml, снова запустить сервер и подключиться к нему, затем запустите JMS запроса из командной строки , оно работает.

+0

Есть ли способ, вы уже делаете это (выполняющей '.cli') в' java'? – nullpointer

+1

нет, я еще этого не сделал. :) – aurelius

ответ

2

мне удалось добавить в очередь JMS, используя add-resource цели

    <execution> 
        <id>add-jms-queue</id> 
        <phase>pre-integration-test</phase> 
        <goals> 
         <goal>add-resource</goal> 
        </goals> 
        <configuration> 
         <resources> 
          <resource> 
           <address>subsystem=messaging,hornetq-server=default,jms-queue=ProcessingEngine</address> 
           <properties> 
            <durable>true</durable> 
            <entries>!!["java:global/jms/ProcessingEngine"]</entries> 
           </properties> 
          </resource> 
          <resource> 
           <address>subsystem=messaging,hornetq-server=default,jms-topic=ProcessingEngineNotification</address> 
           <properties> 
            <durable>true</durable> 
            <entries>!!["java:global/jms/ProcessingEngineNotification"]</entries> 
           </properties> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
Смежные вопросы