You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/01/29 13:00:30 UTC
svn commit: r904475 - in
/tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi:
SCAClientFactoryImpl.java SCAClientProxyHandler.java
Author: antelder
Date: Fri Jan 29 12:00:28 2010
New Revision: 904475
URL: http://svn.apache.org/viewvc?rev=904475&view=rev
Log:
Update after registry factory refactor so it doesn't create two client connections on a service invocation
Modified:
tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java
tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java
Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java?rev=904475&r1=904474&r2=904475&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java Fri Jan 29 12:00:28 2010
@@ -102,7 +102,7 @@
if (uri.startsWith("tuscany:")) {
uri = uri.replace("tuscany:", "tuscanyclient://");
}
- InvocationHandler handler = new SCAClientProxyHandler(nodeFactory, uri, serviceName);
+ InvocationHandler handler = new SCAClientProxyHandler(nodeFactory, uri, getDomainName(), serviceName);
return (T)Proxy.newProxyInstance(serviceInterface.getClassLoader(), new Class[] {serviceInterface}, handler);
}
Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java?rev=904475&r1=904474&r2=904475&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java Fri Jan 29 12:00:28 2010
@@ -37,8 +37,8 @@
import org.apache.tuscany.sca.node.NodeFactory;
import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
+import org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
import org.oasisopen.sca.NoSuchServiceException;
public class SCAClientProxyHandler implements InvocationHandler {
@@ -47,12 +47,14 @@
protected ExtensionPointRegistry extensionsRegistry;
protected EndpointRegistry endpointRegistry;
protected EndpointReference endpointReference;
+ protected String registryURI;
+ protected String domainURI;
protected String serviceName;
protected RMIHost rmiHost;
- private String domainURI;
- public SCAClientProxyHandler(NodeFactoryImpl nodeFactory, String domainURI, String serviceName) {
+ public SCAClientProxyHandler(NodeFactoryImpl nodeFactory, String registryURI, String domainURI, String serviceName) {
this.nodeFactory = nodeFactory;
+ this.registryURI = registryURI;
this.domainURI = domainURI;
this.serviceName = serviceName;
}
@@ -62,7 +64,7 @@
try {
nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance();
- node = nodeFactory.createNode(URI.create(domainURI)).start();
+ node = nodeFactory.createNode(URI.create(registryURI)).start();
this.extensionsRegistry = nodeFactory.getExtensionPoints();
RMIHostExtensionPoint rmiHosts = extensionsRegistry.getExtensionPoint(RMIHostExtensionPoint.class);
this.rmiHost = new ExtensibleRMIHost(rmiHosts);
@@ -75,8 +77,14 @@
Endpoint targetEndpoint = assemblyFactory.createEndpoint();
targetEndpoint.setURI(serviceName);
endpointReference.setTargetEndpoint(targetEndpoint);
- DomainRegistryFactory domainRegistryFactory = new ExtensibleDomainRegistry(extensionsRegistry);
- this.endpointRegistry = domainRegistryFactory.getEndpointRegistry(null, domainURI);
+ DomainRegistryFactoryExtensionPoint factoriesx = extensionsRegistry.getExtensionPoint(DomainRegistryFactoryExtensionPoint.class);
+ for (DomainRegistryFactory factory : factoriesx.getDomainRegistryFactories()) {
+ for (EndpointRegistry endpointRegistry : factory.getEndpointRegistries()) {
+ if (endpointRegistry.getDomainName().equals(domainURI)) {
+ this.endpointRegistry = endpointRegistry;
+ }
+ }
+ }
List<Endpoint> endpoints = endpointRegistry.findEndpoint(endpointReference);
if (endpoints.size() <1 ) {