> public interface Repository extends Component { > Repository getChildRepository( String childName ); > } > > Here is is if you want it to be compatible with RMI : > > public interface Repository extends Component, Remote{ > Repository getChildRepository( String childName ) throws > RemoteException; > } > > Are we going to add RemoteException to all methods that we might want to > transport?
Yes, if you are using RMI. What I'm saying is that the PublisherService will verify the name and the object to be published using specific rules. For example for: RMIPublisherService will verify if the object implements Serializable or Remote interface, if it implements Remote will also verify if the methods are throwing RemoteException-s. JMXPublisherService will verify if object implement a *MBean interface, verify if the name is an ObjectName, test if the method parameters and returned results are primitive types or wrappers for primitives types. SOAPPublisherService will verify if it can serialize method parameters and returned results. Of course, the publishing service can be smart and do things for you like: if you pass only a String as name (like DefaultSystemManager does now) will build the specific name object, or create proxies for the registered objects like Phoenix JMX and Glue will do. If specific rules are not fulfilled the PublisherService will throw exception like: ObjectNotCompliantException, NameNotCompliantException .... > > To give your question a serious answer, the API you propose as a general > one could delegate to AltRMI and Glue (only one impl of SOAP). Will not really delegate, but use them. Mircea -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>