0
            environment.put(Context.INITIAL_CONTEXT_FACTORY,QUEUE_CONTEXT);
            System.out.println("QUEUE_URL -> " + QUEUE_URL);
            environment.put(Context.PROVIDER_URL,QUEUE_URL);
            try{
            ctx = new InitialDirContext(environment);
            String MYCF_LOOKUP_NAME = QUEUE_CONTEXT_FACTORY;
            connectionFactory = (ConnectionFactory) ctx.lookup(MYCF_LOOKUP_NAME);
            connection = ((MQQueueConnectionFactory) connectionFactory)
                                        .createQueueConnection();

我不知道它是否正确。它在第一个要求队列管理器名称的程序中给我连接问题,但在第二个程序中它不需要队列管理器名称。我需要用第二个程序替换第一个程序代码。任何人都可以帮我解决这个问题吗??

4

1 回答 1

0

您在这里使用 JNDI - JNDI 是 Java Obects 的存储。对于 JMS,这将是 ConnectionFactory 和 Destinations(队列或主题)。

因此,您需要在 JNDI 中放入一个连接工厂,因为您已经拥有的代码建议以及一个队列。

如果不清楚为什么需要这样做,我建议您搜索 JNDI 教程和 JMS 教程 - 以获得非常基本的背景。

于 2013-11-06T09:25:56.757 回答