CommandProxy

Last edit March 10, 2010
CommandProxy is a stateless session Enterprise Java Bean. It is used to run generic commands within an EJB container, but which are dispatched from a client. This can be useful, for instance, in performing unit tests. These are the relevant interfaces and classes:

public interface Command {
  public CommandReport run() throws CommandException;
}

public interface CommandProxy
  extends EJBObject, CommandProxyBusiness {
}

public interface CommandProxyBusiness {
  public CommandReport runCommand(Command command)
    throws CommandException, RemoteException;
}

public interface CommandReport extends Serializable {
  public Object getReportContents();
}

public class CommandException extends RemoteException {
  public CommandException(String message) {
    super(message);
  }
}


Haaa, EnterpriseJavaBeans in all their glory: 4 interfaces and 1 class to implement a basic pattern, half of them leaking things that are completely unrelated, such as RemoteException or Serializable. -- PhilippeDetournay