import javax.jms.*;
import org.jboss.mq.*;
import org.jboss.mq.SpyXAQueueConnectionFactory;
public class JBossMQTransactionExample {
private QueueConnection qConn;
private QueueSession qSession;
private QueueSender qSender;
private QueueReceiver qReceiver;
public JBossMQTransactionExample() throws JMSException {
QueueConnectionFactory qConnFactory = new SpyXAQueueConnectionFactory();
qConn = qConnFactory.createQueueConnection();
qSession = qConn.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
Queue queue = new org.jboss.mq.SpyQueue("your-queue-name");
qSender = qSession.createSender(queue);
qReceiver = qSession.createReceiver(queue);
}
public void sendMessage(String message) throws JMSException {
TextMessage textMessage = qSession.createTextMessage();
textMessage.setText(message);
qSender.send(textMessage);
}
public String receiveMessage() throws JMSException {
qConn.start();
Message message = qReceiver.receive();
if (message instanceof TextMessage) {
return ((TextMessage) message).getText();
}
return null;
}
public void commitTransaction() throws JMSException {
qSession.commit();
}
public void rollbackTransaction() throws JMSException {
qSession.rollback();
}
public void close() throws JMSException {
qConn.close();
}
public static void main(String[] args) {
try {
JBossMQTransactionExample example = new JBossMQTransactionExample();
example.sendMessage("Hello, JBossMQ!");
example.commitTransaction();
String receivedMessage = example.receiveMessage();
System.out.println("Received message: " + receivedMessage);
example.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
}
import javax.jms.*;
import org.jboss.mq.*;
import org.jboss.mq.SpyQueueConnectionFactory;
public class JBossMQMessageAcknowledgementExample {
private QueueConnection qConn;
private QueueSession qSession;
private QueueReceiver qReceiver;
public JBossMQMessageAcknowledgementExample() throws JMSException {
QueueConnectionFactory qConnFactory = new SpyQueueConnectionFactory();
qConn = qConnFactory.createQueueConnection();
qSession = qConn.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
Queue queue = new org.jboss.mq.SpyQueue("your-queue-name");
qReceiver = qSession.createReceiver(queue);
}
public void receiveMessagesAndAcknowledge() throws JMSException {
qConn.start();
Message message;
while ((message = qReceiver.receive()) != null) {
System.out.println("Received message: " + message);
message.acknowledge();
}
}
public void close() throws JMSException {
qConn.close();
}
public static void main(String[] args) {
try {
JBossMQMessageAcknowledgementExample example = new JBossMQMessageAcknowledgementExample();
example.receiveMessagesAndAcknowledge();
example.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
}