/** * Adds local event listener. * * @param lsnr Listener to add. * @param type Event type to subscribe listener for. * @param types Additional event types to subscribe listener for. */ public void addLocalEventListener(GridLocalEventListener lsnr, int type, @Nullable int... types) { assert lsnr != null; if (!enterBusy()) return; try { getOrCreate(type).add(lsnr); if (!isRecordable(type)) U.warn(log, "Added listener for disabled event type: " + U.gridEventName(type)); if (types != null) { for (int t : types) { getOrCreate(t).add(lsnr); if (!isRecordable(t)) U.warn(log, "Added listener for disabled event type: " + U.gridEventName(t)); if (t == GridEventType.EVT_NODE_RECONNECTED) U.warn(log, "Added local listener for deprecated EVT_NODE_RECONNECT event " + "(local listener will never get called)."); } } } finally { leaveBusy(); } }
/** * Adds local event listener. Note that this method specifically disallow an empty * array of event type to prevent accidental subscription for all system event that * may lead to a drastic performance decrease. * * @param lsnr Listener to add. * @param types Event types to subscribe listener for. */ public void addLocalEventListener(GridLocalEventListener lsnr, int[] types) { assert lsnr != null; assert types != null; assert types.length > 0; if (!enterBusy()) return; try { for (int t : types) { getOrCreate(t).add(lsnr); if (!isRecordable(t)) U.warn(log, "Added listener for disabled event type: " + U.gridEventName(t)); if (t == GridEventType.EVT_NODE_RECONNECTED) U.warn(log, "Added local listener for deprecated EVT_NODE_RECONNECT event " + "(local listener will never get called)."); } } finally { leaveBusy(); } }