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 2011/05/10 10:59:42 UTC
svn commit: r1101369 - in /tuscany/sca-java-2.x/trunk/modules:
core-spi/src/main/java/org/apache/tuscany/sca/runtime/
core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/
deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/ domain-...
Author: antelder
Date: Tue May 10 08:59:41 2011
New Revision: 1101369
URL: http://svn.apache.org/viewvc?rev=1101369&view=rev
Log:
Update the registry to support getting the QName and Composite, and use that in teh hazelcast registry to manage the running composites
Modified:
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
Modified: tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java?rev=1101369&r1=1101368&r2=1101369&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java Tue May 10 08:59:41 2011
@@ -82,5 +82,6 @@ public interface EndpointRegistry {
void addRunningComposite(Composite composite);
void removeRunningComposite(QName name);
- List<Composite> getRunningComposites();
+ Composite getRunningComposite(QName name);
+ List<QName> getRunningCompositeNames();
}
Modified: tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java?rev=1101369&r1=1101368&r2=1101369&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java Tue May 10 08:59:41 2011
@@ -172,8 +172,17 @@ public class EndpointRegistryImpl extend
}
@Override
- public List<Composite> getRunningComposites() {
- return new ArrayList<Composite>(runningComposites.values());
+ public Composite getRunningComposite(QName name) {
+ return runningComposites.get(name);
+ }
+
+ @Override
+ public List<QName> getRunningCompositeNames() {
+ List<QName> compositeNames = new ArrayList<QName>();
+ for (Composite composite : runningComposites.values()) {
+ compositeNames.add(composite.getName());
+ }
+ return compositeNames;
}
}
Modified: tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java?rev=1101369&r1=1101368&r2=1101369&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java Tue May 10 08:59:41 2011
@@ -846,7 +846,12 @@ public class DeployerImpl implements Dep
}
@Override
- public List<Composite> getRunningComposites() {
+ public Composite getRunningComposite(QName name) {
+ return null;
+ }
+
+ @Override
+ public List<QName> getRunningCompositeNames() {
return null;
}
Modified: tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java?rev=1101369&r1=1101368&r2=1101369&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java Tue May 10 08:59:41 2011
@@ -25,7 +25,6 @@ import java.io.StringReader;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -82,12 +81,16 @@ public class HazelcastEndpointRegistry e
private final static Logger logger = Logger.getLogger(HazelcastEndpointRegistry.class.getName());
private HazelcastInstance hazelcastInstance;
+
protected Map<Object, Object> endpointMap;
- protected Map<Object, Object> endpointWsdls;
- protected Map<QName, Composite> runningComposites;
- protected Map<String, Endpoint> localEndpoints = new ConcurrentHashMap<String, Endpoint>();
protected MultiMap<String, String> endpointOwners;
+ protected Map<QName, String> runningComposites;
+ protected MultiMap<String, QName> runningCompositeOwners;
+
+ protected Map<Object, Object> endpointWsdls;
+ protected Map<String, Endpoint> localEndpoints = new ConcurrentHashMap<String, Endpoint>();
+
protected AssemblyFactory assemblyFactory;
protected Object shutdownMutex = new Object();
protected Properties properties;
@@ -126,9 +129,8 @@ public class HazelcastEndpointRegistry e
endpointOwners = hazelcastInstance.getMultiMap(domainURI + "/EndpointOwners");
endpointWsdls = hazelcastInstance.getMap(domainURI + "/EndpointWsdls");
- // TODO: get going in-JVM first then fix this which needs to serialize/deserialize the composite
- // runningComposites = hazelcastInstance.getMap(domainURI + "/composites");
- runningComposites = new HashMap<QName, Composite>();
+ runningComposites = hazelcastInstance.getMap(domainURI + "/CompositeOwners");
+ runningCompositeOwners = hazelcastInstance.getMultiMap(domainURI + "/CompositeOwners");
hazelcastInstance.getCluster().addMembershipListener(this);
// }
@@ -142,6 +144,8 @@ public class HazelcastEndpointRegistry e
endpointMap = null;
endpointOwners = null;
endpointWsdls = null;
+ runningComposites = null;
+ runningCompositeOwners = null;
}
}
}
@@ -434,6 +438,12 @@ public class HazelcastEndpointRegistry e
endpointWsdls.remove(k);
}
}
+ if (runningCompositeOwners.containsKey(memberAddr)) {
+ Collection<QName> keys = runningCompositeOwners.remove(memberAddr);
+ for (QName k : keys) {
+ runningComposites.remove(k);
+ }
+ }
} finally {
lock.unlock();
}
@@ -465,18 +475,46 @@ public class HazelcastEndpointRegistry e
}
return null;
}
+
@Override
public void addRunningComposite(Composite composite) {
- runningComposites.put(composite.getName(), composite);
+ String localMemberAddr = hazelcastInstance.getCluster().getLocalMember().getInetSocketAddress().toString();
+ String compositeXML = ""; // TODO: serialize composite
+ Transaction txn = hazelcastInstance.getTransaction();
+ txn.begin();
+ try {
+ runningComposites.put(composite.getName(), compositeXML);
+ runningCompositeOwners.put(localMemberAddr, composite.getName());
+ txn.commit();
+ } catch (Throwable e) {
+ txn.rollback();
+ throw new ServiceRuntimeException(e);
+ }
}
@Override
public void removeRunningComposite(QName name) {
- runningComposites.remove(name);
+ String localMemberAddr = hazelcastInstance.getCluster().getLocalMember().getInetSocketAddress().toString();
+ Transaction txn = hazelcastInstance.getTransaction();
+ txn.begin();
+ try {
+ runningComposites.remove(name);
+ runningCompositeOwners.remove(localMemberAddr, name);
+ txn.commit();
+ } catch (Throwable e) {
+ txn.rollback();
+ throw new ServiceRuntimeException(e);
+ }
+ }
+
+ @Override
+ public Composite getRunningComposite(QName name) {
+ String compositeXML = runningComposites.get(name);
+ return null; // TODO: unserialize composite xml
}
@Override
- public List<Composite> getRunningComposites() {
- return new ArrayList<Composite>(runningComposites.values());
+ public List<QName> getRunningCompositeNames() {
+ return new ArrayList<QName>(runningCompositeOwners.values());
}
}
Modified: tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java?rev=1101369&r1=1101368&r2=1101369&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java Tue May 10 08:59:41 2011
@@ -222,8 +222,8 @@ public class NodeImpl implements Node {
domainComposite.setAutowire(false);
domainComposite.setLocal(false);
List<Composite> domainIncludes = domainComposite.getIncludes();
- for (Composite composite : endpointRegistry.getRunningComposites()) {
- domainIncludes.add(composite);
+ for (QName compositeName : endpointRegistry.getRunningCompositeNames()) {
+ domainIncludes.add(endpointRegistry.getRunningComposite(compositeName));
}
return domainComposite;
}
Modified: tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java?rev=1101369&r1=1101368&r2=1101369&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java Tue May 10 08:59:41 2011
@@ -433,7 +433,13 @@ public class ReplicatedEndpointRegistry
}
@Override
- public List<Composite> getRunningComposites() {
+ public Composite getRunningComposite(QName name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public List<QName> getRunningCompositeNames() {
// TODO Auto-generated method stub
return null;
}