From ffe7754e421f8ad5d3a336f54a498f67c6d72839 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 15 Jul 2010 11:40:43 +0000 Subject: [PATCH] Finalize JMS serialization Introduce JMS customization properties git-svn-id: https://svn.argeo.org/slc/trunk@3701 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../META-INF/spring/common.xml | 3 +- .../META-INF/spring/jms.xml | 71 +++++++++++-------- .../META-INF/spring/osgi.xml | 11 +-- .../META-INF/spring/transport.xml | 42 ----------- .../org.argeo.slc.agent.jms/agent.properties | 6 +- .../META-INF/spring/activemq-osgi.xml | 5 +- .../META-INF/spring/activemq.xml | 13 +--- .../activemq.properties | 4 +- .../META-INF/spring/agentProxy-osgi.xml | 14 ++-- .../slc/core/test/tree/TreeTestResult.java | 7 +- .../slc/dao/test/tree/TreeTestResultDao.java | 3 +- .../java/org/argeo/slc/jms/JmsAgentProxy.java | 15 ++-- .../slc/jms/JmsTreeTestResultListener.java | 2 + .../org/argeo/slc/activemq/spring.xml | 40 ----------- .../test/tree/TreeTestResultDaoHibernate.java | 3 +- .../slc/jcr/dao/TreeTestResultDaoJcr.java | 3 +- .../slc/jcr/dao/TreeTestResultNodeMapper.java | 3 +- .../slc/jcr/dao/TreeTestResultDaoJcrTest.java | 4 +- 18 files changed, 87 insertions(+), 162 deletions(-) delete mode 100644 modules/agent/org.argeo.slc.agent.jms/META-INF/spring/transport.xml delete mode 100644 runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml diff --git a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/common.xml b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/common.xml index 5dfab09ad..324146ff9 100644 --- a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/common.xml +++ b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/common.xml @@ -9,8 +9,7 @@ - osgibundle:agent.properties - + osgibundle:agent.properties diff --git a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/jms.xml b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/jms.xml index 3349c3012..78a15fee6 100644 --- a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/jms.xml +++ b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/jms.xml @@ -4,63 +4,76 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-lazy-init="false"> - + + - + + + + + + + + + + + - - - - - - + - - - - - - - - - + - + - - - - + + + + + - + - + + + + + + + + + + + + ${slc.server.jms.url} + + + + + - + diff --git a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/osgi.xml b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/osgi.xml index a40763c43..6020ed85b 100644 --- a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/osgi.xml +++ b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/osgi.xml @@ -8,6 +8,12 @@ + + + + @@ -15,9 +21,6 @@ - + - \ No newline at end of file diff --git a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/transport.xml b/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/transport.xml deleted file mode 100644 index 8e2c63248..000000000 --- a/modules/agent/org.argeo.slc.agent.jms/META-INF/spring/transport.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - ${slc.server.jms.url} - - - - - - - - \ No newline at end of file diff --git a/modules/agent/org.argeo.slc.agent.jms/agent.properties b/modules/agent/org.argeo.slc.agent.jms/agent.properties index d1afbfa54..d688a7450 100644 --- a/modules/agent/org.argeo.slc.agent.jms/agent.properties +++ b/modules/agent/org.argeo.slc.agent.jms/agent.properties @@ -1 +1,5 @@ -slc.server.jms.url=tcp://localhost:61616 \ No newline at end of file +slc.server.jms.url=tcp://localhost:61616 + +# Customization +slc.agent.jms.disableMarshalling=false +slc.agent.jms.resultListener.onlyOnClose=false diff --git a/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq-osgi.xml b/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq-osgi.xml index 04869badd..1c63302d2 100644 --- a/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq-osgi.xml +++ b/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq-osgi.xml @@ -6,12 +6,9 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> + - diff --git a/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq.xml b/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq.xml index b17159039..57ad1970f 100644 --- a/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq.xml +++ b/modules/server/org.argeo.slc.server.activemq/META-INF/spring/activemq.xml @@ -8,8 +8,7 @@ - osgibundle:activemq.properties - + osgibundle:activemq.properties @@ -25,16 +24,8 @@ - - - - + diff --git a/modules/server/org.argeo.slc.server.activemq/activemq.properties b/modules/server/org.argeo.slc.server.activemq/activemq.properties index d1afbfa54..0e524d438 100644 --- a/modules/server/org.argeo.slc.server.activemq/activemq.properties +++ b/modules/server/org.argeo.slc.server.activemq/activemq.properties @@ -1 +1,3 @@ -slc.server.jms.url=tcp://localhost:61616 \ No newline at end of file +slc.server.jms.url=tcp://localhost:61616 + +slc.server.jms.disableMarshalling=false \ No newline at end of file diff --git a/modules/server/org.argeo.slc.server.agentproxy/META-INF/spring/agentProxy-osgi.xml b/modules/server/org.argeo.slc.server.agentproxy/META-INF/spring/agentProxy-osgi.xml index 923a6549a..874a92a80 100644 --- a/modules/server/org.argeo.slc.server.agentproxy/META-INF/spring/agentProxy-osgi.xml +++ b/modules/server/org.argeo.slc.server.agentproxy/META-INF/spring/agentProxy-osgi.xml @@ -1,14 +1,16 @@ - - + - + - - \ No newline at end of file + + + \ No newline at end of file diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java index eadfbef58..c27da2f76 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java @@ -20,7 +20,6 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import java.util.UUID; @@ -61,7 +60,7 @@ public class TreeTestResult implements TestResult, StructureAware, private List attachments = new ArrayList(); // Headers. Used to accelerate request on a specific test result. - private Map attributes = new TreeMap(); + private SortedMap attributes = new TreeMap(); // Runtime Data private TreeSPath currentPath; @@ -271,11 +270,11 @@ public class TreeTestResult implements TestResult, StructureAware, return super.hashCode(); } - public Map getAttributes() { + public SortedMap getAttributes() { return attributes; } - public void setAttributes(Map attributes) { + public void setAttributes(SortedMap attributes) { this.attributes = attributes; } diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java index 2c64b6cdf..6ccaafaae 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java @@ -18,6 +18,7 @@ package org.argeo.slc.dao.test.tree; import java.util.List; import java.util.Map; +import java.util.SortedMap; import org.argeo.slc.core.attachment.SimpleAttachment; import org.argeo.slc.core.structure.tree.TreeSPath; @@ -42,7 +43,7 @@ public interface TreeTestResultDao extends TestResultDao { /** Update attributes */ public void updateAttributes(String testResultId, - Map attributes); + SortedMap attributes); public void addAttachment(String testResultId, SimpleAttachment attachment); } diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java index 1c8c88709..2ab9a38f8 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java +++ b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java @@ -90,8 +90,10 @@ public class JmsAgentProxy implements SlcAgent { res = sendReceive(messageCreator, true); } finally { if (log.isTraceEnabled()) - log.trace("Agend proxy send/receive in " - + (System.currentTimeMillis() - begin) + " ms"); + log.trace("To agent #" + agentUuid + " in " + + (System.currentTimeMillis() - begin) + " ms, query '" + + messageCreator.getQuery() + "', correlationId " + + messageCreator.getCorrelationId()); } return res; } @@ -125,11 +127,6 @@ public class JmsAgentProxy implements SlcAgent { protected void send(AgentMC messageCreator) { jmsTemplate.send(requestDestination, messageCreator); - if (log.isTraceEnabled()) - log.debug("Sent query '" + messageCreator.getQuery() - + "' with correlationId " - + messageCreator.getCorrelationId() + " to agent " - + agentUuid); } protected Object processResponse(AgentMC messageCreator, @@ -154,10 +151,6 @@ public class JmsAgentProxy implements SlcAgent { else return null; } - if (log.isTraceEnabled()) - log.debug("Received response for query '" + query - + "' with correlationId " + correlationId + " from agent " - + agentUuid); try { return fromMessage(responseMsg); diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsTreeTestResultListener.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsTreeTestResultListener.java index 6b58bb8a5..dc545c5eb 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsTreeTestResultListener.java +++ b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsTreeTestResultListener.java @@ -33,6 +33,7 @@ import org.argeo.slc.test.TestResultPart; import org.springframework.jms.JmsException; import org.springframework.jms.core.JmsTemplate; +/** JMS based tree test result listener implementation. */ public class JmsTreeTestResultListener implements TreeTestResultListener { private final Log log = LogFactory.getLog(getClass()); @@ -128,6 +129,7 @@ public class JmsTreeTestResultListener implements TreeTestResultListener { } + /** Publishes the test result only when it gets closed. */ public void setOnlyOnClose(Boolean onlyOnClose) { this.onlyOnClose = onlyOnClose; } 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 deleted file mode 100644 index 25213a9b5..000000000 --- a/runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernate.java b/runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernate.java index 5e779e232..68ff5fe09 100644 --- a/runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernate.java +++ b/runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernate.java @@ -20,6 +20,7 @@ import java.sql.SQLException; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.SortedMap; import org.argeo.slc.SlcException; import org.argeo.slc.core.attachment.SimpleAttachment; @@ -154,7 +155,7 @@ public class TreeTestResultDaoHibernate extends HibernateDaoSupport implements } public void updateAttributes(final String testResultId, - final Map attributes) { + final SortedMap attributes) { getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcr.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcr.java index 91e3496d3..b0e0d5997 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcr.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcr.java @@ -22,6 +22,7 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import java.util.Map; +import java.util.SortedMap; import javax.jcr.Node; import javax.jcr.NodeIterator; @@ -326,7 +327,7 @@ public class TreeTestResultDaoJcr extends AbstractSlcJcrDao implements } public synchronized void updateAttributes(final String testResultId, - final Map attributes) { + final SortedMap attributes) { try { String queryString = "//testresult[@uuid='" + testResultId + "']"; Query query = createQuery(queryString, Query.XPATH); diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java index c1d553916..cc2cbe9f1 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java @@ -36,7 +36,6 @@ import javax.jcr.query.QueryManager; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.jcr.BeanNodeMapper; -import org.argeo.jcr.JcrUtils; import org.argeo.slc.core.attachment.SimpleAttachment; import org.argeo.slc.core.structure.SimpleSElement; import org.argeo.slc.core.structure.tree.TreeSPath; @@ -240,7 +239,7 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { } // ATTRIBUTES - Map attributes = new TreeMap(); + SortedMap attributes = new TreeMap(); PropertyIterator propIt = node.getProperties(); props: while (propIt.hasNext()) { Property prop = propIt.nextProperty(); diff --git a/runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java b/runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java index af449c3eb..c8c869333 100644 --- a/runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java +++ b/runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java @@ -17,7 +17,7 @@ package org.argeo.slc.jcr.dao; import java.io.ByteArrayOutputStream; -import java.util.Map; +import java.util.SortedMap; import java.util.TreeMap; import java.util.UUID; @@ -90,7 +90,7 @@ public class TreeTestResultDaoJcrTest extends AbstractSpringTestCase { ttrDao.addResultPart(ttr.getUuid(), path, resultPart, null); // TestAdd Attribute - Map newAtt = new TreeMap(); + SortedMap newAtt = new TreeMap(); newAtt.put("NewTestCase", "NonSortedView"); newAtt.put("NewTestCaseType", "csvdiff"); ttrDao.updateAttributes(ttr.getUuid(), newAtt); -- 2.39.2