This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit ca9ed072f45e52dbbc280d8a996bd862d11497ec Author: bd2019us <> AuthorDate: Fri May 10 18:44:16 2019 -0500 [CAMEL-13499] Use Random.nextDouble instead of Math.random for better performance --- .../org/apache/camel/example/cdi/metrics/UnreliableService.java | 4 +++- .../java/org/apache/camel/loanbroker/CreditAgencyProcessor.java | 6 ++++-- .../main/java/org/apache/camel/loanbroker/bank/BankProcessor.java | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/camel-example-cdi-metrics/src/main/java/org/apache/camel/example/cdi/metrics/UnreliableService.java b/examples/camel-example-cdi-metrics/src/main/java/org/apache/camel/example/cdi/metrics/UnreliableService.java index a4cd023..2441ffd 100644 --- a/examples/camel-example-cdi-metrics/src/main/java/org/apache/camel/example/cdi/metrics/UnreliableService.java +++ b/examples/camel-example-cdi-metrics/src/main/java/org/apache/camel/example/cdi/metrics/UnreliableService.java @@ -21,13 +21,15 @@ import javax.enterprise.context.ApplicationScoped; import com.codahale.metrics.annotation.Metered; import org.apache.camel.Exchange; import org.apache.camel.RuntimeExchangeException; +import java.util.Random; @ApplicationScoped public class UnreliableService { @Metered public void attempt(Exchange exchange) { - if (Math.random() < 0.5) { + Random rand = new Random(); + if (rand.nextDouble() < 0.5) { throw new RuntimeExchangeException("Random failure", exchange); } } diff --git a/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/CreditAgencyProcessor.java b/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/CreditAgencyProcessor.java index 36dbf08..4b308e7 100644 --- a/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/CreditAgencyProcessor.java +++ b/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/CreditAgencyProcessor.java @@ -18,14 +18,16 @@ package org.apache.camel.loanbroker; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import java.util.Random; //START SNIPPET: creditAgency public class CreditAgencyProcessor implements Processor { public void process(Exchange exchange) throws Exception { String ssn = exchange.getIn().getHeader(Constants.PROPERTY_SSN, String.class); - int score = (int) (Math.random() * 600 + 300); - int hlength = (int) (Math.random() * 19 + 1); + Random rand = new Random(); + int score = (int) (rand.nextDouble() * 600 + 300); + int hlength = (int) (rand.nextDouble() * 19 + 1); exchange.getOut().setHeader(Constants.PROPERTY_SCORE, score); exchange.getOut().setHeader(Constants.PROPERTY_HISTORYLENGTH, hlength); diff --git a/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/bank/BankProcessor.java b/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/bank/BankProcessor.java index 73baaed..e6ebb28 100644 --- a/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/bank/BankProcessor.java +++ b/examples/camel-example-loan-broker-jms/src/main/java/org/apache/camel/loanbroker/bank/BankProcessor.java @@ -20,6 +20,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.loanbroker.Constants; +import java.util.Random; //START SNIPPET: bank public class BankProcessor implements Processor { private final String bankName; @@ -33,7 +34,8 @@ public class BankProcessor implements Processor { public void process(Exchange exchange) throws Exception { String ssn = exchange.getIn().getHeader(Constants.PROPERTY_SSN, String.class); Integer historyLength = exchange.getIn().getHeader(Constants.PROPERTY_HISTORYLENGTH, Integer.class); - double rate = primeRate + (double) (historyLength / 12) / 10 + (Math.random() * 10) / 10; + Random rand = new Random(); + double rate = primeRate + (double) (historyLength / 12) / 10 + (rand.nextDouble() * 10) / 10; // set reply details as headers exchange.getOut().setHeader(Constants.PROPERTY_BANK, bankName);