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 ) {