From 2401fec9d1374a1e7b9ebeb85dfd4d967a7a3e68 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 27 Jan 2009 14:49:47 +0000 Subject: [PATCH] New notification structure for agents git-svn-id: https://svn.argeo.org/slc/trunk@2141 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../src/main/webapp/WEB-INF/web.xml | 31 ++----------- .../argeo/slc/cli/spring-agent-default.xml | 11 ----- .../org/argeo/slc/server/spring/activemq.xml | 4 ++ .../slc/server/spring/servletContext.xml | 4 +- .../argeo/slc/jms/AgentListenerContainer.java | 43 ------------------- .../main/java/org/argeo/slc/jms/JmsAgent.java | 24 +++-------- .../org/argeo/slc/activemq/spring-agent.xml | 21 ++++++--- .../org/argeo/slc/activemq/spring.xml | 6 ++- 8 files changed, 33 insertions(+), 111 deletions(-) delete mode 100644 runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/AgentListenerContainer.java diff --git a/org.argeo.slc.webapp/src/main/webapp/WEB-INF/web.xml b/org.argeo.slc.webapp/src/main/webapp/WEB-INF/web.xml index 812a662f8..9de9501a6 100644 --- a/org.argeo.slc.webapp/src/main/webapp/WEB-INF/web.xml +++ b/org.argeo.slc.webapp/src/main/webapp/WEB-INF/web.xml @@ -99,38 +99,17 @@ - - - - AjaxServlet - org.apache.activemq.web.AjaxServlet - 1 - - - MessageServlet - org.apache.activemq.web.MessageServlet + MessageListenerServlet + org.apache.activemq.web.MessageListenerServlet 1 - - - AjaxServlet + MessageListenerServlet /amq/* - - MessageServlet - /amqMessage/* - - session org.apache.activemq.web.SessionFilter @@ -140,8 +119,4 @@ session /amq/* - - session - /amqMessage/* - diff --git a/runtime/org.argeo.slc.launcher/src/main/resources/org/argeo/slc/cli/spring-agent-default.xml b/runtime/org.argeo.slc.launcher/src/main/resources/org/argeo/slc/cli/spring-agent-default.xml index a61538cea..320e2da44 100644 --- a/runtime/org.argeo.slc.launcher/src/main/resources/org/argeo/slc/cli/spring-agent-default.xml +++ b/runtime/org.argeo.slc.launcher/src/main/resources/org/argeo/slc/cli/spring-agent-default.xml @@ -22,17 +22,6 @@ - - - - - - - - - - diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml index a512b3e9a..71dfbedc7 100644 --- a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml +++ b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml @@ -17,4 +17,8 @@ abstract="true"> + + + \ No newline at end of file diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml index a39c6d112..bb28fd6cd 100644 --- a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml +++ b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml @@ -42,7 +42,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/AgentListenerContainer.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/AgentListenerContainer.java deleted file mode 100644 index 659b4f5b7..000000000 --- a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/AgentListenerContainer.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.argeo.slc.jms; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.jms.listener.DefaultMessageListenerContainer; -import org.springframework.jms.listener.adapter.MessageListenerAdapter; -import org.springframework.jms.support.converter.MessageConverter; - -public class AgentListenerContainer extends DefaultMessageListenerContainer - implements InitializingBean { - private final static Log log = LogFactory.getLog(AgentListenerContainer.class); - - private JmsAgent jmsAgent; - private String action; - private MessageConverter messageConverter; - - @Override - public void afterPropertiesSet() { - MessageListenerAdapter messageListenerAdapter = new MessageListenerAdapter( - jmsAgent); - messageListenerAdapter.setDefaultListenerMethod(action); - messageListenerAdapter.setMessageConverter(messageConverter); - setMessageListener(messageListenerAdapter); - setDestinationName(jmsAgent.actionDestinationName(action)); - super.afterPropertiesSet(); - - log.info("Listening to "+getDestinationName()); - } - - public void setJmsAgent(JmsAgent jmsAgent) { - this.jmsAgent = jmsAgent; - } - - public void setAction(String action) { - this.action = action; - } - - public void setMessageConverter(MessageConverter messageConverter) { - this.messageConverter = messageConverter; - } - -} diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java index 099498caa..7623e79f0 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java +++ b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java @@ -5,9 +5,6 @@ import java.net.UnknownHostException; import java.util.UUID; import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageListener; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -21,7 +18,8 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.jms.core.JmsTemplate; /** JMS based implementation of SLC Agent. */ -public class JmsAgent extends AbstractAgent implements SlcAgent, InitializingBean, DisposableBean { +public class JmsAgent extends AbstractAgent implements SlcAgent, + InitializingBean, DisposableBean { private final static Log log = LogFactory.getLog(JmsAgent.class); private final SlcAgentDescriptor agentDescriptor; @@ -29,9 +27,6 @@ public class JmsAgent extends AbstractAgent implements SlcAgent, InitializingBea private Destination agentRegister; private Destination agentUnregister; - private String agentDestinationPrefix = "agent."; - private String agentDestinationBase; - public JmsAgent() { try { agentDescriptor = new SlcAgentDescriptor(); @@ -43,8 +38,6 @@ public class JmsAgent extends AbstractAgent implements SlcAgent, InitializingBea } public void afterPropertiesSet() throws Exception { - agentDestinationBase = agentDestinationPrefix - + agentDescriptor.getUuid() + "."; jmsTemplate.convertAndSend(agentRegister, agentDescriptor); log.info("Agent #" + agentDescriptor.getUuid() + " registered to " + agentRegister); @@ -52,12 +45,8 @@ public class JmsAgent extends AbstractAgent implements SlcAgent, InitializingBea public void destroy() throws Exception { jmsTemplate.convertAndSend(agentUnregister, agentDescriptor); - log.info("Agent #" + agentDescriptor.getUuid() + " unregistered to " - + agentRegister); - } - - public String actionDestinationName(String action) { - return agentDestinationBase + action; + log.info("Agent #" + agentDescriptor.getUuid() + " unregistered from " + + agentUnregister); } public void newExecution(SlcExecution slcExecution) { @@ -77,8 +66,7 @@ public class JmsAgent extends AbstractAgent implements SlcAgent, InitializingBea this.agentUnregister = agentUnregister; } - public void setAgentDestinationPrefix(String agentDestinationPrefix) { - this.agentDestinationPrefix = agentDestinationPrefix; + public String getMessageSelector() { + return "slc-agentId=" + agentDescriptor.getUuid(); } - } diff --git a/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring-agent.xml b/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring-agent.xml index 3802ecc04..a6492a546 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring-agent.xml +++ b/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring-agent.xml @@ -7,19 +7,26 @@ - - + + - + - - + + + + + + + + + + - \ No newline at end of file diff --git a/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml b/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml index 05d439db7..14dde19c4 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml +++ b/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml @@ -22,7 +22,7 @@ - + @@ -33,6 +33,8 @@ physicalName="agent.register" /> + - -- 2.39.2