java类javax.management.ListenerNotFoundException的实例源码

JmxMBeanServer.java 文件源码 项目:jdk8u-jdk 阅读 19 收藏 0 点赞 0 评论 0
public void removeNotificationListener(ObjectName name,
                                       ObjectName listener,
                                       NotificationFilter filter,
                                       Object handback)
        throws InstanceNotFoundException, ListenerNotFoundException {

    mbsInterceptor.removeNotificationListener(cloneObjectName(name),
                                              listener, filter, handback);
}
NotificationEmitterSupport.java 文件源码 项目:OpenJSharp 阅读 26 收藏 0 点赞 0 评论 0
public void removeNotificationListener(NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
        throws ListenerNotFoundException {

    boolean found = false;

    synchronized (listenerLock) {
        List<ListenerInfo> newList = new ArrayList<>(listenerList);
        final int size = newList.size();
        for (int i = 0; i < size; i++) {
            ListenerInfo li =  newList.get(i);

            if (li.listener == listener) {
                found = true;
                if (li.filter == filter
                    && li.handback == handback) {
                    newList.remove(i);
                    listenerList = newList;
                    return;
                }
            }
        }
    }

    if (found) {
        /* We found this listener, but not with the given filter
         * and handback.  A more informative exception message may
         * make debugging easier.  */
        throw new ListenerNotFoundException("Listener not registered " +
                                            "with this filter and " +
                                            "handback");
    } else {
        throw new ListenerNotFoundException("Listener not registered");
    }
}
JVM_MANAGEMENT_MIB_IMPL.java 文件源码 项目:OpenJSharp 阅读 22 收藏 0 点赞 0 评论 0
/**
 * Remove notification listener.
 */
public void terminate() {
    try {
        emitter.removeNotificationListener(handler);
    }catch(ListenerNotFoundException e) {
        log.error("terminate", "Listener Not found : " + e);
    }
}
DefaultMBeanServerInterceptor.java 文件源码 项目:OpenJSharp 阅读 24 收藏 0 点赞 0 评论 0
public void removeNotificationListener(ObjectName name,
                                       NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
        throws InstanceNotFoundException, ListenerNotFoundException {
    removeNotificationListener(name, listener, filter, handback, false);
}
JmxMBeanServer.java 文件源码 项目:OpenJSharp 阅读 17 收藏 0 点赞 0 评论 0
public void removeNotificationListener(ObjectName name,
                                       NotificationListener listener)
        throws InstanceNotFoundException, ListenerNotFoundException {

    mbsInterceptor.removeNotificationListener(cloneObjectName(name),
                                              listener);
}
NotificationEmitterSupport.java 文件源码 项目:jdk8u-jdk 阅读 24 收藏 0 点赞 0 评论 0
public void removeNotificationListener(NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
        throws ListenerNotFoundException {

    boolean found = false;

    synchronized (listenerLock) {
        List<ListenerInfo> newList = new ArrayList<>(listenerList);
        final int size = newList.size();
        for (int i = 0; i < size; i++) {
            ListenerInfo li =  newList.get(i);

            if (li.listener == listener) {
                found = true;
                if (li.filter == filter
                    && li.handback == handback) {
                    newList.remove(i);
                    listenerList = newList;
                    return;
                }
            }
        }
    }

    if (found) {
        /* We found this listener, but not with the given filter
         * and handback.  A more informative exception message may
         * make debugging easier.  */
        throw new ListenerNotFoundException("Listener not registered " +
                                            "with this filter and " +
                                            "handback");
    } else {
        throw new ListenerNotFoundException("Listener not registered");
    }
}
MBeanServerAccessController.java 文件源码 项目:openjdk-jdk10 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Call <code>checkRead()</code>, then forward this method to the
 * wrapped object.
 */
public void removeNotificationListener(ObjectName name,
                                       NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
    throws InstanceNotFoundException, ListenerNotFoundException {
    checkRead();
    getMBeanServer().removeNotificationListener(name, listener,
                                                filter, handback);
}
RMIConnector.java 文件源码 项目:openjdk-jdk10 阅读 22 收藏 0 点赞 0 评论 0
public void
        removeConnectionNotificationListener(NotificationListener listener,
        NotificationFilter filter,
        Object handback)
        throws ListenerNotFoundException {
    if (listener == null)
        throw new NullPointerException("listener");
    connectionBroadcaster.removeNotificationListener(listener, filter,
            handback);
}
RMIConnector.java 文件源码 项目:jdk8u-jdk 阅读 24 收藏 0 点赞 0 评论 0
public void removeNotificationListener(ObjectName name,
        NotificationListener listener)
        throws InstanceNotFoundException,
        ListenerNotFoundException,
        IOException {

    final boolean debug = logger.debugOn();

    if (debug) logger.debug("removeNotificationListener"+
            "(ObjectName,NotificationListener)",
            "name=" + name
            + ", listener=" + listener);

    final Integer[] ret =
            rmiNotifClient.removeNotificationListener(name, listener);

    if (debug) logger.debug("removeNotificationListener",
            "listenerIDs=" + objects(ret));

    final ClassLoader old = pushDefaultClassLoader();

    try {
        connection.removeNotificationListeners(name,
                ret,
                delegationSubject);
    } catch (IOException ioe) {
        communicatorAdmin.gotIOException(ioe);

        connection.removeNotificationListeners(name,
                ret,
                delegationSubject);
    } finally {
        popDefaultClassLoader(old);
    }

}
ClientNotifForwarder.java 文件源码 项目:OpenJSharp 阅读 22 收藏 0 点赞 0 评论 0
public synchronized Integer
    removeNotificationListener(ObjectName name,
                               NotificationListener listener,
                               NotificationFilter filter,
                               Object handback)
        throws ListenerNotFoundException, IOException {

    if (logger.traceOn()) {
        logger.trace("removeNotificationListener",
                     "Remove the listener "+listener+" from "+name);
    }

    beforeRemove();

    Integer id = null;

    List<ClientListenerInfo> values =
            new ArrayList<ClientListenerInfo>(infoList.values());
    for (int i=values.size()-1; i>=0; i--) {
        ClientListenerInfo li = values.get(i);
        if (li.sameAs(name, listener, filter, handback)) {
            id=li.getListenerID();

            infoList.remove(id);

            break;
        }
    }

    if (id == null)
        throw new ListenerNotFoundException("Listener not found");

    return id;
}


问题


面经


文章

微信
公众号

扫码关注公众号