Example usage for com.google.common.eventbus EventBus unregister

List of usage examples for com.google.common.eventbus EventBus unregister

Introduction

In this page you can find the example usage for com.google.common.eventbus EventBus unregister.

Prototype

public void unregister(Object object) 

Source Link

Document

Unregisters all subscriber methods on a registered object .

Usage

From source file:de.kaiserpfalzEdv.commons.jee.eventbus.SimpleEventBusHandler.java

public static void unregister(EventBus bus, Object handler) {
    if (bus == null || handler == null) {
        log.warn("Tried to unregister handler '{}' from bus '{}'! That's not working!", handler, bus);
        return;//  w  ww .  j  a  va2  s  .  com
    }

    try {
        log.debug("Unregistering '{}' from event bus '{}' ...", handler, bus);
        bus.unregister(handler);
    } catch (IllegalArgumentException e) {
        log.error("Can't unregister handler '" + handler + "' from event bus '" + bus
                + "': it has not been registered there.");
    }
}

From source file:org.jenkinsci.plugins.pubsub.GuavaPubsubBus.java

@Override
public void unsubscribe(@Nonnull String channelName, @Nonnull ChannelSubscriber subscriber) {
    GuavaSubscriber guavaSubscriber = subscribers.remove(subscriber);
    if (guavaSubscriber != null) {
        EventBus channelBus = getChannelBus(channelName);
        channelBus.register(guavaSubscriber);
        channelBus.unregister(guavaSubscriber);
    }//from w w  w  .ja  va 2 s.co m
}

From source file:convcao.com.agent.test.AcousticReplay.java

/**
 * Just for testing purposes. This method will start broadcasting all messages in the log according to time
 * separations./*from  w  w  w  . j  ava2s .c o m*/
 * 
 * @param timeMultiplier If 1.0 is used, the separation between messages will be approximately the same as
 *            real-time. If this value is higher, the replay will be done faster in the same proportion.
 */
public static void replay(LsfIndex index, Object listener) {

    EventBus bus = new EventBus();
    bus.register(listener);
    int numMessages = index.getNumberOfMessages();

    int generatorSrcId = index.getMessage(0).getHeader().getInteger("src");

    long localStartTime = System.currentTimeMillis();
    long lastPrint = 0;

    TimeZone tz = TimeZone.getTimeZone("UTC");

    DateFormat dfGMT = DateFormat.getTimeInstance(DateFormat.DEFAULT);
    dfGMT.setTimeZone(tz);

    for (int i = 0; i < numMessages - 1; i++) {
        long curTime = ((long) (1000.0 * (index.timeOf(i) - index.getStartTime()))) + localStartTime;
        long sleep_millis = curTime - System.currentTimeMillis();
        IMCMessage m = index.getMessage(i);
        bus.post(m);
        //transport.sendMessage("127.0.0.1", 6002, m);
        int src = m.getHeader().getInteger("src");

        if (src == generatorSrcId && sleep_millis > 5 && index.timeOf(i + 1) > index.timeOf(i)) {
            try {
                Thread.sleep(sleep_millis);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        long time = 1000 * (long) index.timeOf(i);
        if (src == generatorSrcId && time > lastPrint) {
            System.out.println(dfGMT.format(new Date(time)));
            lastPrint = time;
        }
    }

    bus.unregister(listener);
}