Ignore:
Timestamp:
06/26/13 10:01:10 (11 years ago)
Author:
stoda
Message:

private static proxies in Proxymq deleted -> non static proxies moved to Broker

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/main/java/omq/common/broker/Broker.java

    r54 r59  
    44import java.net.URL;
    55import java.util.HashMap;
     6import java.util.Hashtable;
    67import java.util.Map;
    78import java.util.Properties;
     
    4445        private Properties environment = null;
    4546        private Map<String, RemoteObject> remoteObjs;
     47        private Map<String, Object> proxies = new Hashtable<String, Object>();
    4648
    4749        public Broker(Properties env) throws Exception {
     
    7173                        responseListener.kill();
    7274                        eventDispatcher.kill();
    73                         Proxymq.stopProxy();
     75                        //TODO proxies = null; ??
    7476                }
    7577                // Stop all the remote objects working
     
    123125
    124126        @SuppressWarnings("unchecked")
    125         public <T extends Remote> T lookup(String reference, Class<T> contract) throws RemoteException {
     127        public synchronized <T extends Remote> T lookup(String reference, Class<T> contract) throws RemoteException {
    126128                try {
    127129
     
    131133                        }
    132134
    133                         if (!Proxymq.containsProxy(reference)) {
     135                        if (!proxies.containsKey(reference)) {
    134136                                Proxymq proxy = new Proxymq(reference, contract, this);
    135137                                Class<?>[] array = { contract };
    136                                 return (T) Proxymq.newProxyInstance(contract.getClassLoader(), array, proxy);
     138                                Object newProxy = Proxymq.newProxyInstance(contract.getClassLoader(), array, proxy);
     139                                proxies.put(reference, newProxy);
     140                                return (T) newProxy;
    137141                        }
    138                         return (T) Proxymq.getInstance(reference);
     142                        return (T) proxies.get(reference);
    139143
    140144                } catch (Exception e) {
Note: See TracChangeset for help on using the changeset viewer.