@Override public void consume(Collection<DataEvent<D>> data) throws ZoieException { if (_zoieTwo != null) { _zoieTwo.consume(data); } }
@Override public String getVersion() { String v1 = null, v2 = null; Zoie<R, D> zoieOne = _zoieOne; if (zoieOne != null) { v1 = zoieOne.getVersion(); } if (_zoieTwo != null) { v2 = _zoieTwo.getVersion(); } return _zoieConfig.getVersionComparator().compare(v2, v1) > 0 ? v2 : v1; }
IndexSearcher searcher = null; QueryParser parser = null; parser = new QueryParser(Version.LUCENE_34, field, zoie.getAnalyzer()); parser.setAllowLeadingWildcard(true); Query q = null; try readers = zoie.getIndexReaders(); retstr += readers.size() + " readers obtained\n"; for (int readerid = 0; readerid < readers.size(); readerid++) } finally zoie.returnIndexReaders(readers);
try readers = zoie.getIndexReaders(); retstr += readers.size() + " readers obtained\n"; for (int readerid = 0; readerid < readers.size(); readerid++) } finally zoie.returnIndexReaders(readers);
String[] mbeannames = zoieSystem.getStandardMBeanNames(); for (String name : mbeannames) { JmxUtil.registerMBean(zoieSystem.getStandardMBean(name), "zoie-name", name + "-" + _id + "-" + part); zoieSystem.start(); zoieSystems.add(zoieSystem);
@Override public void syncWithVersion(long timeInMillis, String version) throws ZoieException { if (_zoieTwo != null) { _zoieTwo.syncWithVersion(timeInMillis, version); } }
@Override public List<ZoieMultiReader<R>> getIndexReaders() throws IOException { List<ZoieMultiReader<R>> readers = new ArrayList<ZoieMultiReader<R>>(); if (_zoieTwo != null) { readers.addAll(_zoieTwo.getIndexReaders()); } Zoie<R, D> zoieOne = _zoieOne; if (zoieOne != null) { List<ZoieMultiReader<R>> zoieOneReaders = zoieOne.getIndexReaders(); for (ZoieMultiReader<R> r : zoieOneReaders) { synchronized (_activeReaders) { ZoieRef zoieRef = _activeReaders.get(r); if (zoieRef != null) ++zoieRef.refCount; else { zoieRef = new ZoieRef(zoieOne); _activeReaders.put(r, zoieRef); } } } readers.addAll(zoieOneReaders); } return readers; }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void returnIndexReaders(List<ZoieMultiReader<R>> readers) { if (readers != null) { Map<Zoie<R, D>, List<ZoieMultiReader<R>>> destMap = new HashMap<Zoie<R, D>, List<ZoieMultiReader<R>>>(); for (ZoieMultiReader<R> r : readers) { Zoie zoie = _zoieTwo; synchronized (_activeReaders) { ZoieRef zoieRef = _activeReaders.get(r); if (zoieRef != null) { zoie = zoieRef.zoie; --zoieRef.refCount; if (zoieRef.refCount <= 0) _activeReaders.remove(r); } } List<ZoieMultiReader<R>> readerList = destMap.get(zoie); if (readerList == null) { readerList = new ArrayList<ZoieMultiReader<R>>(); destMap.put(zoie, readerList); } readerList.add(r); } for (Map.Entry<Zoie<R, D>, List<ZoieMultiReader<R>>> entry : destMap.entrySet()) { entry.getKey().returnIndexReaders(entry.getValue()); } } }
@Override public String getCurrentReaderVersion() { String v1 = null, v2 = null; Zoie<R, D> zoieOne = _zoieOne; if (zoieOne != null) { v1 = zoieOne.getCurrentReaderVersion(); } if (_zoieTwo != null) { v2 = _zoieTwo.getCurrentReaderVersion(); } return _zoieConfig.getVersionComparator().compare(v2, v1) > 0 ? v2 : v1; }
@Override public void flushEvents(long timeout) throws ZoieException { if (_zoieTwo != null) { _zoieTwo.flushEvents(timeout); } }
List<ZoieMultiReader<BoboSegmentReader>> readers; try { readers = zoie.getIndexReaders(); } catch (Exception e) { logger.error(e.getMessage(), e); return null; } finally { zoie.returnIndexReaders(readers);
@Override public void syncWithVersion(long timeInMillis, String version) throws ZoieException { if (_zoieTwo != null) { _zoieTwo.syncWithVersion(timeInMillis, version); } }
@Override public List<ZoieMultiReader<R>> getIndexReaders() throws IOException { List<ZoieMultiReader<R>> readers = new ArrayList<ZoieMultiReader<R>>(); if (_zoieTwo != null) { readers.addAll(_zoieTwo.getIndexReaders()); } Zoie<R, D> zoieOne = _zoieOne; if (zoieOne != null) { List<ZoieMultiReader<R>> zoieOneReaders = zoieOne.getIndexReaders(); for (ZoieMultiReader<R> r : zoieOneReaders) { synchronized (_activeReaders) { ZoieRef zoieRef = _activeReaders.get(r); if (zoieRef != null) ++zoieRef.refCount; else { zoieRef = new ZoieRef(zoieOne); _activeReaders.put(r, zoieRef); } } } readers.addAll(zoieOneReaders); } return readers; }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void returnIndexReaders(List<ZoieMultiReader<R>> readers) { if (readers != null) { Map<Zoie<R, D>, List<ZoieMultiReader<R>>> destMap = new HashMap<Zoie<R, D>, List<ZoieMultiReader<R>>>(); for (ZoieMultiReader<R> r : readers) { Zoie zoie = _zoieTwo; synchronized (_activeReaders) { ZoieRef zoieRef = _activeReaders.get(r); if (zoieRef != null) { zoie = zoieRef.zoie; --zoieRef.refCount; if (zoieRef.refCount <= 0) _activeReaders.remove(r); } } List<ZoieMultiReader<R>> readerList = destMap.get(zoie); if (readerList == null) { readerList = new ArrayList<ZoieMultiReader<R>>(); destMap.put(zoie, readerList); } readerList.add(r); } for (Map.Entry<Zoie<R, D>, List<ZoieMultiReader<R>>> entry : destMap.entrySet()) { entry.getKey().returnIndexReaders(entry.getValue()); } } }
@Override public String getCurrentReaderVersion() { String v1 = null, v2 = null; Zoie zoieOne = _zoieOne; if (zoieOne != null) v1 = zoieOne.getCurrentReaderVersion(); if (_zoieTwo != null) v2 = _zoieTwo.getCurrentReaderVersion(); return _zoieConfig.getVersionComparator().compare(v2, v1) > 0 ? v2 : v1; }
@Override public void flushEvents(long timeout) throws ZoieException { if (_zoieTwo != null) { _zoieTwo.flushEvents(timeout); } }