Spring mvc 我们是否可以在不从队列生成或使用绑定文件的情况下将我的Java Spring mvc服务连接到IBM MQ
在my service(基于java8-springMVC-IBM MQ构建)中,我们从IBM MQ生成绑定文件,并使用该绑定文件连接到队列和my service。是否有任何方法可以在不使用绑定文件的情况下连接队列 原因是我的服务涉及10个队列,对于每个队列,我必须生成绑定文件并将它们全部放在一个文件中,然后使用它。我们有开发、qa和prod环境,所以绑定文件会针对每个队列进行更改,这是一个很大的痛苦Spring mvc 我们是否可以在不从队列生成或使用绑定文件的情况下将我的Java Spring mvc服务连接到IBM MQ,spring-mvc,java-8,ibm-mq,Spring Mvc,Java 8,Ibm Mq,在my service(基于java8-springMVC-IBM MQ构建)中,我们从IBM MQ生成绑定文件,并使用该绑定文件连接到队列和my service。是否有任何方法可以在不使用绑定文件的情况下连接队列 原因是我的服务涉及10个队列,对于每个队列,我必须生成绑定文件并将它们全部放在一个文件中,然后使用它。我们有开发、qa和prod环境,所以绑定文件会针对每个队列进行更改,这是一个很大的痛苦 那么,有没有一种方法可以在没有绑定文件的情况下连接队列?请附上代码或任何参考 当你们谈论绑定文
那么,有没有一种方法可以在没有绑定文件的情况下连接队列?请附上代码或任何参考 当你们谈论绑定文件的时候,我猜你们在使用JNDI?您没有提到是使用JMS还是本机MQI。通过MQI,您可以使用connx,通过JMS,您可以使用连接工厂来实现所需的功能。IBM知识中心的开发者部分有您需要的所有信息。您是否有任何代码参考,这些代码使用JMS ans连接到队列,以便通过spring MVC servicenone从队列发送和接收消息,我可以共享。。。但它离谷歌只有一步之遥。。。问题的原始海报(OP)提到了装订文件。这表明他们正在为JMS使用IBM MQ类。我注意到OP评论特别要求“通过SpringMVC服务使用JMS的代码”。虽然您提供的程序可能有助于回答另一个问题,但它是一个IBM MQ classes for Java程序,很可能不是OP所需要的。为了有最好的机会获得选票并获得代表,请尝试根据OP的要求定制答案。有时,如果他们不知道到底要问什么,这可能需要一些推断。
You can use below code with IBM MQ jars.
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
public class Test {
public static void main(String[] args) {
MQEnvironment.hostname = queue_manager_ip;
MQEnvironment.port = queue_manager_port;
MQEnvironment.channel = channel_name;
MQEnvironment.disableTracing();
MQQueueManager mqmanager = null;
MQQueue mqueue = null;
try {
mqmanager = new MQQueueManager(" ");
int i = 8226;
mqueue = mqmanager.accessQueue(queue_name, i);
} catch (MQException localMQException) {
System.out.println(localMQException.getMessage());
}
String str1 = "";
String str2 = "";
MQGetMessageOptions localMQGetMessageOptions = new MQGetMessageOptions();
localMQGetMessageOptions.options = 8192;
MQMessage localMQMessage = new MQMessage();
mqueue.get(localMQMessage, localMQGetMessageOptions);
byte[] arrayOfByte = new byte[localMQMessage.getTotalMessageLength()];
localMQMessage.readFully(arrayOfByte);
str1 = new String(arrayOfByte);
System.out.println(str1);
}
}