diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java b/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java index df27da1566..94cd81cda2 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java +++ b/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java @@ -277,9 +277,14 @@ public class BrokerService implements Service { ClassLoader loader = BrokerService.class.getClassLoader(); Class clazz = loader.loadClass("org.bouncycastle.jce.provider.BouncyCastleProvider"); Provider bouncycastle = (Provider) clazz.newInstance(); - Security.insertProviderAt(bouncycastle, - Integer.getInteger("org.apache.activemq.broker.BouncyCastlePosition", 2)); - LOG.info("Loaded the Bouncy Castle security provider."); + Integer bouncyCastlePosition = Integer.getInteger("org.apache.activemq.broker.BouncyCastlePosition"); + int ret = 0; + if (bouncyCastlePosition != null) { + ret = Security.insertProviderAt(bouncycastle, bouncyCastlePosition); + } else { + ret = Security.addProvider(bouncycastle); + } + LOG.info("Loaded the Bouncy Castle security provider at position: " + ret); } catch(Throwable e) { // No BouncyCastle found so we use the default Java Security Provider } diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java index 3c38186f8b..66ff094eb4 100644 --- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java +++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java @@ -55,7 +55,7 @@ public class AMQ2902Test extends TestCase { LOG.error("got event: " + event + ", ex:" + event.getThrowableInformation().getThrowable(), event.getThrowableInformation().getThrowable()); LOG.error("Event source: ", new Throwable("Here")); } - if( !"Loaded the Bouncy Castle security provider.".equals(event.getMessage()) ) { + if( !((String) event.getMessage()).startsWith("Loaded the Bouncy Castle security provider at position") ) { if (event.getMDC("activemq.broker") == null) { failedToFindMDC.set(Boolean.TRUE); }