@Override public PatchStore create(LocalServerConfig config) { CuratorFramework client = curator(config); return new PatchStoreZk(client, this); }
/** Short name used in server configuration files to set the default provider via "log_type" */ @Override public String getShortName() { return super.getShortName() + "s3"; }
private static void initPatchStoreProviders() { // Find PatchStoreProviders. List<PatchStoreProvider> providers = new ArrayList<>(); // Hard code the discovery for now. providers.add(new PatchStoreProviderFile()); providers.add(new PatchStoreProviderMem()); providers.add(new PatchStoreProviderZk()); providers.forEach(psp->{ LOG.debug("Provider: "+psp.getProviderName()); PatchStoreMgr.register(psp); }); // Still need to set the server-wide default PatchStore. // PatchStoreMgr.setDftPatchStoreName(DPS.PatchStoreZkProvider); // PatchStoreMgr.setDftPatchStoreName(DPS.PatchStoreFileProvider); } }
@Override protected PatchLog patchLog() { try { String connectString = "localhost:" + server.getPort(); RetryPolicy policy = new ExponentialBackoffRetry(10000, 5); client = CuratorFrameworkFactory.builder() .connectString(connectString) .retryPolicy(policy) .build(); client.start(); //client.getConnectionStateListenable().addListener((c, newState)->System.out.println("** STATE CHANGED TO : " + newState)); client.blockUntilConnected(); LocalServerConfig config = LocalServers.configZk(connectString); PatchStore ps = new PatchStoreProviderZk().create(config); ps.initialize(new DataRegistry("TestPatchLogZk"), config); DataSourceDescription dsd = new DataSourceDescription(Id.create(), "ABC", "http://example/ABC"); PatchLog patchLog = ps.createLog(dsd); return patchLog; } catch (Exception ex) { ex.printStackTrace(); return null; } }
break; case ZKZK : psp = installProvider(new PatchStoreProviderZk()); localServerConfig = serverConfigZookeeper(deltaServerConfig); providerLabel = "zookeeper";