本文整理了Java中javax.jcr.observation.ObservationManager.getRegisteredEventListeners()
方法的一些代码示例,展示了ObservationManager.getRegisteredEventListeners()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObservationManager.getRegisteredEventListeners()
方法的具体详情如下:
包路径:javax.jcr.observation.ObservationManager
类名称: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());
}
内容来源于网络,如有侵权,请联系作者删除!