OPENEJB-1018: Support for exposing a single interface as @WebService, @Remote, and @Local
Another step in the right direction. Split the internal openejb/ejb/ tree into two trees: openejb/local and openejb/remote. One is for the LocalInitialContextFactory and the other is for the RemoteInitialContextFactory. The business local and local home interfaces are not bound into the openejb/remote tree. The result is that if someone uses the same interface as the remote and local business interface the LocalInitialContextFactory will always give you the local view and the RemoteInitalContextFactory will always give you the remote view.
OPENEJB-1018: Support for exposing a single interface as @WebService, @Remote, and @Local
Added InterfaceType to the RpcContainer.invoke method and cascaded that change downward.
The old RpcContainer.invoke method signature will still work fine in situations where the interface is not doubled as both @Remote and @WebService (or any other combination).
David Blevins added a comment - 22/Apr/09 02:11 AM This is now supported:
@Local
@Remote
@WebService
public interface Everything {
public Object echo(Object o);
}
public class SuperBean implements Everything {
public Object echo(Object o) {
return o;
}
}
Sending assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatJndiBuilder.java
Sending assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/EjbFactory.java
Sending container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbReferenceInfo.java
Sending container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
Sending container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
Sending container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyEjbReference.java
Sending container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Sending container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationPrinter.java
Sending container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
Sending container/openejb-core/src/test/java/org/apache/openejb/config/InheritenceTest.java
Adding container/openejb-core/src/test/java/org/apache/openejb/config/MappedNameTest.java
Adding container/openejb-core/src/test/java/org/apache/openejb/config/UberInterfaceTest.java
Sending container/openejb-spring/src/main/java/org/apache/openejb/spring/EJB.java
Sending server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/DeploymentListBean.java
Transmitting file data ..............
Committed revision 765456.