You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by db...@apache.org on 2005/12/02 10:05:24 UTC
svn commit: r351639 - in /geronimo/gbuild/trunk:
gbuild-agent-application/src/conf/
gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/
gbuild-agent/src/main/resources/META-INF/plexus/
Author: dblevins
Date: Fri Dec 2 01:05:19 2005
New Revision: 351639
URL: http://svn.apache.org/viewcvs?rev=351639&view=rev
Log:
Made ClientManager a plexus compoment. Now one connection can be maintained and shared by all agents.
Modified:
geronimo/gbuild/trunk/gbuild-agent-application/src/conf/application.xml
geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java
geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java
geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ClientManager.java
geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ContinuumBuildAgent.java
geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java
geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PropertiesBuildTaskProducer.java
geronimo/gbuild/trunk/gbuild-agent/src/main/resources/META-INF/plexus/components.xml
Modified: geronimo/gbuild/trunk/gbuild-agent-application/src/conf/application.xml
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent-application/src/conf/application.xml?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent-application/src/conf/application.xml (original)
+++ geronimo/gbuild/trunk/gbuild-agent-application/src/conf/application.xml Fri Dec 2 01:05:19 2005
@@ -27,11 +27,25 @@
<components>
<component>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ <implementation>org.apache.geronimo.gbuild.agent.ClientManager</implementation>
+ <configuration>
+ <broker-url>tcp://ci.gbuild.org:16161</broker-url>
+ <ping-interval>10000</ping-interval>
+ <reconnect-attempts>10</reconnect-attempts>
+ <reconnect-delay>600000</reconnect-delay>
+ </configuration>
+ </component>
+
+ <component>
<role>org.apache.geronimo.gbuild.agent.BuildAgent</role>
<role-hint>build-executor</role-hint>
<implementation>org.apache.geronimo.gbuild.agent.ContinuumBuildAgent</implementation>
<requirements>
<requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ <requirement>
<role>org.apache.geronimo.gbuild.agent.BuildAgentExtentionManager</role>
</requirement>
<requirement>
@@ -44,7 +58,6 @@
<configuration>
<contributor>Unknown</contributor>
<admin-address>scm@geronimo.apache.org</admin-address>
- <coordinator-url>tcp://ci.gbuild.org:16161</coordinator-url>
<build-task-queue>BUILD.TASKS</build-task-queue>
<build-results-topic>BUILD.RESULTS</build-results-topic>
<working-directory>${plexus.home}/agent/work</working-directory>
@@ -95,8 +108,12 @@
<role>org.apache.geronimo.gbuild.agent.BuildAgent</role>
<role-hint>build-producer</role-hint>
<implementation>org.apache.geronimo.gbuild.agent.PropertiesBuildTaskProducer</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ </requirements>
<configuration>
- <coordinator-url>tcp://ci.gbuild.org:16161</coordinator-url>
<build-task-queue>BUILD.TASKS</build-task-queue>
<include-prefix>include.</include-prefix>
<header-prefix>header.</header-prefix>
@@ -114,11 +131,13 @@
<implementation>org.apache.geronimo.gbuild.agent.BuildResultsContinuumAgent</implementation>
<requirements>
<requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ <requirement>
<role>org.apache.geronimo.gbuild.agent.BuildResultsExtentionManager</role>
</requirement>
</requirements>
<configuration>
- <coordinator-url>tcp://ci.gbuild.org:16161</coordinator-url>
<build-results-topic>BUILD.RESULTS</build-results-topic>
</configuration>
</component>
@@ -142,9 +161,11 @@
<role>org.apache.geronimo.gbuild.agent.BuildAgent</role>
<role-hint>ping-monitor</role-hint>
<implementation>org.apache.geronimo.gbuild.agent.PingMonitorAgent</implementation>
- <configuration>
- <coordinator-url>tcp://ci.gbuild.org:16161</coordinator-url>
- </configuration>
+ <requirements>
+ <requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ </requirements>
</component>
<!--
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java Fri Dec 2 01:05:19 2005
@@ -35,20 +35,15 @@
* @version $Rev$ $Date$
*/
public abstract class AbstractContinuumBuildAgent extends AbstractContinuumAgentAction implements BuildAgent, Startable {
- /**
- * @plexus.configuration
- */
- protected String coordinatorUrl;
private boolean run;
+ /**
+ * @plexus.requirement
+ */
private ClientManager clientManager;
public synchronized void start() throws StartingException {
- clientManager = new ClientManager(coordinatorUrl, 600000, 10, 10000);
- clientManager.enableLogging(getLogger());
- clientManager.start();
-
run = true;
Thread agentThread = new Thread(this);
agentThread.setDaemon(false);
@@ -57,12 +52,6 @@
public synchronized void stop() throws StoppingException {
run = false;
- try {
- getClient().close();
- } catch (JMSException e) {
- getLogger().error("Could not close connection to: "+coordinatorUrl, e);
- throw new StoppingException("Could not close connection to: "+coordinatorUrl);
- }
}
public synchronized boolean isRunning() {
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java Fri Dec 2 01:05:19 2005
@@ -42,8 +42,7 @@
public void run() {
try {
- getLogger().info("Results Agent starting. ("+coordinatorUrl+")");
- getLogger().debug("coordinatorUrl " + coordinatorUrl);
+ getLogger().info("Results Agent starting.");
getLogger().debug("buildResultsTopic " + buildResultsTopic);
while (isRunning()) {
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ClientManager.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ClientManager.java?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ClientManager.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ClientManager.java Fri Dec 2 01:05:19 2005
@@ -19,6 +19,7 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
@@ -26,7 +27,7 @@
/**
* @version $Rev$ $Date$
*/
-public class ClientManager extends AbstractLogEnabled implements ExceptionListener {
+public class ClientManager extends AbstractLogEnabled implements ExceptionListener, Startable {
/**
* @plexus.configuration
@@ -50,6 +51,8 @@
private Client client;
+ public ClientManager() {}
+
public ClientManager(String brokerUrl, int pingInterval, int reconnectAttempts, int reconnectDelay) {
this.brokerUrl = brokerUrl;
this.pingInterval = pingInterval;
@@ -57,6 +60,10 @@
this.reconnectDelay = reconnectDelay;
}
+ public String getBrokerUrl() {
+ return brokerUrl;
+ }
+
public synchronized void start() throws StartingException {
try {
setClient(new Client(brokerUrl, this, getLogger(), reconnectDelay, reconnectAttempts, pingInterval));
@@ -64,6 +71,7 @@
getLogger().error("Could not create connection to: " + brokerUrl, e);
throw new StartingException("Could not create connection to: " + brokerUrl);
}
+ getLogger().info("Client connected: " + brokerUrl);
}
public synchronized void stop() throws StoppingException {
@@ -92,7 +100,7 @@
return client;
}
- public synchronized void setClient(Client client) {
+ private synchronized void setClient(Client client) {
this.client = client;
}
}
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ContinuumBuildAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ContinuumBuildAgent.java?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ContinuumBuildAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/ContinuumBuildAgent.java Fri Dec 2 01:05:19 2005
@@ -85,8 +85,7 @@
public void run() {
try {
- getLogger().info("Continuum Build Agent starting. (" + coordinatorUrl + ")");
- getLogger().debug("coordinatorUrl " + coordinatorUrl);
+ getLogger().info("Continuum Build Agent starting.");
getLogger().debug("buildTaskQueue " + buildTaskQueue);
getLogger().debug("buildResultsTopic " + buildResultsTopic);
getLogger().debug("workingDirectory " + workingDirectory);
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java Fri Dec 2 01:05:19 2005
@@ -35,8 +35,7 @@
public void run() {
try {
- getLogger().info("Ping Agent starting. ("+coordinatorUrl+")");
- getLogger().debug("coordinatorUrl " + coordinatorUrl);
+ getLogger().info("Ping Agent starting.");
while (isRunning()){
Client client = getClient();
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PropertiesBuildTaskProducer.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PropertiesBuildTaskProducer.java?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PropertiesBuildTaskProducer.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PropertiesBuildTaskProducer.java Fri Dec 2 01:05:19 2005
@@ -73,8 +73,7 @@
private DirectoryMonitor scanner;
public synchronized void start() throws StartingException {
- getLogger().info("Task Producer Agent starting. ("+coordinatorUrl+")");
- getLogger().debug("coordinatorUrl "+coordinatorUrl);
+ getLogger().info("Task Producer Agent starting.");
getLogger().debug("buildTaskQueue "+buildTaskQueue);
File dir = new File(watchDirectory);
Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/resources/META-INF/plexus/components.xml?rev=351639&r1=351638&r2=351639&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/resources/META-INF/plexus/components.xml (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/resources/META-INF/plexus/components.xml Fri Dec 2 01:05:19 2005
@@ -12,11 +12,25 @@
</component>
-->
<component>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ <implementation>org.apache.geronimo.gbuild.agent.ClientManager</implementation>
+ <configuration>
+ <broker-url>tcp://localhost:61616</broker-url>
+ <ping-interval>10000</ping-interval>
+ <reconnect-attempts>10</reconnect-attempts>
+ <reconnect-delay>600000</reconnect-delay>
+ </configuration>
+ </component>
+
+ <component>
<role>org.apache.geronimo.gbuild.agent.BuildAgent</role>
<role-hint>build-executor</role-hint>
<implementation>org.apache.geronimo.gbuild.agent.ContinuumBuildAgent</implementation>
<requirements>
<requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ <requirement>
<role>org.apache.geronimo.gbuild.agent.BuildAgentExtentionManager</role>
</requirement>
<requirement>
@@ -29,7 +43,6 @@
<configuration>
<contributor>Unknown</contributor>
<admin-address>scm@geronimo.apache.org</admin-address>
- <coordinator-url>tcp://localhost:61616</coordinator-url>
<build-task-queue>BUILD.TASKS</build-task-queue>
<build-results-topic>BUILD.RESULTS</build-results-topic>
<working-directory>agent/work</working-directory>
@@ -111,8 +124,12 @@
<role>org.apache.geronimo.gbuild.agent.BuildAgent</role>
<role-hint>build-producer</role-hint>
<implementation>org.apache.geronimo.gbuild.agent.PropertiesBuildTaskProducer</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ </requirements>
<configuration>
- <coordinator-url>tcp://localhost:61616</coordinator-url>
<build-task-queue>BUILD.TASKS</build-task-queue>
<include-prefix>include.</include-prefix>
<header-prefix>header.</header-prefix>
@@ -134,7 +151,6 @@
</requirement>
</requirements>
<configuration>
- <coordinator-url>tcp://localhost:61616</coordinator-url>
<build-results-topic>BUILD.RESULTS</build-results-topic>
</configuration>
</component>
@@ -170,9 +186,11 @@
<role>org.apache.geronimo.gbuild.agent.BuildAgent</role>
<role-hint>ping-monitor</role-hint>
<implementation>org.apache.geronimo.gbuild.agent.PingMonitorAgent</implementation>
- <configuration>
- <coordinator-url>tcp://localhost:61616</coordinator-url>
- </configuration>
+ <requirements>
+ <requirement>
+ <role>org.apache.geronimo.gbuild.agent.ClientManager</role>
+ </requirement>
+ </requirements>
</component>
</components>