- 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:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r3264
|
r3266
|
|
| 70 | 70 | * should be careful to check for nulls. |
| 71 | 71 | */ |
| 72 | | public BlitzConfiguration( |
| | 72 | public BlitzConfiguration(Ring ring, |
| 73 | 73 | ome.services.sessions.SessionManager sessionManager, |
| 74 | 74 | SecuritySystem securitySystem, Executor executor) |
| 75 | 75 | throws RuntimeException { |
| 76 | | this(createId(), sessionManager, securitySystem, executor); |
| | 76 | this(createId(), ring, sessionManager, securitySystem, executor); |
| 77 | 77 | } |
| 78 | 78 | |
| … |
… |
|
| 89 | 89 | * @throws RuntimeException |
| 90 | 90 | */ |
| 91 | | public BlitzConfiguration(Ice.InitializationData id, |
| | 91 | public BlitzConfiguration(Ice.InitializationData id, Ring ring, |
| 92 | 92 | ome.services.sessions.SessionManager sessionManager, |
| 93 | 93 | SecuritySystem securitySystem, Executor executor) |
| … |
… |
|
| 97 | 97 | |
| 98 | 98 | this.id = id; |
| 99 | | this.blitzRing = new Ring(); |
| | 99 | this.blitzRing = ring; |
| 100 | 100 | this.communicator = createCommunicator(); |
| 101 | 101 | |
| … |
… |
|
| 112 | 112 | managerDirectProxy = blitzAdapter.createDirectProxy(managerId()); |
| 113 | 113 | |
| 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 |
| 116 | 119 | .proxyToString(getDirectProxy())); |
| 117 | | blitzAdapter.activate(); |
| | 120 | |
| 118 | 121 | } catch (RuntimeException e) { |
| 119 | 122 | destroy(); |
Download in other formats:
1.2.1-PRO © 2008-2009
agile42 all
rights reserved
(this page was served in: 0.58784 sec.)