我正在学习IBM MQ。我需要使用最佳实践从Java代码中将消息发送到IBM MQ。
我提出了这个问题,但我不知道它是否是最佳方式:How to put and get IBM MQ messages without application server
请你给我一些提示,请?
答案 0 :(得分:1)
IBM提供了MQ安装的示例代码,您应该查看这些代码。
还有一些示例用于为Java和JMS使用MQ类。 这些示例的源代码位于" MQ install dir" \ Windows下的工具。
答案 1 :(得分:0)
对我来说,这似乎是你半小时前提出的问题的重复。你似乎非常渴望得到答案,所以让我们看看这是否有助于你前进:
无论实现如何,消息队列处理的基本原理都是相同的。鉴于这种情况,鉴于您正在学习,我认为您将从查看此RabbitMQ教程中受益: RabbitMQ tutorial
RabbitMQ在本地计算机上免费且易于安装,因此您可以轻松使用它,并更轻松地理解它。本教程适合新手,整个过程都有很好的解释。
这应该让您了解所使用的方法和最佳实践。
我的理解是RabbitMQ的使用范围也比IBM MQ广泛得多,因此在掌握它时可以获得更多的支持。
一旦你学会了RabbitMQ的技术,我希望你可以将它们应用到IBM MQ,这可以让你回答你自己的原始问题。
祝你好运!答案 2 :(得分:0)
public static void main(String [] args){
Connection connection = null;
Session session = null;
Destination destination = null;
Destination tempDestination = null;
MessageProducer producer = null;
MessageConsumer consumer = null;
try {
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, "localhost");
cf.setIntProperty(WMQConstants.WMQ_PORT, 1414);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "SYSTEM.DEF.SVRCONN");
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, "QM1");
connection = cf.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("queue:///Q1");
producer = session.createProducer(destination);
long uniqueNumber = System.currentTimeMillis() % 1000;
TextMessage message = session.createTextMessage("SimpleRequestor: Your lucky number yesterday was " + uniqueNumber);
connection.start();
producer.send(message);
}catch (JMSException jmsex) {
jmsex.printStackTrace();
}
}