ex7_7.txt

来自「j2ee core design patterns」· 文本 代码 · 共 52 行

TXT
52
字号
Example 7.7 	ServiceLocator.java: Implementing JMS Queue Service Locator Strategy 
package com.corej2eepatterns.servicelocator;

// imports
public class ServiceLocator {
    . . . 

    public QueueConnectionFactory getQueueConnectionFactory(
        String queueConnectionFactoryName)
    throws ServiceLocatorException {
        QueueConnectionFactory queueFactory = null;
        try {
          if (cache.containsKey(queueConnectionFactoryName)) {
              queueFactory = (QueueConnectionFactory) 
                  cache.get(queueConnectionFactoryName);
          } else {
              queueFactory = (QueueConnectionFactory) 
                  initialContext.lookup(
                      queueConnectionFactoryName);
              cache.put(queueConnectionFactoryName,
                  queueFactory);
          }
        } catch (NamingException nex) {
            throw new ServiceLocatorException(nex);
        } catch (Exception ex) {
            throw new ServiceLocatorException(ex);
        }

        return queueFactory;
    }

    public Queue getQueue(String queueName)
    throws ServiceLocatorException {
        Queue queue = null;
        try {
            if (cache.containsKey(queueName)) {
                queue = (Queue) cache.get(queueName);
            } else {
                queue =
                    (Queue)initialContext.lookup(queueName);
                cache.put(queueName, queue);
            }
        } catch (NamingException nex) {
            throw new ServiceLocatorException(nex);
        } catch (Exception ex) {
            throw new ServiceLocatorException(ex);
        }

        return queue;
    }
    . . .
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?