use same message loader / persistence to avoid duplicate SailMasterConnector instances;

in the long run, supporting equals on SwissTimingPersistenceImpl and the corresponding
configurations may help controlling the connector cache.
This commit is contained in:
Axel Uhl
2011-11-25 16:05:15 +01:00
parent 5f2ecd9584
commit eac6d6d1ad
11 changed files with 14 additions and 23 deletions
@@ -19,7 +19,6 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.CollectionNames;
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.FieldNames;
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.SwissTimingAdapterPersistenceImpl;
import com.sap.sailing.mongodb.MongoDBConfiguration;
import com.sap.sailing.mongodb.MongoDBService;
import com.sap.sailing.util.Util.Pair;
@@ -182,6 +181,7 @@ public class StoreAndForward implements Runnable {
}
while (!stopped) {
Socket s = ss.accept();
logger.info("StoreAndForward received connector's connect request on port "+portForClients);
if (!stopped) {
synchronized (StoreAndForward.this) {
socketsToForwardTo.add(s);
@@ -246,7 +246,7 @@ public class StoreAndForward implements Runnable {
MongoDBService mongoDBService = MongoDBService.INSTANCE;
mongoDBService.setConfiguration(MongoDBConfiguration.getDefaultConfiguration());
SwissTimingAdapterPersistence swissTimingAdapterPersistence = new SwissTimingAdapterPersistenceImpl(mongoDBService, SwissTimingFactory.INSTANCE);
SwissTimingAdapterPersistence swissTimingAdapterPersistence = SwissTimingAdapterPersistence.INSTANCE;
new StoreAndForward(listenPort, clientPort, SwissTimingFactory.INSTANCE, swissTimingAdapterPersistence, mongoDBService);
}