You should use Math.abs();


2008/11/21 razu programista <[EMAIL PROTECTED]>:
> Hi everyone, I have a strange problem with the duration time of http request
> operation. I'm using HttpClient to invoking external http service.
> This is the code:
>
>    public void onMessageExchange(MessageExchange exchange) throws
> MessagingException {
>        if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
>            NormalizedMessage inMessage = exchange.getMessage("in");
>            HttpClient httpClient = new HttpClient();
>            PostMethod method = new PostMethod(locationURI);
>
>            String request;
>            try {
>
>                request = new
> SourceTransformer().toString(inMessage.getContent());
>                method.setRequestEntity(new StringRequestEntity(request,
> "text/xml", "utf-8"));
>
>                long before = System.currentTimeMillis();
>                httpClient.executeMethod(method);
>                long after = System.currentTimeMillis();
>
>                String response = method.getResponseBodyAsString();
>
>                // creating out message
>                NormalizedMessage outMessage = exchange.createMessage();
>                outMessage.setContent(new StringSource(response));
>                long timing = after - before;
>                if (timing < 0) {
>                    LOG.error("==================== THIS SHOULD NOT BE
> HAPPEND ===========================");
>                }
>
>                exchange.setMessage(outMessage, "out");
>
>            } catch (Exception ex) {
>                Fault fault = exchange.createFault();
>                fault.setContent(new StringSource(ex.toString()));
>                exchange.setFault(fault);
>            } finally {
>                method.releaseConnection();
>            }
>            channel.send(exchange);
>        }
>    }
>
>
> The problem is, sometime before is grater then after. I've tried to replace
> System.currentTimeMillis() to joda time (org.joda.time.DateTime), and
> StopWatch class (org.apache.commons.lang.time.StopWatch), but this not help.
> Please help, I don't know where could be the problem?
>
> Best regards,
> razu
>

Reply via email to