javax.jcr.observation.ObservationManager.getRegisteredEventListeners()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(77)

本文整理了Java中javax.jcr.observation.ObservationManager.getRegisteredEventListeners()方法的一些代码示例,展示了ObservationManager.getRegisteredEventListeners()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObservationManager.getRegisteredEventListeners()方法的具体详情如下:
包路径:javax.jcr.observation.ObservationManager
类名称:ObservationManager
方法名:getRegisteredEventListeners

ObservationManager.getRegisteredEventListeners介绍

[英]Returns all event listeners that have been registered through this session. If no listeners have been registered, an empty iterator is returned.
[中]返回通过此会话注册的所有事件侦听器。如果没有注册侦听器,则返回一个空迭代器。

代码示例

代码示例来源:origin: info.magnolia/magnolia-core

@SuppressWarnings("unchecked")
private static boolean isAlreadyRegistered(final String workspace, final EventListener listener) throws RepositoryException {
  EventListenerIterator iterator = getObservationManager(workspace).getRegisteredEventListeners();
  Optional<EventListener> existingListener = Iterators.tryFind(iterator, new Predicate<EventListener>() {
    @Override
    public boolean apply(final EventListener input) {
      return input.equals(listener);
    }
  });
  return existingListener.isPresent();
}

代码示例来源:origin: info.magnolia/magnolia-core

protected void releaseSession(final Session session, boolean checkObservation) {
  final String workspaceName = session.getWorkspace().getName();
  if (session.isLive()) {
    try {
      final ObservationManager observationManager = session.getWorkspace().getObservationManager();
      final EventListenerIterator listeners = observationManager.getRegisteredEventListeners();
      if (!checkObservation || !listeners.hasNext()) {
        session.logout();
        log.debug("logged out jcr session: {} by thread {}", session, Thread.currentThread().getName());
      } else {
        log.warn("won't close session because of registered observation listener {}", workspaceName);
        if (log.isDebugEnabled()) {
          while (listeners.hasNext()) {
            EventListener listener = listeners.nextEventListener();
            log.debug("registered listener {}", listener);
          }
        }
      }
    } catch (RepositoryException e) {
      log.error("can't check if event listeners are registered", e);
    }
  } else {
    log.warn("session has been already closed {}", workspaceName);
  }
}

代码示例来源:origin: org.apache.jackrabbit/jackrabbit-core

/**
 * Utility method that removes all registered event listeners.
 */
private void removeRegisteredEventListeners() {
  try {
    ObservationManager manager = getWorkspace().getObservationManager();
    // Use a copy to avoid modifying the set of registered listeners
    // while iterating over it
    Collection<EventListener> listeners =
      IteratorUtils.toList(manager.getRegisteredEventListeners());
    for (EventListener listener : listeners) {
      try {
        manager.removeEventListener(listener);
      } catch (RepositoryException e) {
        log.warn("Error removing event listener: " + listener, e);
      }
    }
  } catch (RepositoryException e) {
    log.warn("Error removing event listeners", e);
  }
}

代码示例来源:origin: apache/jackrabbit

/**
 * Utility method that removes all registered event listeners.
 */
private void removeRegisteredEventListeners() {
  try {
    ObservationManager manager = getWorkspace().getObservationManager();
    // Use a copy to avoid modifying the set of registered listeners
    // while iterating over it
    Collection<EventListener> listeners =
      IteratorUtils.toList(manager.getRegisteredEventListeners());
    for (EventListener listener : listeners) {
      try {
        manager.removeEventListener(listener);
      } catch (RepositoryException e) {
        log.warn("Error removing event listener: " + listener, e);
      }
    }
  } catch (RepositoryException e) {
    log.warn("Error removing event listeners", e);
  }
}

代码示例来源:origin: apache/jackrabbit

public void testGetSize() throws RepositoryException {
  EventListener[] listeners = toArray(obsMgr.getRegisteredEventListeners());
  assertEquals("A new session must not have any event listeners registered.", 0, listeners.length);
  EventListener listener1 = new EventResult(log);
  EventListener listener2 = new EventResult(log);
  addEventListener(listener1);
  addEventListener(listener2);
  listeners = toArray(obsMgr.getRegisteredEventListeners());
  assertEquals("Wrong number of event listeners.", 2, listeners.length);
}

代码示例来源:origin: apache/jackrabbit

/**
 * Tests if {@link javax.jcr.observation.ObservationManager#getRegisteredEventListeners()}
 * returns the correct listeners after an remove event listener.
 */
public void testRemoveEventListener() throws RepositoryException {
  EventListener listener1 = new EventResult(log);
  EventListener listener2 = new EventResult(log);
  addEventListener(listener1);
  addEventListener(listener2);
  EventListener[] listeners = toArray(obsMgr.getRegisteredEventListeners());
  assertEquals("Wrong number of event listeners.", 2, listeners.length);
  removeEventListener(listener1);
  listeners = toArray(obsMgr.getRegisteredEventListeners());
  assertEquals("Wrong number of event listeners.", 1, listeners.length);
  assertEquals("Returned listener is not equal to regsitered one.", listener2, listeners[0]);
}

代码示例来源:origin: info.magnolia/magnolia-core

@Test
public void listenerCanBeRegisteredAndUnregistered() throws Exception {
  // GIVEN
  // WHEN
  WorkspaceEventListenerRegistration.Handle handle = WorkspaceEventListenerRegistration.observe(RepositoryConstants.WEBSITE, "/foo", listener).register();
  // THEN
  assertThat(1, is(IteratorUtils.toList(observationManager.getRegisteredEventListeners()).size()));
  // WHEN
  handle.unregister();
  // THEN
  assertThat(0, is(IteratorUtils.toList(observationManager.getRegisteredEventListeners()).size()));
}

代码示例来源:origin: net.sourceforge.openutils/openutils-mgnltests

final EventListenerIterator listeners = observationManager.getRegisteredEventListeners();
while (listeners.hasNext())

代码示例来源:origin: ModeShape/modeshape

/**
 * @see GetRegisteredEventListenersTest#testGetSize()
 * @throws Exception
 */
@Test
public void shouldTestGetRegisteredEventListenersTest_testGetSize() throws Exception {
  assertThat("A new session must not have any event listeners registered.",
        getObservationManager().getRegisteredEventListeners().getSize(),
        is(0L));
  // register listener
  SimpleListener listener = addListener(0, ALL_EVENTS, null, false, null, null, false);
  addListener(0, ALL_EVENTS, null, false, null, null, false);
  assertThat("Wrong number of event listeners.", getObservationManager().getRegisteredEventListeners().getSize(), is(2L));
  // make sure same listener isn't added again
  getObservationManager().addEventListener(listener, ALL_EVENTS, null, false, null, null, false);
  assertThat("The same listener should not be added more than once.", getObservationManager().getRegisteredEventListeners()
                                                .getSize(), is(2L));
}

代码示例来源:origin: ModeShape/modeshape

/**
 * @see GetRegisteredEventListenersTest#testRemoveEventListener()
 * @throws Exception
 */
@Test
public void shouldTestGetRegisteredEventListenersTest_testRemoveEventListener() throws Exception {
  SimpleListener listener1 = addListener(0, ALL_EVENTS, null, false, null, null, false);
  EventListener listener2 = addListener(0, ALL_EVENTS, null, false, null, null, false);
  assertThat("Wrong number of event listeners.", getObservationManager().getRegisteredEventListeners().getSize(), is(2L));
  // now remove
  removeListener(listener1);
  assertThat("Wrong number of event listeners after removing a listener.",
        getObservationManager().getRegisteredEventListeners().getSize(),
        is(1L));
  assertThat("Wrong number of event listeners after removing a listener.",
        getObservationManager().getRegisteredEventListeners().nextEventListener(),
        is(listener2));
}

代码示例来源:origin: info.magnolia.core/magnolia-resource-loader

@Override
@After
public void tearDown() throws Exception {
  ObservationManager observationManager = session.getWorkspace().getObservationManager();
  EventListenerIterator eventListeners = observationManager.getRegisteredEventListeners();
  while (eventListeners.hasNext()) {
    observationManager.removeEventListener(eventListeners.nextEventListener());
  }
  super.tearDown();
}

代码示例来源:origin: ModeShape/modeshape

@Override
public void afterEach() throws Exception {
  for (EventListenerIterator it = observationManager.getRegisteredEventListeners(); it.hasNext();) {
    observationManager.removeEventListener(it.nextEventListener());
  }
  super.afterEach();
  cleanupData();
}

代码示例来源:origin: apache/jackrabbit-oak

@Test
public void observationDisposeFromListener()
    throws RepositoryException, InterruptedException, ExecutionException, TimeoutException {
  final ExpectationListener listener = new ExpectationListener();
  Expectation unregistered = listener.expect(new Expectation
      ("Unregistering listener from event handler should not block") {
    @Override
    public boolean onEvent(Event event) throws Exception {
      observationManager.removeEventListener(listener);
      return true;
    }
  });
  observationManager.addEventListener(listener, ALL_EVENTS, "/", true, null, null, false);
  // Ensure the listener is there
  assertTrue(observationManager.getRegisteredEventListeners().hasNext());
  // Generate events
  Node n = getNode(TEST_PATH);
  n.addNode("c");
  n.getSession().save();
  // Make sure we see the events and the listener is gone
  assertNotNull(unregistered.get(TIME_OUT, TimeUnit.SECONDS));
  assertFalse(observationManager.getRegisteredEventListeners().hasNext());
}

相关文章