Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2007-2014 Sonatype, Inc. All rights reserved.
  *
  * This program is licensed to you under the Apache License Version 2.0,
  * and you may not use this file except in compliance with the Apache License Version 2.0.
  * You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the Apache License Version 2.0 is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
 */
package com.google.common.eventbus;
Adds support to capture/report handler exception failures and re-throw them.

Since:
1.10
    extends EventBus
  protected final Logger log;
  public ThrowingGuavaEventBus() {
    this. = Loggers.getLogger(getClass());
  }
  public ThrowingGuavaEventBus(final String identifier) {
    super(identifier);
    this. = Loggers.getLogger(getClass() + "." + identifier);
  }
  void dispatch(final Object eventfinal EventSubscriber wrapper) {
    try {
      wrapper.handleEvent(event);
    }
    catch (InvocationTargetException e) {
      handleDispatchFailure(eventwrappere);
    }
  }
  protected void handleDispatchFailure(final Object eventfinal EventSubscriber wrapper,
                                       final InvocationTargetException cause)
  {
    .warn("Dispatch of event={} to handler={} failed"eventwrappercause);
    throw Throwables.propagate(cause.getTargetException());
  }
  public String toString() {
    return "Throwing Guava EventBus";
  }
New to GrepCode? Check out our FAQ X