Skip to Main Content
Enterprise JavaBeans 3.1, 6th Edition
book

Enterprise JavaBeans 3.1, 6th Edition

by Andrew Lee Rubinger, Bill Burke
September 2010
Intermediate to advanced content levelIntermediate to advanced
766 pages
18h 35m
English
O'Reilly Media, Inc.
Content preview from Enterprise JavaBeans 3.1, 6th Edition

Exception Handling

Exception handling with interceptors is simple yet powerful. Since interceptors sit directly in the Java call stack of the bean method or callback that is being invoked, you can put a try/catch/finally block around the InvocationContext.proceed() method. You can abort an invocation before it reaches the actual bean method by throwing an exception within the @AroundInvoke or callback method. You are also allowed to catch a bean-method-thrown exception and throw a different exception or suppress the exception. With @AroundInvoke interception, you are even allowed to retry the bean method call after catching an exception from the bean method. Let’s look at some examples.

Aborting a Method Invocation

It’s conceivable that the management of our online television station would like to restrict access to a premium channel at their discretion. In this case, we might short-circuit an incoming request to instead return a descriptive Exception:

public class Channel2Restrictor
{
...
   /**
    * Examines the specified request to determine if the caller is attempting
    * to obtain content for Channel 2.  If so, and Channel 2 is currently closed,
    * will block the request, instead throwing {@link Channel2ClosedException}
    */
   @AroundInvoke
   public Object checkAccessibility(final InvocationContext context) throws Exception { // Precondition checks assert context != null : "Context was not specified"; // See if we're requesting Channel 2 if (isRequestForChannel2(context)) { // See if Channel ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Reinventing the Organization for GenAI and LLMs

Reinventing the Organization for GenAI and LLMs

Ethan Mollick
JavaServer Faces

JavaServer Faces

Hans Bergsten
EJB 3 Developer Guide

EJB 3 Developer Guide

Michael Sikora

Publisher Resources

ISBN: 9781449399139Errata Page