==== Pont-Pont példa ====
A JMS modul bekapcsolása a Wildfly alkalmazás szerverben. A JMS komponens, a standalone-full.xml konfigurációban szerepel, az alap konfiguráció (standalone.xml) nem tartalmazza. Az Jboss Dev. Studio “Launch configurations”-nál be kell állítani a ”–server-config=standalone-full.xml” és újraindítani a wildfly-t. A pirossal jelzett checkboxot is ki kell kapcsolni.
{{tanszek:oktatas:informatikai_rendszerek_epitese:screenshot_2016-11-22_16.14.42.png?320x200|}}
Hozzunk létre egy projekt-et (MDB-test néven): dinamikus web vagy EJB projekt is lehet, és az alábbi osztályt adjuk meg:
package org.ait;
import java.util.Date;
import jakarta.ejb.ActivationConfigProperty;
import jakarta.ejb.MessageDriven;
import jakarta.jms.JMSException;
import jakarta.jms.Message;
import jakarta.jms.MessageListener;
import jakarta.jms.TextMessage;
@MessageDriven(name = "TaskQueue", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "TaskQueue"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge")})
public class TaskGenerator implements MessageListener {
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
System.out.println("Az üzenet ekkor megérkezett: " + new Date());
TextMessage msg = (TextMessage) message;
System.out.println("Az üzenet: " + msg.getText());
} else {
System.out.println("hibás üzenet");
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
Az üzenetsor TaskQueue néven automatikusan létrejön, az alábbi annotáció miatt:
@ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "TaskQueue")
==== Távoli elérés az üzenetsorhoz ====
Ahhoz, hogy távolról is el lehessen érni egy üzenetsort, a JNDI nevének "java:jboss/exported/" kell kezdődnie.
Ehhez a standalone-full.xml-ben a messaging-activemq részhez tegyük be a -tag on belül egy új -tag-et az alábbiak szerint: