Show
Ignore:
Timestamp:
01/12/09 08:49:32 (20 months ago)
Author:
jmoore
Message:

OmeroClustering : Moving away from jgroups to straight multicast/jdbc approach

The ReplicatedHashMap implementation used from the org.jgroups.blocks
package had issues with our usage of the map. Since we are already
guaranteed a share storage (the db) for all blitz instances within
a single cluster, we are now using Ice's multicast support (from 3.3)
as well as simpleJdbcTemplate to manage the same information that was
previously in jgroups.
(cherry-pick from commit e50eed4204c2a1d360c2b261b5e6a7618573ba65)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/components/blitz/src/ome/services/blitz/util/BlitzConfiguration.java

    r3264 r3266  
    7070     * should be careful to check for nulls. 
    7171     */ 
    72     public BlitzConfiguration( 
     72    public BlitzConfiguration(Ring ring, 
    7373            ome.services.sessions.SessionManager sessionManager, 
    7474            SecuritySystem securitySystem, Executor executor) 
    7575            throws RuntimeException { 
    76         this(createId(), sessionManager, securitySystem, executor); 
     76        this(createId(), ring, sessionManager, securitySystem, executor); 
    7777    } 
    7878 
     
    8989     * @throws RuntimeException 
    9090     */ 
    91     public BlitzConfiguration(Ice.InitializationData id, 
     91    public BlitzConfiguration(Ice.InitializationData id, Ring ring, 
    9292            ome.services.sessions.SessionManager sessionManager, 
    9393            SecuritySystem securitySystem, Executor executor) 
     
    9797 
    9898        this.id = id; 
    99         this.blitzRing = new Ring(); 
     99        this.blitzRing = ring; 
    100100        this.communicator = createCommunicator(); 
    101101 
     
    112112            managerDirectProxy = blitzAdapter.createDirectProxy(managerId()); 
    113113 
    114             // Must inject configuration before starting the adapter 
    115             blitzRing.init(communicator, communicator 
     114            blitzAdapter.activate(); 
     115 
     116            // When using adapter methods from within the ring, it is necessary 
     117            // to start the adapter first. 
     118            blitzRing.init(blitzAdapter, communicator 
    116119                    .proxyToString(getDirectProxy())); 
    117             blitzAdapter.activate(); 
     120 
    118121        } catch (RuntimeException e) { 
    119122            destroy(); 

1.2.1-PRO © 2008-2009 agile42 all rights reserved (this page was served in: 0.58784 sec.)