X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.activemq%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjms%2FJmsAgentProxy.java;h=2230cb876583e58cf6d8a53125205b8c9e0895f7;hb=d601802d5a50e4e30eb639a08eff5270b63fe599;hp=4029af0a9a95619bff92fdfa788fa85c74803952;hpb=dfcab50532cd38e55ce8b1305ac910f6dfc5e567;p=gpl%2Fargeo-slc.git 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 4029af0a9..2230cb876 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 @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2010 Mathieu Baudier + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.argeo.slc.jms; import java.util.List; @@ -14,6 +30,7 @@ import org.apache.commons.logging.LogFactory; import org.argeo.slc.SlcException; import org.argeo.slc.execution.ExecutionModuleDescriptor; import org.argeo.slc.msg.ExecutionAnswer; +import org.argeo.slc.msg.MsgConstants; import org.argeo.slc.process.SlcExecution; import org.argeo.slc.runtime.SlcAgent; import org.argeo.slc.runtime.SlcAgentDescriptor; @@ -36,6 +53,10 @@ public class JmsAgentProxy implements SlcAgent { this.jmsTemplate = jmsTemplate; } + public String getAgentUuid() { + return agentUuid; + } + public ExecutionModuleDescriptor getExecutionModuleDescriptor( final String moduleName, final String version) { return (ExecutionModuleDescriptor) sendReceive(new AgentMC( @@ -67,7 +88,18 @@ public class JmsAgentProxy implements SlcAgent { } protected Object sendReceive(AgentMC messageCreator) { - return sendReceive(messageCreator, true); + long begin = System.currentTimeMillis(); + Object res; + try { + res = sendReceive(messageCreator, true); + } finally { + if (log.isTraceEnabled()) + log.trace("To agent #" + agentUuid + " in " + + (System.currentTimeMillis() - begin) + " ms, query '" + + messageCreator.getQuery() + "', correlationId " + + messageCreator.getCorrelationId()); + } + return res; } /** @@ -99,11 +131,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, @@ -128,10 +155,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); @@ -175,7 +198,9 @@ public class JmsAgentProxy implements SlcAgent { msg = session.createTextMessage(); else msg = toMessage(body, session); - msg.setStringProperty(JmsAgent.PROPERTY_SLC_AGENT_ID, agentUuid); + msg + .setStringProperty(MsgConstants.PROPERTY_SLC_AGENT_ID, + agentUuid); msg.setStringProperty(JmsAgent.PROPERTY_QUERY, query); msg.setJMSCorrelationID(correlationId); setArguments(msg);