You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by sj...@apache.org on 2015/01/12 18:21:44 UTC
[05/10] incubator-brooklyn git commit: Synchronise on non-null field
in CumulusRDFApplication
Synchronise on non-null field in CumulusRDFApplication
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6e339dec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6e339dec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6e339dec
Branch: refs/heads/master
Commit: 6e339dec2fabee6140c4f3900b4415d281b3a0dc
Parents: 3b403fd
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Thu Jan 8 12:20:03 2015 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Jan 9 13:56:40 2015 +0000
----------------------------------------------------------------------
.../src/main/java/brooklyn/demo/CumulusRDFApplication.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6e339dec/examples/simple-nosql-cluster/src/main/java/brooklyn/demo/CumulusRDFApplication.java
----------------------------------------------------------------------
diff --git a/examples/simple-nosql-cluster/src/main/java/brooklyn/demo/CumulusRDFApplication.java b/examples/simple-nosql-cluster/src/main/java/brooklyn/demo/CumulusRDFApplication.java
index 6e11e21..3379bd4 100644
--- a/examples/simple-nosql-cluster/src/main/java/brooklyn/demo/CumulusRDFApplication.java
+++ b/examples/simple-nosql-cluster/src/main/java/brooklyn/demo/CumulusRDFApplication.java
@@ -109,6 +109,7 @@ public class CumulusRDFApplication extends AbstractApplication {
private Entity cassandra;
private TomcatServer webapp;
private HostAndPort endpoint;
+ private final Object endpointMutex = new Object();
/**
* Create the application entities:
@@ -160,9 +161,11 @@ public class CumulusRDFApplication extends AbstractApplication {
public Void call(ConfigBag parameters) {
// Process the YAML template given in the application config
String url = Entities.getRequiredUrlConfig(CumulusRDFApplication.this, CUMULUS_RDF_CONFIG_URL);
- Map<String, Object> config = MutableMap.<String, Object>of("cassandraHostname", endpoint.getHostText(), "cassandraThriftPort", endpoint.getPort());
+ Map<String, Object> config;
+ synchronized (endpointMutex) {
+ config = MutableMap.<String, Object>of("cassandraHostname", endpoint.getHostText(), "cassandraThriftPort", endpoint.getPort());
+ }
String contents = TemplateProcessor.processTemplateContents(ResourceUtils.create(CumulusRDFApplication.this).getResourceAsString(url), config);
-
// Copy the file contents to the remote machine
return DynamicTasks.queue(SshEffectorTasks.put("/tmp/cumulus.yaml").contents(contents)).get();
}
@@ -173,7 +176,7 @@ public class CumulusRDFApplication extends AbstractApplication {
@Override
public void onEvent(SensorEvent<String> event) {
if (Strings.isNonBlank(event.getValue())) {
- synchronized (endpoint) {
+ synchronized (endpointMutex) {
String hostname = Entities.submit(CumulusRDFApplication.this, DependentConfiguration.attributeWhenReady(cassandra, CassandraDatacenter.HOSTNAME)).getUnchecked();
Integer thriftPort = Entities.submit(CumulusRDFApplication.this, DependentConfiguration.attributeWhenReady(cassandra, CassandraDatacenter.THRIFT_PORT)).getUnchecked();
HostAndPort current = HostAndPort.fromParts(hostname, thriftPort);