ActiveMQ Artemis JMS Protokoll Modul konfigurieren

Avalon

Bekanntes Mitglied
Hallo, hab wieder mal Stirnschweiß. Bis heute früh habe ich noch nie etwas davon gehört "Artemis JMS Broker". Bis zu dem unten stehenden einfachen Beispiel (Spring Boot, Maven, Eclipse) bin ich gekommen (funktioniert soweit auch). Ich soll aber auch Testfälle mit verschiedenen Protokollen schreiben und die Unterschiede der einzelnen Protokolle herausarbeiten. Aber wie? Ich finde im Netz nur Spring XML Configs, hätte die Config aber gerne als Java Bean oder irgendwas anderes (z.B. in der application.properties). Nicht XML. Bitte nicht. Geht das überhaupt? Aktuell wird immer Core gefunden, was alle Protokolle unterstützt. Also die Frage ist:

Wie und an welcher Stelle, kann ich gezielt ein Protokoll Modul (ActiveMQ Artemis) konfigurieren? Das einfache Anhängen des Protkolls an die URL, funktioniert leider nicht.

Über etwas Hilfe, würde ich mich sehr freuen.

Hier das erwähnte einfache Beispiel.
[CODE lang="java" title="Controller"]@RestController
public class JmsRestController {

@Autowired
JmsProducer jmsProducer;

@PostMapping("/send")
public void sendDataToJms(@RequestParam String message) {
jmsProducer.send(message);
}
}[/CODE]
Java:
@Service
public class JmsConsumer {

    Logger log = LoggerFactory.getLogger(JmsConsumer.class);

    @JmsListener(destination= "simpleJmsInmemory.queue")
    public void receive(String message) {
    log.info("Received message='{}'", message);
    }
}
Java:
@Service
public class JmsProducer {

  Logger log = LoggerFactory.getLogger(JmsProducer.class);

  @Autowired
  private JmsTemplate jmsTemplate;

  @Autowired
  private Queue queue;

  public void send(String message) {
    jmsTemplate.convertAndSend(queue, message);
    log.info("Sent message='{}'", message);
  }
}
Java:
@EnableJms
@Configuration
public class JmsConfig {

@Bean
public Queue queue() {
  return new ActiveMQQueue("simpleJmsInmemory.queue");
}

}
[CODE lang="java" title="application.properties" highlight="7"]spring.artemis.mode=EMBEDDED
#spring.artemis.mode = native
#spring.artemis.host = localhost
#spring.artemis.port = 9876
#spring.artemis.user = admin
#spring.artemis.password = secret
spring.activemq.broker-url = tcp://localhost:9876?protocols=MQTT //funktioniert nicht

spring.artemis.embedded.enabled=true

#spring.jms.template.default-destination=my-queue-1

logging.level.org.apache.activemq.audit.base=WARN
logging.level.org.apache.activemq.audit.message=WARN[/CODE]
 

Neue Themen


Oben