Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 我们是否可以在不从队列生成或使用绑定文件的情况下将我的Java Spring mvc服务连接到IBM MQ_Spring Mvc_Java 8_Ibm Mq - Fatal编程技术网

Spring mvc 我们是否可以在不从队列生成或使用绑定文件的情况下将我的Java Spring mvc服务连接到IBM MQ

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环境,所以绑定文件会针对每个队列进行更改,这是一个很大的痛苦 那么,有没有一种方法可以在没有绑定文件的情况下连接队列?请附上代码或任何参考 当你们谈论绑定文

在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);
    }

}