summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk')
-rw-r--r--sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java3
-rw-r--r--sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java13
-rw-r--r--sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java7
-rw-r--r--sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java60
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java4
-rw-r--r--sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java8
6 files changed, 77 insertions, 18 deletions
diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
index a2ceeda5a7..4965b7c15a 100644
--- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
+++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
@@ -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();
}
diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
index 1f03395040..6badcd74ef 100644
--- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
+++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
@@ -172,8 +172,17 @@ public class EndpointRegistryImpl extends BaseEndpointRegistry implements Endpoi
}
@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;
}
}
diff --git a/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java b/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
index 1781e75d45..ed903134a7 100644
--- a/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
+++ b/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
@@ -846,7 +846,12 @@ public class DeployerImpl implements Deployer {
}
@Override
- public List<Composite> getRunningComposites() {
+ public Composite getRunningComposite(QName name) {
+ return null;
+ }
+
+ @Override
+ public List<QName> getRunningCompositeNames() {
return null;
}
diff --git a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
index aa9abdf45f..7e22ceab2c 100644
--- a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
+++ b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
@@ -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 extends BaseEndpointRegistry implements 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 extends BaseEndpointRegistry implements 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 extends BaseEndpointRegistry implements E
endpointMap = null;
endpointOwners = null;
endpointWsdls = null;
+ runningComposites = null;
+ runningCompositeOwners = null;
}
}
}
@@ -434,6 +438,12 @@ public class HazelcastEndpointRegistry extends BaseEndpointRegistry implements 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 extends BaseEndpointRegistry implements 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());
}
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
index c49f2f68fd..c7a8a6087e 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
@@ -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;
}
diff --git a/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java b/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
index 035418545f..d5e99132f1 100644
--- a/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
+++ b/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
@@ -433,7 +433,13 @@ public class ReplicatedEndpointRegistry extends BaseEndpointRegistry implements
}
@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;
}