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