You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by gr...@apache.org on 2014/12/01 16:57:34 UTC
[1/7] incubator-brooklyn git commit: [BROOKLYN-92] Configure
brokerName for ActiveMQ
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master 5d1c6b3f0 -> 493c30771
[BROOKLYN-92] Configure brokerName for ActiveMQ
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/3c6ba532
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/3c6ba532
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/3c6ba532
Branch: refs/heads/master
Commit: 3c6ba532bc49bcbc76ccd147ec107d2e866e2c69
Parents: 0f50c58
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Wed Nov 26 00:10:40 2014 -0500
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Wed Nov 26 00:10:40 2014 -0500
----------------------------------------------------------------------
.../messaging/activemq/ActiveMQBroker.java | 5 ++++
.../messaging/activemq/ActiveMQBrokerImpl.java | 8 ++++--
.../activemq/ActiveMQDestinationImpl.java | 17 +++++++++++--
.../messaging/activemq/ActiveMQDriver.java | 2 ++
.../messaging/activemq/ActiveMQQueueImpl.java | 5 ++--
.../messaging/activemq/ActiveMQSshDriver.java | 5 ++++
.../entity/messaging/activemq/activemq.xml | 2 +-
.../activemq/ActiveMQIntegrationTest.java | 26 +++++++++++++++-----
8 files changed, 57 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
index 1ef9cb2..9eb7c11 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
@@ -56,6 +56,10 @@ public interface ActiveMQBroker extends SoftwareProcess, MessageBroker, UsesJmx,
public static final BasicConfigKey<String> MIRROR_URL = new BasicConfigKey<String>(String.class, "activemq.install.mirror.url", "URL of mirror",
"http://www.mirrorservice.org/sites/ftp.apache.org/activemq");
+ @SetFromFlag("brokerName")
+ public static final AttributeSensorAndConfigKey<String,String> BROKER_NAME = new BasicAttributeSensorAndConfigKey<String>(
+ String.class, "activemq.brokerName", "ActiveMQ Broker Name", "localhost");
+
@SetFromFlag("openWirePort")
public static final PortAttributeSensorAndConfigKey OPEN_WIRE_PORT = new PortAttributeSensorAndConfigKey("openwire.port", "OpenWire port", "61616+");
@@ -72,4 +76,5 @@ public interface ActiveMQBroker extends SoftwareProcess, MessageBroker, UsesJmx,
public static final BasicAttributeSensorAndConfigKey<String> TEMPLATE_CONFIGURATION_URL = new BasicAttributeSensorAndConfigKey<String>(
String.class, "activemq.templateConfigurationUrl", "Template file (in freemarker format) for the conf/activemq.xml file",
"classpath://brooklyn/entity/messaging/activemq/activemq.xml");
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBrokerImpl.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBrokerImpl.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBrokerImpl.java
index 08fb6d2..19fae9d 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBrokerImpl.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBrokerImpl.java
@@ -60,6 +60,10 @@ public class ActiveMQBrokerImpl extends JMSBrokerImpl<ActiveMQQueue, ActiveMQTop
return !isJmxEnabled() ? Integer.valueOf(-1) : getAttribute(UsesJmx.JMX_PORT);
}
+ public String getBrokerName() {
+ return getAttribute(BROKER_NAME);
+ }
+
public Integer getOpenWirePort() {
return getAttribute(OPEN_WIRE_PORT);
}
@@ -88,14 +92,14 @@ public class ActiveMQBrokerImpl extends JMSBrokerImpl<ActiveMQQueue, ActiveMQTop
protected void connectSensors() {
setAttribute(BROKER_URL, String.format("tcp://%s:%d", getAttribute(HOSTNAME), getAttribute(OPEN_WIRE_PORT)));
- String brokerMbeanName = "org.apache.activemq:brokerName=localhost,type=Broker";
+ String brokerMbeanName = "org.apache.activemq:type=Broker,brokerName=" + getBrokerName();
jmxFeed = JmxFeed.builder()
.entity(this)
.period(500, TimeUnit.MILLISECONDS)
.pollAttribute(new JmxAttributePollConfig<Boolean>(SERVICE_UP)
.objectName(brokerMbeanName)
- .attributeName("BrokerId")
+ .attributeName("BrokerName")
.onSuccess(Functions.forPredicate(Predicates.notNull()))
.onFailureOrException(Functions.constant(false)))
.build();
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
index d988268..e5afee5 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
@@ -21,6 +21,8 @@ package brooklyn.entity.messaging.activemq;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
+import com.google.common.base.Preconditions;
+
import brooklyn.entity.basic.EntityLocal;
import brooklyn.entity.messaging.jms.JMSDestinationImpl;
import brooklyn.event.feed.jmx.JmxFeed;
@@ -31,6 +33,7 @@ public abstract class ActiveMQDestinationImpl extends JMSDestinationImpl impleme
protected ObjectName brokerMBeanName;
protected transient JmxHelper jmxHelper;
protected volatile JmxFeed jmxFeed;
+ protected String brokerName;
public ActiveMQDestinationImpl() {
}
@@ -39,9 +42,11 @@ public abstract class ActiveMQDestinationImpl extends JMSDestinationImpl impleme
public void onManagementStarting() {
super.onManagementStarting();
- //assume just one BrokerName at this endpoint
+ getBrokerName();
+ Preconditions.checkNotNull(brokerName, "ActiveMQ broker name must be specified");
+
try {
- brokerMBeanName = new ObjectName("org.apache.activemq:brokerName=localhost,type=Broker");
+ brokerMBeanName = new ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName);
jmxHelper = new JmxHelper((EntityLocal) getParent());
} catch (MalformedObjectNameException e) {
throw Exceptions.propagate(e);
@@ -52,4 +57,12 @@ public abstract class ActiveMQDestinationImpl extends JMSDestinationImpl impleme
protected void disconnectSensors() {
if (jmxFeed != null) jmxFeed.stop();
}
+
+ protected String getBrokerName() {
+ if (brokerName == null) {
+ EntityLocal parent = (EntityLocal)getParent();
+ brokerName = parent != null ? parent.getAttribute(ActiveMQBroker.BROKER_NAME) : null;
+ }
+ return brokerName;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDriver.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDriver.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDriver.java
index 1f84103..8e69017 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDriver.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDriver.java
@@ -22,5 +22,7 @@ import brooklyn.entity.java.JavaSoftwareProcessDriver;
public interface ActiveMQDriver extends JavaSoftwareProcessDriver {
+ String getBrokerName();
+
Integer getOpenWirePort();
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQQueueImpl.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQQueueImpl.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQQueueImpl.java
index 4e6b0d8..856b2db 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQQueueImpl.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQQueueImpl.java
@@ -41,7 +41,7 @@ public class ActiveMQQueueImpl extends ActiveMQDestinationImpl implements Active
}
public void create() {
- if (log.isDebugEnabled()) log.debug("{} adding queue {} to broker {}", new Object[] {this, getName(), jmxHelper.getAttribute(brokerMBeanName, "BrokerId")});
+ log.debug("{} adding queue {} to broker {}", new Object[] {this, getName(), jmxHelper.getAttribute(brokerMBeanName, "BrokerName")});
jmxHelper.operation(brokerMBeanName, "addQueue", getName());
@@ -55,7 +55,7 @@ public class ActiveMQQueueImpl extends ActiveMQDestinationImpl implements Active
@Override
protected void connectSensors() {
- String queue = String.format("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=%s", getName());
+ String queue = String.format("org.apache.activemq:type=Broker,brokerName=%s,destinationType=Queue,destinationName=%s", getBrokerName(), getName());
jmxFeed = JmxFeed.builder()
.entity(this)
@@ -65,4 +65,5 @@ public class ActiveMQQueueImpl extends ActiveMQDestinationImpl implements Active
.attributeName("QueueSize"))
.build();
}
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQSshDriver.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQSshDriver.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQSshDriver.java
index f8c223d..39e6e0b 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQSshDriver.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQSshDriver.java
@@ -46,6 +46,11 @@ public class ActiveMQSshDriver extends JavaSoftwareProcessSshDriver implements A
}
@Override
+ public String getBrokerName() {
+ return entity.getAttribute(ActiveMQBroker.BROKER_NAME);
+ }
+
+ @Override
public Integer getOpenWirePort() {
return entity.getAttribute(ActiveMQBroker.OPEN_WIRE_PORT);
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/main/resources/brooklyn/entity/messaging/activemq/activemq.xml
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/resources/brooklyn/entity/messaging/activemq/activemq.xml b/software/messaging/src/main/resources/brooklyn/entity/messaging/activemq/activemq.xml
index fa9e82a..52114d1 100644
--- a/software/messaging/src/main/resources/brooklyn/entity/messaging/activemq/activemq.xml
+++ b/software/messaging/src/main/resources/brooklyn/entity/messaging/activemq/activemq.xml
@@ -19,7 +19,7 @@
<!--
The <broker> element is used to configure the ActiveMQ broker.
-->
- <broker useJmx="true" xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="[#noparse]${activemq.data}[/#noparse]">
+ <broker useJmx="true" xmlns="http://activemq.apache.org/schema/core" brokerName="${entity.brokerName}" dataDirectory="[#noparse]${activemq.data}[/#noparse]">
<!--
For better performances use VM cursor and small memory limit.
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/3c6ba532/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java b/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
index 9d8ed27..a7cd334 100644
--- a/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
+++ b/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
@@ -80,7 +80,7 @@ public class ActiveMQIntegrationTest {
activeMQ = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ.getAttribute(UsesJmx.JMX_URL));
activeMQ.stop();
assertFalse(activeMQ.getAttribute(Startable.SERVICE_UP));
@@ -93,26 +93,40 @@ public class ActiveMQIntegrationTest {
@Test(groups = "Integration")
public void canStartupAndShutdownWithCustomJmx() throws Exception {
activeMQ = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class)
- .configure("jmxPort", "11099+"));
+ .configure("jmxPort", "11099+"));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ.getAttribute(UsesJmx.JMX_URL));
activeMQ.stop();
assertFalse(activeMQ.getAttribute(Startable.SERVICE_UP));
}
@Test(groups = "Integration")
+ public void canStartupAndShutdownWithCustomBrokerName() throws Exception {
+ activeMQ = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class)
+ .configure("jmxPort", "11099+")
+ .configure("brokerName", "bridge"));
+
+ activeMQ.start(ImmutableList.of(testLocation));
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
+ log.info("JMX URL is "+activeMQ.getAttribute(UsesJmx.JMX_URL));
+ activeMQ.stop();
+ assertFalse(activeMQ.getAttribute(Startable.SERVICE_UP));
+ }
+
+
+ @Test(groups = "Integration")
public void canStartTwo() throws Exception {
ActiveMQBroker activeMQ1 = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class));
ActiveMQBroker activeMQ2 = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class));
activeMQ1.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ1, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ1, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ1.getAttribute(UsesJmx.JMX_URL));
activeMQ2.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ2, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ2, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ2.getAttribute(UsesJmx.JMX_URL));
}
@@ -163,7 +177,7 @@ public class ActiveMQIntegrationTest {
.configure(UsesJmx.JMX_AGENT_MODE, mode));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
String jmxUrl = activeMQ.getAttribute(UsesJmx.JMX_URL);
log.info("JMX URL ("+mode+") is "+jmxUrl);
[2/7] incubator-brooklyn git commit: Merge remote-tracking branch
'upstream/master'
Posted by gr...@apache.org.
Merge remote-tracking branch 'upstream/master'
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/862e8d22
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/862e8d22
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/862e8d22
Branch: refs/heads/master
Commit: 862e8d22a9ed5767357f2776c5af3e9a87193a71
Parents: 3c6ba53 791d1f1
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Wed Nov 26 08:43:48 2014 -0500
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Wed Nov 26 08:43:48 2014 -0500
----------------------------------------------------------------------
api/src/main/java/brooklyn/entity/Feed.java | 5 +-
.../main/java/brooklyn/mementos/Memento.java | 6 +
.../java/brooklyn/policy/EntityAdjunct.java | 2 +-
.../brooklyn/basic/AbstractBrooklynObject.java | 15 +-
.../brooklyn/entity/basic/AbstractEntity.java | 50 ++++--
.../java/brooklyn/entity/basic/Entities.java | 3 +-
.../AbstractBrooklynObjectRebindSupport.java | 6 +
.../entity/rebind/RebindManagerImpl.java | 11 +-
.../entity/rebind/dto/AbstractMemento.java | 61 ++++---
.../entity/rebind/dto/BasicLocationMemento.java | 1 -
.../entity/rebind/dto/MementosGenerators.java | 8 +-
.../java/brooklyn/event/feed/AbstractFeed.java | 76 +++++---
.../java/brooklyn/event/feed/FeedConfig.java | 88 +++++++++
.../java/brooklyn/event/feed/PollConfig.java | 16 +-
.../main/java/brooklyn/event/feed/Poller.java | 26 ++-
.../event/feed/function/FunctionFeed.java | 13 +-
.../event/feed/function/FunctionPollConfig.java | 21 +++
.../java/brooklyn/event/feed/http/HttpFeed.java | 6 +
.../event/feed/http/HttpPollConfig.java | 10 +-
.../brooklyn/event/feed/shell/ShellFeed.java | 6 +
.../event/feed/shell/ShellPollConfig.java | 6 +
.../java/brooklyn/event/feed/ssh/SshFeed.java | 6 +
.../brooklyn/event/feed/ssh/SshPollConfig.java | 12 ++
.../windows/WindowsPerformanceCounterFeed.java | 6 +
.../WindowsPerformanceCounterPollConfig.java | 6 +-
.../internal/BrooklynGarbageCollector.java | 13 +-
.../policy/basic/AbstractEntityAdjunct.java | 8 +-
.../java/brooklyn/policy/basic/AdjunctType.java | 10 +-
.../brooklyn/util/text/DataUriSchemeParser.java | 28 ++-
.../brooklyn/util/text/TemplateProcessor.java | 2 +-
.../brooklyn/entity/rebind/RebindFeedTest.java | 178 +++++++++++++++++--
.../entity/rebind/RebindTestFixture.java | 40 ++++-
...BrooklynMementoPersisterToMultiFileTest.java | 2 +-
.../event/feed/function/FunctionFeedTest.java | 34 +++-
.../brooklyn/event/feed/http/HttpFeedTest.java | 15 ++
.../feed/shell/ShellFeedIntegrationTest.java | 21 +++
.../event/feed/ssh/SshFeedIntegrationTest.java | 16 ++
.../brooklyn/management/ha/HotStandbyTest.java | 48 ++++-
.../java/brooklyn/util/ResourceUtilsTest.java | 10 +-
.../location/jclouds/JcloudsLocation.java | 2 +-
.../entity/monitoring/zabbix/ZabbixFeed.java | 7 +
.../monitoring/zabbix/ZabbixPollConfig.java | 6 +
.../brooklyn/entity/chef/ChefAttributeFeed.java | 9 +-
.../entity/chef/ChefAttributePollConfig.java | 7 +-
.../event/feed/jmx/JmxAttributePollConfig.java | 7 +-
.../java/brooklyn/event/feed/jmx/JmxFeed.java | 6 +
.../jmx/JmxNotificationSubscriptionConfig.java | 14 ++
.../event/feed/jmx/JmxOperationPollConfig.java | 4 +
.../java/brooklyn/util/guava/Functionals.java | 21 +++
.../main/java/brooklyn/util/guava/Maybe.java | 16 ++
.../java/brooklyn/util/javalang/Equals.java | 35 ++++
.../src/main/java/brooklyn/util/net/Urls.java | 24 +++
.../main/java/brooklyn/util/text/Strings.java | 22 +++
.../brooklyn/util/net/NetworkingUtilsTest.java | 12 +-
.../test/java/brooklyn/util/net/UrlsTest.java | 10 +-
55 files changed, 943 insertions(+), 150 deletions(-)
----------------------------------------------------------------------
[3/7] incubator-brooklyn git commit: Merge remote-tracking branch
'upstream/master' into amq-broker-name
Posted by gr...@apache.org.
Merge remote-tracking branch 'upstream/master' into amq-broker-name
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/aed21450
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/aed21450
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/aed21450
Branch: refs/heads/master
Commit: aed214502673bf155f10b0334382fc0267d3ff39
Parents: 3c6ba53 dea4a51
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Fri Nov 28 21:03:37 2014 -0500
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Fri Nov 28 21:03:37 2014 -0500
----------------------------------------------------------------------
api/src/main/java/brooklyn/entity/Feed.java | 5 +-
.../brooklyn/management/ManagementContext.java | 5 +-
.../main/java/brooklyn/mementos/Memento.java | 6 +
.../java/brooklyn/policy/EntityAdjunct.java | 2 +-
.../brooklyn/basic/AbstractBrooklynObject.java | 15 +-
.../brooklyn/entity/basic/AbstractEntity.java | 50 ++-
.../java/brooklyn/entity/basic/Entities.java | 3 +-
.../AbstractBrooklynObjectRebindSupport.java | 6 +
.../entity/rebind/RebindManagerImpl.java | 11 +-
.../entity/rebind/dto/AbstractMemento.java | 61 ++-
.../entity/rebind/dto/BasicLocationMemento.java | 1 -
.../entity/rebind/dto/MementosGenerators.java | 8 +-
.../java/brooklyn/event/feed/AbstractFeed.java | 76 +++-
.../java/brooklyn/event/feed/FeedConfig.java | 88 ++++
.../java/brooklyn/event/feed/PollConfig.java | 16 +-
.../main/java/brooklyn/event/feed/Poller.java | 26 +-
.../event/feed/function/FunctionFeed.java | 13 +-
.../event/feed/function/FunctionPollConfig.java | 21 +
.../java/brooklyn/event/feed/http/HttpFeed.java | 6 +
.../event/feed/http/HttpPollConfig.java | 10 +-
.../brooklyn/event/feed/shell/ShellFeed.java | 6 +
.../event/feed/shell/ShellPollConfig.java | 6 +
.../java/brooklyn/event/feed/ssh/SshFeed.java | 6 +
.../brooklyn/event/feed/ssh/SshPollConfig.java | 12 +
.../windows/WindowsPerformanceCounterFeed.java | 6 +
.../WindowsPerformanceCounterPollConfig.java | 6 +-
.../location/access/PortForwardManager.java | 242 ++++++++---
.../access/PortForwardManagerAuthority.java | 230 +---------
.../access/PortForwardManagerClient.java | 272 +++++++++++-
.../location/access/PortForwardManagerImpl.java | 430 +++++++++++++++++++
.../PortForwardManagerLocationResolver.java | 89 ++++
.../brooklyn/location/access/PortMapping.java | 38 +-
.../basic/AbstractLocationResolver.java | 2 +-
.../internal/AbstractManagementContext.java | 2 +-
.../internal/BrooklynGarbageCollector.java | 13 +-
.../NonDeploymentManagementContext.java | 1 -
.../policy/basic/AbstractEntityAdjunct.java | 8 +-
.../java/brooklyn/policy/basic/AdjunctType.java | 10 +-
.../brooklyn/util/text/DataUriSchemeParser.java | 28 +-
.../brooklyn/util/text/TemplateProcessor.java | 2 +-
.../services/brooklyn.location.LocationResolver | 1 +
.../brooklyn/entity/rebind/RebindFeedTest.java | 178 +++++++-
.../entity/rebind/RebindTestFixture.java | 40 +-
...BrooklynMementoPersisterToMultiFileTest.java | 2 +-
.../event/feed/function/FunctionFeedTest.java | 34 +-
.../brooklyn/event/feed/http/HttpFeedTest.java | 15 +
.../feed/shell/ShellFeedIntegrationTest.java | 21 +
.../event/feed/ssh/SshFeedIntegrationTest.java | 16 +
.../PortForwardManagerLocationResolverTest.java | 83 ++++
.../access/PortForwardManagerRebindTest.java | 63 ++-
.../location/access/PortForwardManagerTest.java | 157 +++++++
.../brooklyn/management/ha/HotStandbyTest.java | 48 ++-
.../java/brooklyn/util/ResourceUtilsTest.java | 10 +-
docs/dev/build/debugging-remote-brooklyn.md | 140 ++++++
docs/dev/code/index.include.md | 1 +
.../location/jclouds/JcloudsLocation.java | 17 +-
.../JcloudsPortForwarderExtension.java | 11 +
.../entity/monitoring/zabbix/ZabbixFeed.java | 7 +
.../monitoring/zabbix/ZabbixPollConfig.java | 6 +
.../brooklyn/entity/chef/ChefAttributeFeed.java | 9 +-
.../entity/chef/ChefAttributePollConfig.java | 7 +-
.../java/brooklyn/entity/java/JmxSupport.java | 7 +-
.../event/feed/jmx/JmxAttributePollConfig.java | 7 +-
.../java/brooklyn/event/feed/jmx/JmxFeed.java | 6 +
.../jmx/JmxNotificationSubscriptionConfig.java | 14 +
.../event/feed/jmx/JmxOperationPollConfig.java | 4 +
.../java/brooklyn/util/guava/Functionals.java | 21 +
.../main/java/brooklyn/util/guava/Maybe.java | 16 +
.../java/brooklyn/util/javalang/Equals.java | 35 ++
.../src/main/java/brooklyn/util/net/Urls.java | 24 ++
.../main/java/brooklyn/util/text/Strings.java | 22 +
.../brooklyn/util/net/NetworkingUtilsTest.java | 12 +-
.../test/java/brooklyn/util/net/UrlsTest.java | 10 +-
73 files changed, 2385 insertions(+), 497 deletions(-)
----------------------------------------------------------------------
[4/7] incubator-brooklyn git commit: Merge remote-tracking branch
'upstream/master'
Posted by gr...@apache.org.
Merge remote-tracking branch 'upstream/master'
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/d9326e76
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/d9326e76
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/d9326e76
Branch: refs/heads/master
Commit: d9326e7694fdbd662d5eb6b2d383fa725f1e376b
Parents: 862e8d2 dea4a51
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Fri Nov 28 21:04:22 2014 -0500
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Fri Nov 28 21:04:22 2014 -0500
----------------------------------------------------------------------
.../brooklyn/management/ManagementContext.java | 5 +-
.../location/access/PortForwardManager.java | 242 ++++++++---
.../access/PortForwardManagerAuthority.java | 230 +---------
.../access/PortForwardManagerClient.java | 272 +++++++++++-
.../location/access/PortForwardManagerImpl.java | 430 +++++++++++++++++++
.../PortForwardManagerLocationResolver.java | 89 ++++
.../brooklyn/location/access/PortMapping.java | 38 +-
.../basic/AbstractLocationResolver.java | 2 +-
.../internal/AbstractManagementContext.java | 2 +-
.../NonDeploymentManagementContext.java | 1 -
.../services/brooklyn.location.LocationResolver | 1 +
.../PortForwardManagerLocationResolverTest.java | 83 ++++
.../access/PortForwardManagerRebindTest.java | 63 ++-
.../location/access/PortForwardManagerTest.java | 157 +++++++
docs/dev/build/debugging-remote-brooklyn.md | 140 ++++++
docs/dev/code/index.include.md | 1 +
.../location/jclouds/JcloudsLocation.java | 15 +-
.../JcloudsPortForwarderExtension.java | 11 +
.../java/brooklyn/entity/java/JmxSupport.java | 7 +-
19 files changed, 1442 insertions(+), 347 deletions(-)
----------------------------------------------------------------------
[5/7] incubator-brooklyn git commit: Merge branch 'amq-broker-name'
Posted by gr...@apache.org.
Merge branch 'amq-broker-name'
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c3c6e3b2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c3c6e3b2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c3c6e3b2
Branch: refs/heads/master
Commit: c3c6e3b2eb435f8018b91802c2646b290ee785dc
Parents: d9326e7 aed2145
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Fri Nov 28 21:04:46 2014 -0500
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Fri Nov 28 21:04:46 2014 -0500
----------------------------------------------------------------------
----------------------------------------------------------------------
[7/7] incubator-brooklyn git commit: This closes #359
Posted by gr...@apache.org.
This closes #359
* github/pr/359:
[BROOKLYN-92] Support for brokerName. Changes suggested by PR reviewer
[BROOKLYN-92] Configure brokerName for ActiveMQ
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/493c3077
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/493c3077
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/493c3077
Branch: refs/heads/master
Commit: 493c307715a93095906510fd01cf4f23ee76c49b
Parents: 5d1c6b3 039068a
Author: Andrew Kennedy <gr...@apache.org>
Authored: Mon Dec 1 15:57:28 2014 +0000
Committer: Andrew Kennedy <gr...@apache.org>
Committed: Mon Dec 1 15:57:28 2014 +0000
----------------------------------------------------------------------
.../entity/messaging/activemq/ActiveMQBroker.java | 5 +++++
.../messaging/activemq/ActiveMQBrokerImpl.java | 8 ++++++--
.../messaging/activemq/ActiveMQDestinationImpl.java | 16 +++++++++++++---
.../entity/messaging/activemq/ActiveMQDriver.java | 2 ++
.../messaging/activemq/ActiveMQQueueImpl.java | 5 +++--
.../messaging/activemq/ActiveMQSshDriver.java | 5 +++++
.../brooklyn/entity/messaging/activemq/activemq.xml | 2 +-
.../messaging/activemq/ActiveMQIntegrationTest.java | 16 +++++++++++++++-
8 files changed, 50 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
[6/7] incubator-brooklyn git commit: [BROOKLYN-92] Support for
brokerName. Changes suggested by PR reviewer
Posted by gr...@apache.org.
[BROOKLYN-92] Support for brokerName. Changes suggested by PR reviewer
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/039068a8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/039068a8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/039068a8
Branch: refs/heads/master
Commit: 039068a86a11b0cdfc16b9594f70011e022d1808
Parents: c3c6e3b
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Fri Nov 28 22:27:11 2014 -0500
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Fri Nov 28 22:27:11 2014 -0500
----------------------------------------------------------------------
.../entity/messaging/activemq/ActiveMQBroker.java | 4 ++--
.../messaging/activemq/ActiveMQDestinationImpl.java | 15 ++++++---------
.../messaging/activemq/ActiveMQIntegrationTest.java | 12 ++++++------
3 files changed, 14 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/039068a8/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
index 9eb7c11..6727934 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQBroker.java
@@ -57,8 +57,8 @@ public interface ActiveMQBroker extends SoftwareProcess, MessageBroker, UsesJmx,
"http://www.mirrorservice.org/sites/ftp.apache.org/activemq");
@SetFromFlag("brokerName")
- public static final AttributeSensorAndConfigKey<String,String> BROKER_NAME = new BasicAttributeSensorAndConfigKey<String>(
- String.class, "activemq.brokerName", "ActiveMQ Broker Name", "localhost");
+ public static final AttributeSensorAndConfigKey<String,String> BROKER_NAME =
+ ConfigKeys.newStringSensorAndConfigKey("activemq.brokerName", "ActiveMQ Broker Name", "localhost");
@SetFromFlag("openWirePort")
public static final PortAttributeSensorAndConfigKey OPEN_WIRE_PORT = new PortAttributeSensorAndConfigKey("openwire.port", "OpenWire port", "61616+");
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/039068a8/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
index e5afee5..fb86982 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/activemq/ActiveMQDestinationImpl.java
@@ -23,6 +23,7 @@ import javax.management.ObjectName;
import com.google.common.base.Preconditions;
+import brooklyn.entity.Entity;
import brooklyn.entity.basic.EntityLocal;
import brooklyn.entity.messaging.jms.JMSDestinationImpl;
import brooklyn.event.feed.jmx.JmxFeed;
@@ -33,7 +34,6 @@ public abstract class ActiveMQDestinationImpl extends JMSDestinationImpl impleme
protected ObjectName brokerMBeanName;
protected transient JmxHelper jmxHelper;
protected volatile JmxFeed jmxFeed;
- protected String brokerName;
public ActiveMQDestinationImpl() {
}
@@ -41,9 +41,9 @@ public abstract class ActiveMQDestinationImpl extends JMSDestinationImpl impleme
@Override
public void onManagementStarting() {
super.onManagementStarting();
-
- getBrokerName();
- Preconditions.checkNotNull(brokerName, "ActiveMQ broker name must be specified");
+
+ String brokerName = getBrokerName();
+ Preconditions.checkArgument(brokerName != null && !brokerName.isEmpty(), "ActiveMQ brokerName attribute must be specified");
try {
brokerMBeanName = new ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName);
@@ -59,10 +59,7 @@ public abstract class ActiveMQDestinationImpl extends JMSDestinationImpl impleme
}
protected String getBrokerName() {
- if (brokerName == null) {
- EntityLocal parent = (EntityLocal)getParent();
- brokerName = parent != null ? parent.getAttribute(ActiveMQBroker.BROKER_NAME) : null;
- }
- return brokerName;
+ Preconditions.checkNotNull(getParent(), "JMS Destination must have a broker parent");
+ return getParent().getAttribute(ActiveMQBroker.BROKER_NAME);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/039068a8/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java b/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
index a7cd334..2434fda 100644
--- a/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
+++ b/software/messaging/src/test/java/brooklyn/entity/messaging/activemq/ActiveMQIntegrationTest.java
@@ -80,7 +80,7 @@ public class ActiveMQIntegrationTest {
activeMQ = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ.getAttribute(UsesJmx.JMX_URL));
activeMQ.stop();
assertFalse(activeMQ.getAttribute(Startable.SERVICE_UP));
@@ -96,7 +96,7 @@ public class ActiveMQIntegrationTest {
.configure("jmxPort", "11099+"));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ.getAttribute(UsesJmx.JMX_URL));
activeMQ.stop();
assertFalse(activeMQ.getAttribute(Startable.SERVICE_UP));
@@ -109,7 +109,7 @@ public class ActiveMQIntegrationTest {
.configure("brokerName", "bridge"));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ.getAttribute(UsesJmx.JMX_URL));
activeMQ.stop();
assertFalse(activeMQ.getAttribute(Startable.SERVICE_UP));
@@ -122,11 +122,11 @@ public class ActiveMQIntegrationTest {
ActiveMQBroker activeMQ2 = app.createAndManageChild(EntitySpec.create(ActiveMQBroker.class));
activeMQ1.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ1, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ1, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ1.getAttribute(UsesJmx.JMX_URL));
activeMQ2.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ2, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ2, Startable.SERVICE_UP, true);
log.info("JMX URL is "+activeMQ2.getAttribute(UsesJmx.JMX_URL));
}
@@ -177,7 +177,7 @@ public class ActiveMQIntegrationTest {
.configure(UsesJmx.JMX_AGENT_MODE, mode));
activeMQ.start(ImmutableList.of(testLocation));
- EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 60*1000), activeMQ, Startable.SERVICE_UP, true);
+ EntityTestUtils.assertAttributeEqualsEventually(ImmutableMap.of("timeout", 10*60*1000), activeMQ, Startable.SERVICE_UP, true);
String jmxUrl = activeMQ.getAttribute(UsesJmx.JMX_URL);
log.info("JMX URL ("+mode+") is "+jmxUrl);