You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/03/04 08:58:09 UTC

[camel] 24/32: Refactor tests to avoid the usage of deprecated JndiRegistry

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4108b4eb3bc73673092b8dd2bb11534099b7c987
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Mar 3 23:26:06 2020 +0100

    Refactor tests to avoid the usage of deprecated JndiRegistry
---
 .../java/org/apache/camel/ContextTestSupport.java    |  7 ++++---
 .../camel/builder/NotifyBuilderFromRouteTest.java    |  6 +++---
 .../apache/camel/builder/ThreadPoolBuilderTest.java  |  6 +++---
 ...hoseMethodWithMatchingTypeAndSkipSettersTest.java |  6 +++---
 .../bean/BeanComponentMissingParenthesisTest.java    |  6 +++---
 .../camel/component/bean/BeanConcurrentTest.java     |  6 +++---
 .../camel/component/bean/BeanEndpointTest.java       |  6 +++---
 .../bean/BeanExchangeAsReturnTypeNotAllowedTest.java | 10 ++++------
 .../bean/BeanExplicitMethodAmbiguousTest.java        |  6 +++---
 .../camel/component/bean/BeanExplicitMethodTest.java |  6 +++---
 .../component/bean/BeanExpressionConcurrentTest.java |  6 +++---
 .../camel/component/bean/BeanImplicitMethodTest.java | 10 ++++------
 .../camel/component/bean/BeanInPipelineTest.java     |  8 +++-----
 .../component/bean/BeanInfoSelectMethodTest.java     |  6 +++---
 .../component/bean/BeanInvokeWithNullBodyTest.java   |  6 +++---
 .../camel/component/bean/BeanLifecycleTest.java      |  6 +++---
 .../apache/camel/component/bean/BeanMapPutTest.java  |  6 +++---
 .../component/bean/BeanMethodValueWithCommaTest.java |  6 +++---
 .../bean/BeanMethodValueWithExchangeTest.java        |  6 +++---
 ...ParameterAndNoMethodWithNoParameterIssueTest.java |  6 +++---
 .../bean/BeanMethodWithStringParameterTest.java      |  6 +++---
 .../component/bean/BeanOgnlPerformanceTest.java      |  6 +++---
 .../bean/BeanParameterInvalidSyntaxTest.java         |  6 +++---
 .../bean/BeanParameterInvalidValueTest.java          |  6 +++---
 .../BeanParameterMethodCallThreeBodyOgnlTest.java    |  6 +++---
 .../bean/BeanParameterNoBeanBindingTest.java         |  6 +++---
 .../bean/BeanParameterThreeBodyOgnlTest.java         |  6 +++---
 .../component/bean/BeanParameterValueOgnlTest.java   |  6 +++---
 .../bean/BeanParameterValueOverloadedTest.java       |  6 +++---
 .../camel/component/bean/BeanParameterValueTest.java |  6 +++---
 .../camel/component/bean/BeanPipelineTest.java       |  8 +++-----
 .../component/bean/BeanPropagateHeaderTest.java      |  6 +++---
 .../component/bean/BeanRefMethodNotFoundTest.java    |  6 +++---
 .../camel/component/bean/BeanRefNotFoundTest.java    |  6 +++---
 .../camel/component/bean/BeanRegistryBeanTest.java   |  6 +++---
 .../bean/BeanReturnCallableReturnNullTest.java       | 10 ++++------
 .../camel/component/bean/BeanReturnCallableTest.java | 10 ++++------
 .../bean/BeanWithAnnotationAndExchangeTest.java      | 10 ++++------
 .../bean/BeanWithAnnotationInheritedTest.java        |  9 ++++-----
 .../BeanWithExchangeExceptionAnnotationTest.java     | 10 ++++------
 .../BeanWithExpressionInjectionPredicateTest.java    |  8 +++-----
 .../bean/BeanWithExpressionInjectionTest.java        |  9 ++++-----
 .../camel/component/bean/BeanWithHeaderTest.java     | 10 ++++------
 .../bean/BeanWithHeadersAndBodyInject2Test.java      |  8 +++-----
 .../bean/BeanWithHeadersAndBodyInject3Test.java      |  8 +++-----
 .../bean/BeanWithHeadersAndBodyInjectionTest.java    |  8 +++-----
 .../component/bean/BeanWithInputStreamBodyTest.java  |  6 +++---
 .../component/bean/BeanWithMethodHeaderTest.java     |  8 +++-----
 ...WithPropertiesAndHeadersAndBodyInjectionTest.java |  8 +++-----
 .../BeanWithPropertiesAndHeadersInjectionTest.java   |  8 +++-----
 .../BeanWithXPathInjectionUsingHeaderValueTest.java  |  8 +++-----
 .../BeanWithXPathInjectionUsingResultTypeTest.java   |  9 ++++-----
 .../BodyAnnotationToDisambiguateMethodsTest.java     |  8 +++-----
 ...onentWithPropertiesLookupSetFromEndpointTest.java |  6 +++---
 .../bean/CustomParameterMappingStrategyTest.java     |  6 +++---
 .../bean/DefaultParameterMappingStrategyTest.java    |  5 ++---
 ...xpressionAnnotationToDisambiguateMethodsTest.java |  8 +++-----
 .../component/bean/FileBeanParameterBindingTest.java |  6 +++---
 .../bean/MethodCallBeanRefMethodNotFoundTest.java    |  6 +++---
 .../bean/MethodCallBeanRefNotFoundTest.java          |  6 +++---
 .../bean/MethodCallRefOrBeanPrefixTest.java          |  6 +++---
 .../camel/component/bean/MyCurrencyBeanTest.java     |  6 +++---
 .../apache/camel/component/bean/NewInstanceTest.java |  9 +++++----
 .../camel/component/bean/PredicateAsBeanTest.java    |  8 +++-----
 ...LanguageBeanFunctionMethodValueWithCommaTest.java |  6 +++---
 ...geBeanFunctionMethodValueWithParenthesisTest.java |  6 +++---
 .../bean/issues/BeanRouteToDerivedClassTest.java     |  6 +++---
 .../bean/issues/BeanVsProcessorPerformanceTest.java  |  6 +++---
 .../bean/issues/FilterBeanRegistryTest.java          |  6 +++---
 .../camel/component/dataset/BigDataSetTest.java      | 11 +++++------
 .../camel/component/dataset/CustomDataSetTest.java   | 11 +++++------
 .../camel/component/dataset/DataSetConsumerTest.java | 11 +++++------
 .../camel/component/dataset/DataSetPreloadTest.java  | 11 +++++------
 .../camel/component/dataset/DataSetProducerTest.java | 11 +++++------
 .../camel/component/dataset/DataSetSedaTest.java     | 11 +++++------
 .../apache/camel/component/dataset/DataSetTest.java  | 11 +++++------
 .../component/dataset/FileDataSetConsumerTest.java   | 11 +++++------
 .../dataset/FileDataSetConsumerWithSplitTest.java    | 11 +++++------
 .../component/dataset/FileDataSetProducerTest.java   | 11 +++++------
 .../dataset/FileDataSetProducerWithSplitTest.java    | 11 +++++------
 .../component/dataset/ListDataSetConsumerTest.java   | 11 +++++------
 .../component/dataset/ListDataSetProducerTest.java   | 11 +++++------
 .../component/dataset/RoutePerformanceTest.java      | 11 +++++------
 .../directvm/DirectVmHeaderFilterStrategyTest.java   |  3 +--
 .../file/AntPathMatcherGenericFileFilterTest.java    |  6 +++---
 .../apache/camel/component/file/BeanToFileTest.java  |  8 +++-----
 .../component/file/FileBeginFailureOneTimeTest.java  |  6 +++---
 .../FileConsumerBridgeRouteExceptionHandlerTest.java |  6 +++---
 .../file/FileConsumerCustomExceptionHandlerTest.java |  6 +++---
 .../file/FileConsumerCustomSchedulerTest.java        |  6 +++---
 .../file/FileConsumerDirectoryFilterTest.java        |  6 +++---
 .../file/FileConsumerFileExpressionTest.java         |  6 +++---
 ...FileConsumerFileExpressionThrowExceptionTest.java |  6 +++---
 .../component/file/FileConsumerFileFilterTest.java   |  6 +++---
 .../file/FileConsumerIdempotentRefTest.java          |  6 +++---
 .../file/FileConsumerMoveExpressionTest.java         |  6 +++---
 .../file/FileConsumerPollStrategyNotBeginTest.java   |  6 +++---
 .../FileConsumerPollStrategyPolledMessagesTest.java  |  6 +++---
 ...nsumerPollStrategyRollbackThrowExceptionTest.java |  6 +++---
 .../FileConsumerPollStrategyStopOnRollbackTest.java  |  6 +++---
 .../component/file/FileConsumerPollStrategyTest.java |  6 +++---
 ...kerFileRecursiveFilterDeleteOldLockFilesTest.java |  6 +++---
 .../component/file/FileProducerExpressionTest.java   |  6 +++---
 .../file/FileProducerMoveExistingStrategyTest.java   |  6 +++---
 .../camel/component/file/FileSorterRefTest.java      |  6 +++---
 .../file/FilerProducerDoneFileNameRouteTest.java     |  6 +++---
 .../file/FilerProducerDoneFileNameTest.java          |  6 +++---
 .../apache/camel/component/file/ToFileRouteTest.java |  6 +++---
 .../FileIdempotentReadLockDelayedAsyncTest.java      |  6 +++---
 .../strategy/FileIdempotentReadLockDelayedTest.java  |  6 +++---
 .../file/strategy/FileIdempotentReadLockTest.java    |  6 +++---
 .../component/language/LanguageScriptRouteTest.java  |  6 +++---
 .../apache/camel/component/log/LogListenerTest.java  |  5 +----
 .../org/apache/camel/component/log/LogMaskTest.java  |  8 ++++----
 .../apache/camel/component/mock/MockAsBeanTest.java  |  6 +++---
 .../camel/component/mock/MockEndpointTest.java       |  6 +++---
 .../PropertiesComponentOnExceptionTest.java          |  6 +++---
 ...pertiesComponentSomethingElseBoundToJndiTest.java |  6 +++---
 .../apache/camel/component/rest/FromRestApiTest.java |  6 +++---
 .../component/rest/FromRestConfigurationTest.java    |  6 +++---
 .../component/rest/FromRestDefaultValueTest.java     |  6 +++---
 .../camel/component/rest/FromRestDuplicateTest.java  |  6 +++---
 .../component/rest/FromRestGetContentTypeTest.java   |  6 +++---
 .../rest/FromRestGetCorsAllowCredentialsTest.java    |  6 +++---
 .../component/rest/FromRestGetCorsCustomTest.java    |  6 +++---
 .../camel/component/rest/FromRestGetCorsTest.java    |  6 +++---
 .../component/rest/FromRestGetEmbeddedRouteTest.java |  6 +++---
 .../component/rest/FromRestGetHttpErrorCodeTest.java |  6 +++---
 .../component/rest/FromRestGetInterceptTest.java     |  6 +++---
 .../component/rest/FromRestGetOnExceptionTest.java   |  6 +++---
 .../rest/FromRestGetPlaceholderParamTest.java        | 11 +++++------
 .../camel/component/rest/FromRestGetPolicyTest.java  |  8 ++++----
 .../apache/camel/component/rest/FromRestGetTest.java |  6 +++---
 .../rest/RestComponentVerifierExtensionTest.java     |  6 +++---
 .../component/rest/RestComponentVerifierTest.java    |  6 +++---
 .../component/scheduler/SchedulerRouteTest.java      |  8 +++-----
 .../component/seda/SedaConcurrentConsumersTest.java  |  6 +++---
 .../component/seda/SedaDefaultBlockWhenFullTest.java |  6 +++---
 .../component/timer/TimerGracefulShutdownTest.java   |  6 +++---
 .../timer/TimerReferenceConfigurationTest.java       |  6 +++---
 .../apache/camel/component/timer/TimerRouteTest.java |  8 +++-----
 .../validator/CustomSchemaFactoryFeatureTest.java    |  6 +++---
 .../component/validator/ValidatorBeanCallTest.java   |  6 +++---
 .../ValidatorResourceResolverFactoryTest.java        | 20 ++++++++++++--------
 .../apache/camel/component/vm/VMSplitterTest.java    |  6 +++---
 .../xslt/XsltCustomizeEntityResolverTest.java        |  6 +++---
 .../component/xslt/XsltCustomizeURIResolverTest.java |  6 +++---
 .../apache/camel/component/xslt/XsltRouteTest.java   |  6 +++---
 .../component/xslt/XsltUriResolverFactoryTest.java   | 19 +++++++++++--------
 .../camel/impl/BeanInjectRouteBuilderTest.java       |  9 +++++----
 .../CamelContextAddRestDefinitionsFromXmlTest.java   | 11 ++++++-----
 .../camel/impl/DataFormatContextAwareTest.java       |  9 +++++----
 .../DefaultComponentReferencePropertiesTest.java     |  9 +++++----
 .../org/apache/camel/impl/DefaultComponentTest.java  | 19 ++++++++++---------
 .../camel/impl/LanguageCamelContextAwareTest.java    |  9 +++++----
 .../camel/impl/LogDebugBodyMaxCharsOffTest.java      |  9 +++++----
 .../apache/camel/impl/LogDebugBodyMaxCharsTest.java  |  9 +++++----
 .../apache/camel/impl/LogDebugBodyStreamsTest.java   |  9 +++++----
 .../org/apache/camel/impl/RefDataFormatTest.java     |  9 +++++----
 .../apache/camel/impl/RouteIdRestDefinitionTest.java | 11 ++++++-----
 .../camel/impl/RoutePolicyRefCallbackTest.java       |  9 +++++----
 .../StartupListenerComponentFromRegistryTest.java    |  5 +++--
 .../impl/engine/CamelPostProcessorHelperTest.java    |  7 ++++---
 .../apache/camel/impl/model/RouteIdFactoryTest.java  |  6 +++---
 .../validator/BeanValidatorInputValidateTest.java    |  6 +++---
 .../validator/BeanValidatorOutputValidateTest.java   |  6 +++---
 ...extScopedOnExceptionErrorHandlerRefIssueTest.java |  6 +++---
 ...OnExceptionErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 ...nExceptionNotHandledErrorHandlerRefIssueTest.java |  6 +++---
 ...nNotHandledErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 ...otHandledRouteScopedErrorHandlerRefIssueTest.java |  6 +++---
 ...RouteScopedErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 ...ExceptionRouteScopedErrorHandlerRefIssueTest.java |  6 +++---
 ...RouteScopedErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 .../issues/OnExceptionErrorHandlerRefIssueTest.java  |  6 +++---
 ...OnExceptionErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 ...nExceptionNotHandledErrorHandlerRefIssueTest.java |  6 +++---
 ...nNotHandledErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 ...otHandledRouteScopedErrorHandlerRefIssueTest.java |  6 +++---
 ...RouteScopedErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 ...ExceptionRouteScopedErrorHandlerRefIssueTest.java |  6 +++---
 ...RouteScopedErrorHandlerRefIssueTwoRoutesTest.java |  6 +++---
 .../camel/issues/OnExceptionWithTwoBeansTest.java    |  7 ++++---
 .../RetryRouteScopedUntilRecipientListIssueTest.java |  6 +++---
 .../camel/issues/SedaFileIdempotentIssueTest.java    |  6 +++---
 .../camel/issues/SetHeaderInDoCatchIssueTest.java    |  7 ++++---
 ...itterUsingBeanReturningCloseableIteratorTest.java |  6 +++---
 .../SplitterUsingBeanReturningMessageTest.java       |  6 +++---
 .../camel/issues/TryCatchWithSplitIssueTest.java     |  6 +++---
 .../camel/language/BeanAnnotationParameterTest.java  |  6 +++---
 .../language/BeanAnnotationParameterTwoTest.java     |  6 +++---
 ...GNLWithDotInParameterPropertyPlaceholderTest.java |  6 +++---
 .../BeanLanguageOGNLWithDotInParameterTest.java      |  6 +++---
 .../java/org/apache/camel/language/BeanTest.java     | 13 ++++++-------
 .../org/apache/camel/language/FileLanguageTest.java  |  6 +++---
 .../apache/camel/language/LanguageServiceTest.java   |  6 +++---
 .../org/apache/camel/language/RefPredicateTest.java  |  6 +++---
 .../test/java/org/apache/camel/language/RefTest.java |  6 +++---
 .../camel/language/simple/SimpleOperatorTest.java    |  6 +++---
 .../language/simple/SimpleParserPredicateTest.java   |  6 +++---
 .../org/apache/camel/language/simple/SimpleTest.java |  6 +++---
 .../org/apache/camel/model/LoadRestFromXmlTest.java  |  6 +++---
 .../model/LoadRouteFromXmlWithOnExceptionTest.java   |  6 +++---
 .../camel/model/LoadRouteFromXmlWithPolicyTest.java  |  8 ++++----
 .../camel/processor/BeanCachedProcessorTest.java     | 15 ++++++++-------
 .../org/apache/camel/processor/BeanCachedTest.java   | 15 ++++++++-------
 .../BeanOgnMethodWithXPathInjectionTest.java         |  8 +++-----
 .../BeanRecipientListInterfaceAnnotationTest.java    | 10 ++++------
 .../camel/processor/BeanRecipientListTest.java       |  8 +++-----
 .../processor/BeanRecipientListTimeoutTest.java      |  8 +++-----
 .../org/apache/camel/processor/BeanRouteTest.java    |  8 +++-----
 .../apache/camel/processor/BeanSingletonTest.java    | 16 ++++++++--------
 .../camel/processor/BeanWithExceptionTest.java       |  8 +++-----
 .../camel/processor/BeanWithXPathInjectionTest.java  |  9 ++++-----
 .../CBRPredicateBeanThrowExceptionTest.java          |  6 +++---
 .../org/apache/camel/processor/ClaimCheckTest.java   |  6 +++---
 .../processor/ComposedMessageProcessorTest.java      |  6 +++---
 .../CustomConsumerExceptionHandlerTest.java          |  6 +++---
 .../camel/processor/CustomRefLoadBalanceTest.java    |  6 +++---
 .../processor/DataFormatServiceCustomRefTest.java    |  6 +++---
 .../DeadLetterChannelAlwaysHandledTest.java          |  6 +++---
 .../DeadLetterChannelRestartFromBeginningTest.java   |  6 +++---
 .../processor/DefinitionPolicyPerProcessorTest.java  |  8 ++++----
 .../java/org/apache/camel/processor/DetourTest.java  |  6 +++---
 .../processor/ErrorHandlerWrappedEachNodeTest.java   |  6 +++---
 .../apache/camel/processor/LogEipListenerTest.java   |  6 +++---
 .../org/apache/camel/processor/LogEipMaskTest.java   |  8 ++++----
 .../org/apache/camel/processor/MethodFilterTest.java | 11 +++++------
 .../org/apache/camel/processor/NormalizerTest.java   |  8 +++-----
 .../camel/processor/PolicyPerProcessorTest.java      |  8 ++++----
 .../apache/camel/processor/PolicyPerRouteTest.java   |  8 ++++----
 .../processor/RecipientListBeanOnPrepareTest.java    |  6 +++---
 .../camel/processor/RecipientListBeanTest.java       |  6 +++---
 .../RecipientListFineGrainedErrorHandlingTest.java   |  6 +++---
 ...ientListParallelFineGrainedErrorHandlingTest.java |  6 +++---
 .../processor/RecipientListReturnValueTest.java      |  6 +++---
 .../apache/camel/processor/RoutePoliciesRefTest.java |  6 +++---
 .../org/apache/camel/processor/SimulatorTest.java    |  8 +++-----
 .../camel/processor/SplitAggregateInOutTest.java     |  6 +++---
 .../processor/SplitRefCustomExpressionTest.java      |  6 +++---
 .../camel/processor/SplitterMethodCallTest.java      |  6 +++---
 .../org/apache/camel/processor/SplitterPojoTest.java |  6 +++---
 .../camel/processor/ThrottlerMethodCallTest.java     |  6 +++---
 .../TryCatchCaughtExceptionFinallyTest.java          |  6 +++---
 .../camel/processor/TryCatchCaughtExceptionTest.java |  6 +++---
 .../TryCatchCaughtExceptionTwoTimesTest.java         |  6 +++---
 .../processor/TryFinallyCaughtExceptionTest.java     |  6 +++---
 .../camel/processor/WireTapBeanAsProcessorTest.java  |  6 +++---
 .../camel/processor/WireTapOnPrepareRefTest.java     |  6 +++---
 .../camel/processor/WireTapShutdownBeanTest.java     |  6 +++---
 .../camel/processor/WireTapShutdownRouteTest.java    |  6 +++---
 .../apache/camel/processor/WireTapVoidBeanTest.java  |  6 +++---
 .../AggregateForceCompletionOnStopTest.java          |  6 +++---
 ...regationStrategyBeanAdapterRefMethodNameTest.java |  6 +++---
 .../AggregationStrategyBeanAdapterRefTest.java       |  6 +++---
 .../processor/async/AsyncEndpointPolicyTest.java     |  8 ++++----
 .../async/AsyncEndpointRecipientListBean3Test.java   |  6 +++---
 .../async/AsyncEndpointRecipientListBean4Test.java   |  6 +++---
 .../async/AsyncEndpointRecipientListBeanTest.java    |  6 +++---
 ...intRecipientListFineGrainedErrorHandlingTest.java |  6 +++---
 .../async/AsyncEndpointRoutingSlipBean2Test.java     |  6 +++---
 .../async/AsyncEndpointRoutingSlipBean3Test.java     |  6 +++---
 .../AsyncEndpointRoutingSlipBeanNonBlockingTest.java |  6 +++---
 .../async/AsyncEndpointRoutingSlipBeanTest.java      |  6 +++---
 ...essorAwaitManagerInterruptWithRedeliveryTest.java | 13 +++++--------
 .../camel/processor/enricher/EnricherRefTest.java    |  6 +++---
 .../enricher/PollEnrichBridgeErrorHandlerTest.java   |  6 +++---
 .../processor/enricher/PollEnricherRefTest.java      |  6 +++---
 .../DefaultErrorHandlerExchangeFormatterRefTest.java |  6 +++---
 ...ErrorHandlerOnExceptionOccurredProcessorTest.java |  6 +++---
 .../DefaultErrorHandlerRetryWhileTest.java           |  6 +++---
 .../onexception/OnExceptionComplexRouteTest.java     |  6 +++---
 .../onexception/OnExceptionFromChoiceTest.java       |  6 +++---
 .../OnExceptionFromChoiceUseOriginalBodyTest.java    |  6 +++---
 .../OnExceptionOccurredProcessorOnExceptionTest.java |  6 +++---
 .../OnExceptionOccurredProcessorTest.java            |  6 +++---
 .../onexception/OnExceptionRetryUntilTest.java       |  6 +++---
 ...ceptionRetryUntilWithDefaultErrorHandlerTest.java |  6 +++---
 .../processor/onexception/OnExceptionRouteTest.java  |  6 +++---
 .../OnExceptionRouteWithDefaultErrorHandlerTest.java |  6 +++---
 .../routingslip/RoutingSlipDataModificationTest.java |  8 +++-----
 .../routingslip/RoutingSlipWithExceptionTest.java    |  8 +++-----
 .../JndiCamelSingletonInitialContextFactoryTest.java | 11 ++++++-----
 .../apache/camel/util/CamelContextHelperTest.java    |  6 +++---
 .../util/DumpModelAsXmlDanishCharactersTest.java     |  6 +++---
 .../util/DumpModelAsXmlRouteExpressionTest.java      |  6 +++---
 .../camel/util/DumpModelAsXmlRoutePredicateTest.java |  6 +++---
 .../management/ManagedCustomLoadBalancerTest.java    | 10 +++++-----
 .../apache/camel/management/ManagedProcessTest.java  | 10 +++++-----
 289 files changed, 995 insertions(+), 1062 deletions(-)

diff --git a/core/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java b/core/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
index 80d0f62..8af9e69 100644
--- a/core/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
+++ b/core/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
@@ -24,9 +24,10 @@ import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.spi.Language;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.apache.camel.support.jndi.JndiTest;
 import org.junit.After;
 import org.junit.Before;
@@ -190,8 +191,8 @@ public abstract class ContextTestSupport extends TestSupport {
         return context;
     }
 
-    protected JndiRegistry createRegistry() throws Exception {
-        return new JndiRegistry(createJndiContext());
+    protected Registry createRegistry() throws Exception {
+        return new DefaultRegistry();
     }
 
     protected Context createJndiContext() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderFromRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderFromRouteTest.java
index ee0cf75..20838fb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderFromRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderFromRouteTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.DefaultEndpoint;
 import org.junit.Test;
@@ -64,8 +64,8 @@ public class NotifyBuilderFromRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        final JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        final Registry registry = super.createRegistry();
         registry.bind("proxy", new ProxyComponent());
         return registry;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/ThreadPoolBuilderTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/ThreadPoolBuilderTest.java
index fc03d15..3fd5d89 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/ThreadPoolBuilderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/ThreadPoolBuilderTest.java
@@ -22,15 +22,15 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.ContextTestSupport;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
 import org.junit.Test;
 
 public class ThreadPoolBuilderTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         ExecutorService someone = Executors.newCachedThreadPool();
         jndi.bind("someonesPool", someone);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanChoseMethodWithMatchingTypeAndSkipSettersTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanChoseMethodWithMatchingTypeAndSkipSettersTest.java
index 62d8c5c..1764faa 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanChoseMethodWithMatchingTypeAndSkipSettersTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanChoseMethodWithMatchingTypeAndSkipSettersTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,8 +37,8 @@ public class BeanChoseMethodWithMatchingTypeAndSkipSettersTest extends ContextTe
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("orderService", service);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanComponentMissingParenthesisTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanComponentMissingParenthesisTest.java
index a388a35..4ad699e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanComponentMissingParenthesisTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanComponentMissingParenthesisTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.bean;
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanComponentMissingParenthesisTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyContactBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanConcurrentTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanConcurrentTest.java
index 1cd5ab6..fcb3df7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanConcurrentTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanConcurrentTest.java
@@ -22,7 +22,7 @@ import java.util.List;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanConcurrentTest extends ContextTestSupport {
@@ -60,8 +60,8 @@ public class BeanConcurrentTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java
index 06750b7..dfb98a6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanEndpointTest extends ContextTestSupport {
@@ -29,8 +29,8 @@ public class BeanEndpointTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new FooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java
index 402fbe1..989ac24 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -48,13 +46,13 @@ public class BeanExchangeAsReturnTypeNotAllowedTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    @Override
+@Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodAmbiguousTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodAmbiguousTest.java
index 30f0474..56e3896 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodAmbiguousTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodAmbiguousTest.java
@@ -21,14 +21,14 @@ import java.io.ByteArrayInputStream;
 import org.apache.camel.BeanScope;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanExplicitMethodAmbiguousTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy", new MyDummyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodTest.java
index ce3849a..dace948 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExplicitMethodTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanExplicitMethodTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyOtherFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExpressionConcurrentTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExpressionConcurrentTest.java
index 62c6101..9e054eb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExpressionConcurrentTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanExpressionConcurrentTest.java
@@ -22,7 +22,7 @@ import java.util.List;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanExpressionConcurrentTest extends ContextTestSupport {
@@ -60,8 +60,8 @@ public class BeanExpressionConcurrentTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanImplicitMethodTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanImplicitMethodTest.java
index 2a94e43..1b8c6f6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanImplicitMethodTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanImplicitMethodTest.java
@@ -16,11 +16,9 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanImplicitMethodTest extends ContextTestSupport {
@@ -47,13 +45,13 @@ public class BeanImplicitMethodTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    public static class MyBean {
+public static class MyBean {
 
         public Integer intRequest(Integer request) {
             return request;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInPipelineTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInPipelineTest.java
index 24b0885..2fd4af9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInPipelineTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInPipelineTest.java
@@ -16,11 +16,9 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -35,8 +33,8 @@ public class BeanInPipelineTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("one", new MyBean("one"));
         answer.bind("two", new MyBean("two"));
         answer.bind("three", new MyBean("three"));
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoSelectMethodTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoSelectMethodTest.java
index 52e0052..9670364 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoSelectMethodTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoSelectMethodTest.java
@@ -22,14 +22,14 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeException;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanInfoSelectMethodTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInvokeWithNullBodyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInvokeWithNullBodyTest.java
index 76c5aa0..5017640 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInvokeWithNullBodyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInvokeWithNullBodyTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanInvokeWithNullBodyTest extends ContextTestSupport {
@@ -52,8 +52,8 @@ public class BeanInvokeWithNullBodyTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyNullFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanLifecycleTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanLifecycleTest.java
index 6f77e3b..8a4676c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanLifecycleTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanLifecycleTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Service;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -72,8 +72,8 @@ public class BeanLifecycleTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("statefulInstanceInRegistry", statefulInstanceInRegistry);
         jndi.bind("statefulInstanceInRegistryNoCache", statefulInstanceInRegistryNoCache);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMapPutTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMapPutTest.java
index f0ccd37..790a95c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMapPutTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMapPutTest.java
@@ -21,7 +21,7 @@ import java.util.Map;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanMapPutTest extends ContextTestSupport {
@@ -29,8 +29,8 @@ public class BeanMapPutTest extends ContextTestSupport {
     private Map<String, String> myMap = new HashMap<>();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myMap", myMap);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithCommaTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithCommaTest.java
index 27e880d..eeb4665 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithCommaTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithCommaTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -63,8 +63,8 @@ public class BeanMethodValueWithCommaTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithExchangeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithExchangeTest.java
index 38f04d5..08fb905 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithExchangeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodValueWithExchangeTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -46,8 +46,8 @@ public class BeanMethodValueWithExchangeTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithEmptyParameterAndNoMethodWithNoParameterIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithEmptyParameterAndNoMethodWithNoParameterIssueTest.java
index 9e89512..756e85f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithEmptyParameterAndNoMethodWithNoParameterIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithEmptyParameterAndNoMethodWithNoParameterIssueTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -29,8 +29,8 @@ import org.junit.Test;
 public class BeanMethodWithEmptyParameterAndNoMethodWithNoParameterIssueTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyBean());
         jndi.bind("myOtherBean", new MyOtherBean());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithStringParameterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithStringParameterTest.java
index 7ef0b7a..9f4811f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithStringParameterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanMethodWithStringParameterTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -28,8 +28,8 @@ import org.junit.Test;
 public class BeanMethodWithStringParameterTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanOgnlPerformanceTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanOgnlPerformanceTest.java
index 52ab904..420c592 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanOgnlPerformanceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanOgnlPerformanceTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.StopWatch;
 import org.junit.Test;
 
@@ -31,8 +31,8 @@ public class BeanOgnlPerformanceTest extends ContextTestSupport {
     private String cache = "true";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidSyntaxTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidSyntaxTest.java
index dd2412e..1e5a65f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidSyntaxTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidSyntaxTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.bean;
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanParameterInvalidSyntaxTest extends ContextTestSupport {
@@ -40,8 +40,8 @@ public class BeanParameterInvalidSyntaxTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidValueTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidValueTest.java
index d42dde1..9023143 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidValueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterInvalidValueTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExpressionEvaluationException;
 import org.apache.camel.TypeConversionException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -91,8 +91,8 @@ public class BeanParameterInvalidValueTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterMethodCallThreeBodyOgnlTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterMethodCallThreeBodyOgnlTest.java
index 371b3bd..67fd8ea 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterMethodCallThreeBodyOgnlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterMethodCallThreeBodyOgnlTest.java
@@ -21,7 +21,7 @@ import java.util.List;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -43,8 +43,8 @@ public class BeanParameterMethodCallThreeBodyOgnlTest extends ContextTestSupport
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("router", new MyRouter());
         jndi.bind("foo", new MyBean());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterNoBeanBindingTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterNoBeanBindingTest.java
index 2caec1b..eedcba0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterNoBeanBindingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterNoBeanBindingTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RuntimeExchangeException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -46,8 +46,8 @@ public class BeanParameterNoBeanBindingTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterThreeBodyOgnlTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterThreeBodyOgnlTest.java
index d120db5..b843efc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterThreeBodyOgnlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterThreeBodyOgnlTest.java
@@ -21,7 +21,7 @@ import java.util.List;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -43,8 +43,8 @@ public class BeanParameterThreeBodyOgnlTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOgnlTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOgnlTest.java
index 02ba5b1..9a3913c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOgnlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOgnlTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -59,8 +59,8 @@ public class BeanParameterValueOgnlTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOverloadedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOverloadedTest.java
index 2577db1..4f99763 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOverloadedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueOverloadedTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -45,8 +45,8 @@ public class BeanParameterValueOverloadedTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueTest.java
index 20495f8..116cef3 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanParameterValueTest.java
@@ -21,7 +21,7 @@ import java.util.Map;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -107,8 +107,8 @@ public class BeanParameterValueTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
index a62cc2b..e2c4acc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPipelineTest.java
@@ -18,15 +18,13 @@ package org.apache.camel.component.bean;
 
 import java.util.Map;
 
-import javax.naming.Context;
-
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Headers;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -54,8 +52,8 @@ public class BeanPipelineTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("foo", new FooBean());
         answer.bind("bar", new BarBean());
         answer.bind("baz", new BazBean());
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPropagateHeaderTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPropagateHeaderTest.java
index db3b8f9..9cee357 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPropagateHeaderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanPropagateHeaderTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanPropagateHeaderTest extends ContextTestSupport {
@@ -37,8 +37,8 @@ public class BeanPropagateHeaderTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("order", new MyOrderService());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java
index cb3442a..ce093a6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanRefMethodNotFoundTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefNotFoundTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefNotFoundTest.java
index 414a019..2c9e3c5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefNotFoundTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefNotFoundTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanRefNotFoundTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java
index 08abffc..512a722 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Expression;
 import org.apache.camel.NoSuchBeanException;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanRegistryBeanTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         jndi.bind("static", MyFooBean.class);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableReturnNullTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableReturnNullTest.java
index 209b681..c4ed584 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableReturnNullTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableReturnNullTest.java
@@ -18,13 +18,11 @@ package org.apache.camel.component.bean;
 
 import java.util.concurrent.Callable;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanReturnCallableReturnNullTest extends ContextTestSupport {
@@ -42,13 +40,13 @@ public class BeanReturnCallableReturnNullTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    @Override
+@Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableTest.java
index 51c4e94..8c89aee 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanReturnCallableTest.java
@@ -18,12 +18,10 @@ package org.apache.camel.component.bean;
 
 import java.util.concurrent.Callable;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanReturnCallableTest extends ContextTestSupport {
@@ -40,13 +38,13 @@ public class BeanReturnCallableTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    @Override
+@Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationAndExchangeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationAndExchangeTest.java
index 84843f9..ebd9228 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationAndExchangeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationAndExchangeTest.java
@@ -16,15 +16,13 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -44,13 +42,13 @@ public class BeanWithAnnotationAndExchangeTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    @Override
+@Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationInheritedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationInheritedTest.java
index bf1482d..181b677 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationInheritedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithAnnotationInheritedTest.java
@@ -20,13 +20,11 @@ import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -76,8 +74,9 @@ public class BeanWithAnnotationInheritedTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+
         answer.bind("b", new B());
         answer.bind("p", Proxy.newProxyInstance(I1.class.getClassLoader(), new Class[] {I1.class}, new InvocationHandler() {
             @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExchangeExceptionAnnotationTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExchangeExceptionAnnotationTest.java
index 29afd66..941421d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExchangeExceptionAnnotationTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExchangeExceptionAnnotationTest.java
@@ -16,13 +16,11 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExchangeException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithExchangeExceptionAnnotationTest extends ContextTestSupport {
@@ -43,13 +41,13 @@ public class BeanWithExchangeExceptionAnnotationTest extends ContextTestSupport
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    @Override
+@Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionPredicateTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionPredicateTest.java
index aadcc44..cc02396 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionPredicateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionPredicateTest.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.language.simple.Simple;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithExpressionInjectionPredicateTest extends ContextTestSupport {
@@ -44,8 +42,8 @@ public class BeanWithExpressionInjectionPredicateTest extends ContextTestSupport
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionTest.java
index 6811438..b24e93b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithExpressionInjectionTest.java
@@ -16,13 +16,11 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.language.simple.Simple;
 import org.apache.camel.processor.BeanRouteTest;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,8 +40,9 @@ public class BeanWithExpressionInjectionTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeaderTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeaderTest.java
index bcae570..914073c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeaderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeaderTest.java
@@ -16,13 +16,11 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -43,13 +41,13 @@ public class BeanWithHeaderTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    @Override
+@Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject2Test.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject2Test.java
index ea579ac..9159955 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject2Test.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject2Test.java
@@ -21,8 +21,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Header;
@@ -31,7 +29,7 @@ import org.apache.camel.NoTypeConversionAvailableException;
 import org.apache.camel.Processor;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -95,8 +93,8 @@ public class BeanWithHeadersAndBodyInject2Test extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject3Test.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject3Test.java
index e49f616..1078536 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject3Test.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInject3Test.java
@@ -18,14 +18,12 @@ package org.apache.camel.component.bean;
 
 import java.util.Map;
 
-import javax.naming.Context;
-
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Headers;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithHeadersAndBodyInject3Test extends ContextTestSupport {
@@ -70,8 +68,8 @@ public class BeanWithHeadersAndBodyInject3Test extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInjectionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInjectionTest.java
index 51e3262..1f38f6e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInjectionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithHeadersAndBodyInjectionTest.java
@@ -18,8 +18,6 @@ package org.apache.camel.component.bean;
 
 import java.util.Map;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Headers;
@@ -27,7 +25,7 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.processor.BeanRouteTest;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,8 +58,8 @@ public class BeanWithHeadersAndBodyInjectionTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithInputStreamBodyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithInputStreamBodyTest.java
index ca94e5b..e322659 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithInputStreamBodyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithInputStreamBodyTest.java
@@ -22,14 +22,14 @@ import java.io.InputStream;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithInputStreamBodyTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyCoolBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithMethodHeaderTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithMethodHeaderTest.java
index 9494243..17ab211 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithMethodHeaderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithMethodHeaderTest.java
@@ -16,15 +16,13 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithMethodHeaderTest extends ContextTestSupport {
@@ -128,8 +126,8 @@ public class BeanWithMethodHeaderTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         bean = new MyBean();
         answer.bind("myBean", bean);
         return answer;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersAndBodyInjectionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersAndBodyInjectionTest.java
index b9ad77e..1dfe79e8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersAndBodyInjectionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersAndBodyInjectionTest.java
@@ -18,8 +18,6 @@ package org.apache.camel.component.bean;
 
 import java.util.Map;
 
-import javax.naming.Context;
-
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
@@ -28,7 +26,7 @@ import org.apache.camel.Headers;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithPropertiesAndHeadersAndBodyInjectionTest extends ContextTestSupport {
@@ -64,8 +62,8 @@ public class BeanWithPropertiesAndHeadersAndBodyInjectionTest extends ContextTes
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersInjectionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersInjectionTest.java
index 4542312..04d134a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersInjectionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithPropertiesAndHeadersInjectionTest.java
@@ -18,8 +18,6 @@ package org.apache.camel.component.bean;
 
 import java.util.Map;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeProperties;
@@ -28,7 +26,7 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.processor.BeanRouteTest;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -63,8 +61,8 @@ public class BeanWithPropertiesAndHeadersInjectionTest extends ContextTestSuppor
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingHeaderValueTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingHeaderValueTest.java
index 3a0826c..287208f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingHeaderValueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingHeaderValueTest.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Handler;
 import org.apache.camel.language.xpath.XPath;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -42,8 +40,8 @@ public class BeanWithXPathInjectionUsingHeaderValueTest extends ContextTestSuppo
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingResultTypeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingResultTypeTest.java
index a7cdd0e..226af39 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingResultTypeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanWithXPathInjectionUsingResultTypeTest.java
@@ -16,11 +16,9 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.language.xpath.XPath;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanWithXPathInjectionUsingResultTypeTest extends ContextTestSupport {
@@ -35,8 +33,9 @@ public class BeanWithXPathInjectionUsingResultTypeTest extends ContextTestSuppor
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BodyAnnotationToDisambiguateMethodsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BodyAnnotationToDisambiguateMethodsTest.java
index 6f85200..e062abb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BodyAnnotationToDisambiguateMethodsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BodyAnnotationToDisambiguateMethodsTest.java
@@ -16,13 +16,11 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.processor.BeanRouteTest;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -41,8 +39,8 @@ public class BodyAnnotationToDisambiguateMethodsTest extends ContextTestSupport
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
index 95e7804..f2209d6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class ClassComponentWithPropertiesLookupSetFromEndpointTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", "Hi");
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/CustomParameterMappingStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/CustomParameterMappingStrategyTest.java
index 42a85cb..195a485 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/CustomParameterMappingStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/CustomParameterMappingStrategyTest.java
@@ -20,15 +20,15 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.ExpressionAdapter;
 import org.junit.Test;
 
 public class CustomParameterMappingStrategyTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         jndi.bind(BeanConstants.BEAN_PARAMETER_MAPPING_STRATEGY, new MyCustomStrategy());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/DefaultParameterMappingStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/DefaultParameterMappingStrategyTest.java
index 66099ea..b98e72d1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/DefaultParameterMappingStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/DefaultParameterMappingStrategyTest.java
@@ -23,15 +23,14 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DefaultParameterMappingStrategyTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/ExpressionAnnotationToDisambiguateMethodsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/ExpressionAnnotationToDisambiguateMethodsTest.java
index 959aa69..8dd6b6b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/ExpressionAnnotationToDisambiguateMethodsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/ExpressionAnnotationToDisambiguateMethodsTest.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Handler;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.language.simple.Simple;
 import org.apache.camel.processor.BeanRouteTest;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,8 +46,8 @@ public class ExpressionAnnotationToDisambiguateMethodsTest extends ContextTestSu
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         answer.bind("myOtherBean", myOtherBean);
         return answer;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/FileBeanParameterBindingTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/FileBeanParameterBindingTest.java
index 112c068..8fb8767 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/FileBeanParameterBindingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/FileBeanParameterBindingTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Header;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -35,8 +35,8 @@ public class FileBeanParameterBindingTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefMethodNotFoundTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefMethodNotFoundTest.java
index 90e79c3..c56b0b5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefMethodNotFoundTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefMethodNotFoundTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.bean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MethodCallBeanRefMethodNotFoundTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefNotFoundTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefNotFoundTest.java
index 0e5ad4d..8988a60 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefNotFoundTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallBeanRefNotFoundTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MethodCallBeanRefNotFoundTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallRefOrBeanPrefixTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallRefOrBeanPrefixTest.java
index cdb8cea..3310d82 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallRefOrBeanPrefixTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/MethodCallRefOrBeanPrefixTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MethodCallRefOrBeanPrefixTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/MyCurrencyBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/MyCurrencyBeanTest.java
index e7bac38..7ef6a6c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/MyCurrencyBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/MyCurrencyBeanTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MyCurrencyBeanTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCurrencyBean", new MyCurrencyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/NewInstanceTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/NewInstanceTest.java
index 8ce6598..2d09304 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/NewInstanceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/NewInstanceTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.BeanScope;
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
@@ -25,6 +23,9 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.processor.BeanRouteTest;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
+import org.apache.camel.support.jndi.JndiBeanRepository;
 import org.apache.camel.support.jndi.JndiContext;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -51,10 +52,10 @@ public class NewInstanceTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
+    protected Registry createRegistry() throws Exception {
         jndiContext = new JndiContext();
         jndiContext.bind("myBean", new MyBean());
-        return jndiContext;
+        return new DefaultRegistry(new JndiBeanRepository(jndiContext));
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/PredicateAsBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/PredicateAsBeanTest.java
index e0cfaa0..e49cd48 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/PredicateAsBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/PredicateAsBeanTest.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.bean;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.processor.BeanRouteTest;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,8 +40,8 @@ public class PredicateAsBeanTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myPredicate", myPredicate);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithCommaTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithCommaTest.java
index 6118fce..d9eacd8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithCommaTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithCommaTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -67,8 +67,8 @@ public class SimpleLanguageBeanFunctionMethodValueWithCommaTest extends ContextT
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithParenthesisTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithParenthesisTest.java
index 682cad6..e7a0024 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithParenthesisTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/SimpleLanguageBeanFunctionMethodValueWithParenthesisTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -67,8 +67,8 @@ public class SimpleLanguageBeanFunctionMethodValueWithParenthesisTest extends Co
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanRouteToDerivedClassTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanRouteToDerivedClassTest.java
index ec35df6..fde0527 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanRouteToDerivedClassTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanRouteToDerivedClassTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.bean.issues;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanRouteToDerivedClassTest extends ContextTestSupport {
@@ -103,8 +103,8 @@ public class BeanRouteToDerivedClassTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("derived", derived);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanVsProcessorPerformanceTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanVsProcessorPerformanceTest.java
index 8d747e1..bccac45 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanVsProcessorPerformanceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/BeanVsProcessorPerformanceTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean.issues;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.StopWatch;
 import org.junit.Test;
 
@@ -30,8 +30,8 @@ public class BeanVsProcessorPerformanceTest extends ContextTestSupport {
     private final int size = 100000;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myLittleBean", new MyLittleBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/FilterBeanRegistryTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/FilterBeanRegistryTest.java
index 82acd2e..5b62331 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/FilterBeanRegistryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/issues/FilterBeanRegistryTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.bean.issues;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FilterBeanRegistryTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/BigDataSetTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/BigDataSetTest.java
index 3e93e7e..df461e3 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/BigDataSetTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/BigDataSetTest.java
@@ -18,11 +18,10 @@ package org.apache.camel.component.dataset;
 
 import java.util.concurrent.TimeUnit;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -38,10 +37,10 @@ public class BigDataSetTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
index ed3bf8f..8257ba1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
@@ -26,6 +24,7 @@ import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.PredicateBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.language.xpath.XPathBuilder;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.PredicateAssertHelper;
 import org.junit.Test;
 
@@ -48,10 +47,10 @@ public class CustomDataSetTest extends ContextTestSupport {
     };
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetConsumerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetConsumerTest.java
index eb82dc5..651eae1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetConsumerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetConsumerTest.java
@@ -16,12 +16,11 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -37,10 +36,10 @@ public class DataSetConsumerTest extends ContextTestSupport {
     final String resultUri = "mock://result";
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     /**
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetPreloadTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetPreloadTest.java
index 6f4d1ad..6377912 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetPreloadTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetPreloadTest.java
@@ -16,11 +16,10 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -31,10 +30,10 @@ public class DataSetPreloadTest extends ContextTestSupport {
     private String uri = "dataset:foo?initialDelay=0&preloadSize=5";
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java
index a5cf902..120adcc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetProducerTest.java
@@ -16,12 +16,11 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -38,10 +37,10 @@ public class DataSetProducerTest extends ContextTestSupport {
     final String resultUri = "mock://result";
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetSedaTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetSedaTest.java
index 1a97a9f..dd645d2 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetSedaTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetSedaTest.java
@@ -16,11 +16,10 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -33,10 +32,10 @@ public class DataSetSedaTest extends ContextTestSupport {
     private String uri = "dataset:foo?initialDelay=0&produceDelay=1";
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTest.java
index 36d989f..c189c55 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTest.java
@@ -16,10 +16,9 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DataSetTest extends ContextTestSupport {
@@ -27,10 +26,10 @@ public class DataSetTest extends ContextTestSupport {
     protected SimpleDataSet dataSet = new SimpleDataSet(20);
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerTest.java
index 0356614..093f525 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerTest.java
@@ -16,11 +16,10 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -36,10 +35,10 @@ public class FileDataSetConsumerTest extends ContextTestSupport {
     final String dataSetUri = "dataset://" + dataSetName;
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerWithSplitTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerWithSplitTest.java
index 4d772ae..0b786ab 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerWithSplitTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetConsumerWithSplitTest.java
@@ -16,11 +16,10 @@
  */
 package org.apache.camel.component.dataset;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,10 +36,10 @@ public class FileDataSetConsumerWithSplitTest extends ContextTestSupport {
     final String dataSetUri = "dataset://" + dataSetName;
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerTest.java
index 93eb16d..7ada9ae 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerTest.java
@@ -22,11 +22,10 @@ import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
@@ -47,10 +46,10 @@ public class FileDataSetProducerTest extends ContextTestSupport {
     final String dataSetUri = "dataset://" + dataSetName;
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerWithSplitTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerWithSplitTest.java
index ce02303..915ec1f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerWithSplitTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/FileDataSetProducerWithSplitTest.java
@@ -22,11 +22,10 @@ import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.Registry;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
@@ -47,10 +46,10 @@ public class FileDataSetProducerWithSplitTest extends ContextTestSupport {
     final String dataSetUri = "dataset://" + dataSetName;
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetConsumerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetConsumerTest.java
index 5618bf4..2b57272 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetConsumerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetConsumerTest.java
@@ -19,11 +19,10 @@ package org.apache.camel.component.dataset;
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -36,10 +35,10 @@ public class ListDataSetConsumerTest extends ContextTestSupport {
     final String dataSetUri = "dataset://" + dataSetName;
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetProducerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetProducerTest.java
index 15c69f8..3e05055 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetProducerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/ListDataSetProducerTest.java
@@ -19,11 +19,10 @@ package org.apache.camel.component.dataset;
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -36,10 +35,10 @@ public class ListDataSetProducerTest extends ContextTestSupport {
     final String dataSetUri = "dataset://" + dataSetName;
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/RoutePerformanceTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/RoutePerformanceTest.java
index c9e6428..cf888c5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/RoutePerformanceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/RoutePerformanceTest.java
@@ -20,11 +20,10 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.StopWatch;
 import org.junit.Test;
 
@@ -42,10 +41,10 @@ public class RoutePerformanceTest extends ContextTestSupport {
     private String uri = "mock:results";
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", dataSet);
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", dataSet);
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmHeaderFilterStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmHeaderFilterStrategyTest.java
index be07012..fc4aa6f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmHeaderFilterStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmHeaderFilterStrategyTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.directvm;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.junit.Test;
 
@@ -30,7 +29,7 @@ public class DirectVmHeaderFilterStrategyTest extends ContextTestSupport {
 
     @Test
     public void testPropertiesPropagatedOrNot() throws Exception {
-        context.getRegistry(JndiRegistry.class).bind("headerFilterStrategy", new HeaderFilterStrategy() {
+        context.getRegistry().bind("headerFilterStrategy", new HeaderFilterStrategy() {
             @Override
             public boolean applyFilterToExternalHeaders(String headerName, Object headerValue, Exchange exchange) {
                 return headerName.equals("Header2");
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilterTest.java
index 98774ee..ee094f5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilterTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,11 +39,11 @@ public class AntPathMatcherGenericFileFilterTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
+    protected Registry createRegistry() throws Exception {
         AntPathMatcherGenericFileFilter<File> filterNotCaseSensitive = new AntPathMatcherGenericFileFilter<>("**/c*");
         filterNotCaseSensitive.setCaseSensitive(false);
 
-        JndiRegistry jndi = super.createRegistry();
+        Registry jndi = super.createRegistry();
         jndi.bind("filter", new AntPathMatcherGenericFileFilter<File>("**/c*"));
         jndi.bind("caseInsensitiveFilter", filterNotCaseSensitive);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/BeanToFileTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/BeanToFileTest.java
index f491036..e4de993 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/BeanToFileTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/BeanToFileTest.java
@@ -16,13 +16,11 @@
  */
 package org.apache.camel.component.file;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -43,8 +41,8 @@ public class BeanToFileTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileBeginFailureOneTimeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileBeginFailureOneTimeTest.java
index 6e71bcc..d021932 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileBeginFailureOneTimeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileBeginFailureOneTimeTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,8 +38,8 @@ public class FileBeginFailureOneTimeTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myStrategy", myStrategy);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBridgeRouteExceptionHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBridgeRouteExceptionHandlerTest.java
index eb84f82..b569238 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBridgeRouteExceptionHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBridgeRouteExceptionHandlerTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -47,8 +47,8 @@ public class FileConsumerBridgeRouteExceptionHandlerTest extends ContextTestSupp
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myReadLockStrategy", myReadLockStrategy);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomExceptionHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomExceptionHandlerTest.java
index 327d87f..3594e39 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomExceptionHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomExceptionHandlerTest.java
@@ -25,8 +25,8 @@ import org.apache.camel.LoggingLevel;
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -53,8 +53,8 @@ public class FileConsumerCustomExceptionHandlerTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myExceptionHandler", myExceptionHandler);
         jndi.bind("myReadLockStrategy", myReadLockStrategy);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomSchedulerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomSchedulerTest.java
index 732cb05..f0af560 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomSchedulerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCustomSchedulerTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Consumer;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.ScheduledPollConsumerScheduler;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,8 +34,8 @@ public class FileConsumerCustomSchedulerTest extends ContextTestSupport {
     private MyScheduler scheduler = new MyScheduler();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myScheduler", scheduler);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryFilterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryFilterTest.java
index 8c1f1a9..e1f3af3 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryFilterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryFilterTest.java
@@ -25,7 +25,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,8 +38,8 @@ public class FileConsumerDirectoryFilterTest extends ContextTestSupport {
     private final Set<String> names = new TreeSet<>();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myFilter", new MyDirectoryFilter<>());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java
index 84faad1..37c12e8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,8 +39,8 @@ public class FileConsumerFileExpressionTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("counter", new MyGuidGenerator());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionThrowExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionThrowExceptionTest.java
index bc9ca36..71aacc1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionThrowExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionThrowExceptionTest.java
@@ -25,8 +25,8 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.bean.MethodNotFoundException;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -50,8 +50,8 @@ public class FileConsumerFileExpressionThrowExceptionTest extends ContextTestSup
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("counter", new MyGuidGenerator());
         jndi.bind("myPoll", new MyPollStrategy());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
index 7010085..b3d51c0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -32,8 +32,8 @@ public class FileConsumerFileFilterTest extends ContextTestSupport {
     private String fileUrl = "file://target/data/filefilter/?initialDelay=0&delay=10&filter=#myFilter";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myFilter", new MyFileFilter<>());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java
index 4a82889..a13cd19 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java
@@ -22,8 +22,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.IdempotentRepository;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -35,8 +35,8 @@ public class FileConsumerIdempotentRefTest extends ContextTestSupport {
     private static volatile boolean invoked;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRepo", new MyIdempotentRepository());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java
index 8b5434d..d186c73 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java
@@ -22,8 +22,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.bean.BeanExpression;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,8 +45,8 @@ public class FileConsumerMoveExpressionTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myguidgenerator", new MyGuidGenerator());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyNotBeginTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyNotBeginTest.java
index 5a8149d..9b8b0dd 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyNotBeginTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyNotBeginTest.java
@@ -22,8 +22,8 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,8 +38,8 @@ public class FileConsumerPollStrategyNotBeginTest extends ContextTestSupport {
     private String fileUrl = "file://target/data/pollstrategy/?pollStrategy=#myPoll&noop=true&initialDelay=0&delay=10";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPoll", new MyPollStrategy());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyPolledMessagesTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyPolledMessagesTest.java
index fc3c634..e8add4d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyPolledMessagesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyPolledMessagesTest.java
@@ -25,8 +25,8 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,8 +41,8 @@ public class FileConsumerPollStrategyPolledMessagesTest extends ContextTestSuppo
     private String fileUrl = "file://target/data/pollstrategy/?pollStrategy=#myPoll&initialDelay=0&delay=10";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPoll", new MyPollStrategy());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyRollbackThrowExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyRollbackThrowExceptionTest.java
index 684efea..8b688ac 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyRollbackThrowExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyRollbackThrowExceptionTest.java
@@ -24,8 +24,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,8 +43,8 @@ public class FileConsumerPollStrategyRollbackThrowExceptionTest extends ContextT
     private String fileUrl = "file://target/data/pollstrategy/?pollStrategy=#myPoll&initialDelay=0&delay=10";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPoll", new MyPollStrategy());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyStopOnRollbackTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyStopOnRollbackTest.java
index 59aecec..3c46c66 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyStopOnRollbackTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyStopOnRollbackTest.java
@@ -23,8 +23,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,8 +39,8 @@ public class FileConsumerPollStrategyStopOnRollbackTest extends ContextTestSuppo
     private String fileUrl = "file://target/data/pollstrategy/?pollStrategy=#myPoll&initialDelay=0&delay=10";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPoll", new MyPollStrategy());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyTest.java
index 7695d4b..4166560 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPollStrategyTest.java
@@ -22,8 +22,8 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,8 +38,8 @@ public class FileConsumerPollStrategyTest extends ContextTestSupport {
     private String fileUrl = "file://target/data/pollstrategy/?pollStrategy=#myPoll&noop=true&initialDelay=0&delay=10";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPoll", new MyPollStrategy());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileMarkerFileRecursiveFilterDeleteOldLockFilesTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileMarkerFileRecursiveFilterDeleteOldLockFilesTest.java
index 1f3d404..57705a0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileMarkerFileRecursiveFilterDeleteOldLockFilesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileMarkerFileRecursiveFilterDeleteOldLockFilesTest.java
@@ -22,15 +22,15 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
 public class FileMarkerFileRecursiveFilterDeleteOldLockFilesTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myFilter", new MyFileFilter());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java
index f6762fd..2cea959 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java
@@ -22,7 +22,7 @@ import java.util.Date;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,8 +41,8 @@ public class FileProducerExpressionTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myguidgenerator", new MyGuidGenerator());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerMoveExistingStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerMoveExistingStrategyTest.java
index 4d1878e..9d7256f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerMoveExistingStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerMoveExistingStrategyTest.java
@@ -21,7 +21,7 @@ import java.io.File;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.file.strategy.FileMoveExistingStrategy;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
 import org.junit.Before;
@@ -44,8 +44,8 @@ public class FileProducerMoveExistingStrategyTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myStrategy", myStrategy);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileSorterRefTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileSorterRefTest.java
index bdc7200..6ac4d97 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileSorterRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileSorterRefTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -34,8 +34,8 @@ public class FileSorterRefTest extends ContextTestSupport {
     private String fileUrl = "file://target/data/filesorter/?initialDelay=0&delay=10&sorter=#mySorter";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("mySorter", new MyFileSorter<>());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameRouteTest.java
index c0cd5a2..60ed4a5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameRouteTest.java
@@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,8 +42,8 @@ public class FilerProducerDoneFileNameRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myProp", myProp);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameTest.java
index c750f9c..930df68 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerDoneFileNameTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExpressionIllegalSyntaxException;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,8 +43,8 @@ public class FilerProducerDoneFileNameTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myProp", myProp);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/ToFileRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/ToFileRouteTest.java
index 2b46255..44472b4 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/ToFileRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/ToFileRouteTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -42,9 +42,9 @@ public class ToFileRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
+    protected Registry createRegistry() throws Exception {
         // bind our processor in the registry with the given id
-        JndiRegistry reg = super.createRegistry();
+        Registry reg = super.createRegistry();
         reg.bind("processReport", new ProcessReport());
         return reg;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedAsyncTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedAsyncTest.java
index 7a154a8..c377a07 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedAsyncTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedAsyncTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository;
 import org.junit.Before;
 import org.junit.Test;
@@ -42,8 +42,8 @@ public class FileIdempotentReadLockDelayedAsyncTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRepo", myRepo);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedTest.java
index 385c4d3..9a9e65b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockDelayedTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository;
 import org.junit.Before;
 import org.junit.Test;
@@ -42,8 +42,8 @@ public class FileIdempotentReadLockDelayedTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRepo", myRepo);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockTest.java
index 5fde4dd..cd4d84e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/strategy/FileIdempotentReadLockTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository;
 import org.junit.Before;
 import org.junit.Test;
@@ -42,8 +42,8 @@ public class FileIdempotentReadLockTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRepo", myRepo);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/language/LanguageScriptRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/language/LanguageScriptRouteTest.java
index 039b79d..a135539 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/language/LanguageScriptRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/language/LanguageScriptRouteTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.language;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class LanguageScriptRouteTest extends ContextTestSupport {
@@ -33,8 +33,8 @@ public class LanguageScriptRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myScript", "Hello ${body}");
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java
index 2e14387..0c6c62e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java
@@ -21,8 +21,6 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.support.jndi.JndiTest;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -48,8 +46,7 @@ public class LogListenerTest {
     }
 
     protected CamelContext createCamelContext() throws Exception {
-        JndiRegistry registry = new JndiRegistry(JndiTest.createInitialContext());
-        CamelContext context = new DefaultCamelContext(registry);
+        CamelContext context = new DefaultCamelContext();
         context.addRoutes(createRouteBuilder());
         return context;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/log/LogMaskTest.java b/core/camel-core/src/test/java/org/apache/camel/component/log/LogMaskTest.java
index ef7c21e..7078364 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/log/LogMaskTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/log/LogMaskTest.java
@@ -19,18 +19,18 @@ package org.apache.camel.component.log;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.MaskingFormatter;
-import org.apache.camel.support.jndi.JndiTest;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.junit.Assert;
 import org.junit.Test;
 
 public class LogMaskTest {
 
-    protected JndiRegistry registry;
+    protected Registry registry;
 
     protected CamelContext createCamelContext() throws Exception {
-        registry = new JndiRegistry(JndiTest.createInitialContext());
+        registry = new DefaultRegistry();
         CamelContext context = new DefaultCamelContext(registry);
         return context;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/mock/MockAsBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/component/mock/MockAsBeanTest.java
index 48e9dd1..f479cd1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/mock/MockAsBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/mock/MockAsBeanTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MockAsBeanTest extends ContextTestSupport {
@@ -30,8 +30,8 @@ public class MockAsBeanTest extends ContextTestSupport {
     private MockEndpoint foo = new MockEndpoint("mock:foo", new MockComponent(context));
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", foo);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java b/core/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
index 0e51ff2..4ae0554 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
@@ -31,8 +31,8 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.xpath.XPathBuilder;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MockEndpointTest extends ContextTestSupport {
@@ -1274,8 +1274,8 @@ public class MockEndpointTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyHelloBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentOnExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentOnExceptionTest.java
index ac13d66..7ca3007 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentOnExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentOnExceptionTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class PropertiesComponentOnExceptionTest extends ContextTestSupport {
@@ -58,8 +58,8 @@ public class PropertiesComponentOnExceptionTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
 
         Properties cool = new Properties();
         cool.put("delay", "25");
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentSomethingElseBoundToJndiTest.java b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentSomethingElseBoundToJndiTest.java
index a24688a..9c0c7ae 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentSomethingElseBoundToJndiTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentSomethingElseBoundToJndiTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.properties;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class PropertiesComponentSomethingElseBoundToJndiTest extends ContextTestSupport {
@@ -49,8 +49,8 @@ public class PropertiesComponentSomethingElseBoundToJndiTest extends ContextTest
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         // bind something else as properties, but this should not cause Camel to
         // fail start
         jndi.bind("properties", this);
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestApiTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestApiTest.java
index b6ec0e8..92394a8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestApiTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestApiTest.java
@@ -18,16 +18,16 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.ToDefinition;
 import org.apache.camel.model.rest.RestDefinition;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestApiTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         jndi.bind("dummy-rest-api", new DummyRestProcessorFactory());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestConfigurationTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestConfigurationTest.java
index b9c8e14..5a12bca 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestConfigurationTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestConfigurationTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.FooBar;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestConfigurationTest extends FromRestGetTest {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDummy", new FooBar());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDefaultValueTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDefaultValueTest.java
index e070b94..b61a81b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDefaultValueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDefaultValueTest.java
@@ -18,15 +18,15 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.rest.RestParamType;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestDefaultValueTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDuplicateTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDuplicateTest.java
index 7a7fbb0..2ef42da 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDuplicateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestDuplicateTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestDuplicateTest extends ContextTestSupport {
@@ -29,8 +29,8 @@ public class FromRestDuplicateTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetContentTypeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetContentTypeTest.java
index 302fcf4..e841ace 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetContentTypeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetContentTypeTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetContentTypeTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsAllowCredentialsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsAllowCredentialsTest.java
index 3d07565..128e89e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsAllowCredentialsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsAllowCredentialsTest.java
@@ -20,15 +20,15 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.RestConfiguration;
 import org.junit.Test;
 
 public class FromRestGetCorsAllowCredentialsTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsCustomTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsCustomTest.java
index 6822055..c350f36 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsCustomTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsCustomTest.java
@@ -20,15 +20,15 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.RestConfiguration;
 import org.junit.Test;
 
 public class FromRestGetCorsCustomTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsTest.java
index b02fb54..cbd8d72 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetCorsTest.java
@@ -20,15 +20,15 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.RestConfiguration;
 import org.junit.Test;
 
 public class FromRestGetCorsTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetEmbeddedRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetEmbeddedRouteTest.java
index 9a0e70f..c9f59fe 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetEmbeddedRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetEmbeddedRouteTest.java
@@ -18,16 +18,16 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.ToDefinition;
 import org.apache.camel.model.rest.RestDefinition;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetEmbeddedRouteTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-test", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetHttpErrorCodeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetHttpErrorCodeTest.java
index 8ece09a..2551ec9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetHttpErrorCodeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetHttpErrorCodeTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetHttpErrorCodeTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetInterceptTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetInterceptTest.java
index c1a38c1..8640596 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetInterceptTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetInterceptTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetInterceptTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetOnExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetOnExceptionTest.java
index 6dd6eb6..e03607a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetOnExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetOnExceptionTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.component.rest;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetOnExceptionTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPlaceholderParamTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPlaceholderParamTest.java
index a3b47f9..0cc5eae 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPlaceholderParamTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPlaceholderParamTest.java
@@ -18,23 +18,22 @@ package org.apache.camel.component.rest;
 
 import java.util.List;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.model.ToDefinition;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestOperationParamDefinition;
 import org.apache.camel.model.rest.RestParamType;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetPlaceholderParamTest extends ContextTestSupport {
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("dummy-rest", new DummyRestConsumerFactory());
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("dummy-rest", new DummyRestConsumerFactory());
+        return answer;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
index 05f22ba..719cecd 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
@@ -19,17 +19,17 @@ package org.apache.camel.component.rest;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.NamedNode;
 import org.apache.camel.Processor;
+import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.Policy;
-import org.apache.camel.Route;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetPolicyTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetTest.java
index ade0046..1fbb4f0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetTest.java
@@ -20,18 +20,18 @@ import java.util.Arrays;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.ToDefinition;
 import org.apache.camel.model.rest.CollectionFormat;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestParamType;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class FromRestGetTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
index b0a1eef..6611f17 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.component.extension.ComponentVerifierExtension;
 import org.apache.camel.component.extension.verifier.ResultBuilder;
 import org.apache.camel.component.extension.verifier.ResultErrorHelper;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 import org.apache.camel.spi.RestProducerFactory;
@@ -38,8 +38,8 @@ import org.junit.Test;
 
 public class RestComponentVerifierExtensionTest extends ContextTestSupport {
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
         registry.bind("rest", new RestComponent());
         registry.bind("rest-component", new MyComponent());
         return registry;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
index 75f307c..4a7f3ac 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.component.extension.ComponentVerifierExtension;
 import org.apache.camel.component.extension.verifier.ResultBuilder;
 import org.apache.camel.component.extension.verifier.ResultErrorHelper;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 import org.apache.camel.spi.RestProducerFactory;
@@ -38,8 +38,8 @@ import org.junit.Test;
 
 public class RestComponentVerifierTest extends ContextTestSupport {
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
         registry.bind("rest", new RestComponent());
         registry.bind("rest-component", new MyComponent());
         return registry;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
index 51a24bd..853103f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
@@ -18,12 +18,10 @@ package org.apache.camel.component.scheduler;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -52,8 +50,8 @@ public class SchedulerRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", bean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersTest.java b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersTest.java
index 93adc91..3db9f3e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.seda;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class SedaConcurrentConsumersTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("count", "5");
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaDefaultBlockWhenFullTest.java b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaDefaultBlockWhenFullTest.java
index 309ba64..eee436f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaDefaultBlockWhenFullTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaDefaultBlockWhenFullTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.seda;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -35,11 +35,11 @@ public class SedaDefaultBlockWhenFullTest extends ContextTestSupport {
     private static final String DEFAULT_URI = "seda:foo" + String.format(SIZE_PARAM, QUEUE_SIZE) + "&blockWhenFull=false&timeout=0";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
+    protected Registry createRegistry() throws Exception {
         SedaComponent component = new SedaComponent();
         component.setDefaultBlockWhenFull(true);
 
-        JndiRegistry registry = super.createRegistry();
+        Registry registry = super.createRegistry();
         registry.bind("seda", component);
 
         return registry;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerGracefulShutdownTest.java b/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerGracefulShutdownTest.java
index 4ca807d..59a3747 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerGracefulShutdownTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerGracefulShutdownTest.java
@@ -20,8 +20,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.Registry;
 import org.junit.After;
 import org.junit.Test;
 
@@ -30,8 +30,8 @@ public class TimerGracefulShutdownTest extends ContextTestSupport {
     private MyExceptionHandler eh = new MyExceptionHandler();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("eh", eh);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerReferenceConfigurationTest.java b/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerReferenceConfigurationTest.java
index b97d52d..4cbeb1a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerReferenceConfigurationTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerReferenceConfigurationTest.java
@@ -22,7 +22,7 @@ import java.util.Date;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Endpoint;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class TimerReferenceConfigurationTest extends ContextTestSupport {
@@ -58,8 +58,8 @@ public class TimerReferenceConfigurationTest extends ContextTestSupport {
     final String mockEndpointUri = "mock:result";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry reg = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry reg = super.createRegistry();
         reg.bind("refExpectedTimeString", refExpectedTimeString);
         reg.bind("refExpectedPattern", refExpectedPattern);
         reg.bind("refExpectedPeriod", refExpectedPeriod);
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerRouteTest.java
index c45ede8..5dd4466 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/timer/TimerRouteTest.java
@@ -18,12 +18,10 @@ package org.apache.camel.component.timer;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -52,8 +50,8 @@ public class TimerRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", bean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/validator/CustomSchemaFactoryFeatureTest.java b/core/camel-core/src/test/java/org/apache/camel/component/validator/CustomSchemaFactoryFeatureTest.java
index 07a79d3..28968eb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/validator/CustomSchemaFactoryFeatureTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/validator/CustomSchemaFactoryFeatureTest.java
@@ -20,14 +20,14 @@ import javax.xml.XMLConstants;
 import javax.xml.validation.SchemaFactory;
 
 import org.apache.camel.ContextTestSupport;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class CustomSchemaFactoryFeatureTest extends ContextTestSupport {
     // Need to bind the CustomerSchemaFactory
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
         SchemaFactory mySchemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
         mySchemaFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, false);
         registry.bind("MySchemaFactory", mySchemaFactory);
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorBeanCallTest.java b/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorBeanCallTest.java
index af87fbd..a0d1561 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorBeanCallTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorBeanCallTest.java
@@ -23,7 +23,7 @@ import java.nio.file.Paths;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -55,8 +55,8 @@ public class ValidatorBeanCallTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyValidatorBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorResourceResolverFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorResourceResolverFactoryTest.java
index 9a2e493..9b1a3fb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorResourceResolverFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorResourceResolverFactoryTest.java
@@ -20,6 +20,8 @@ import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
+import javax.naming.Context;
+
 import org.w3c.dom.ls.LSInput;
 import org.w3c.dom.ls.LSResourceResolver;
 
@@ -27,9 +29,11 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.language.ConstantExpression;
 import org.apache.camel.model.language.SimpleExpression;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
+import org.apache.camel.support.jndi.JndiBeanRepository;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -37,13 +41,13 @@ import static org.awaitility.Awaitility.await;
 
 public class ValidatorResourceResolverFactoryTest extends ContextTestSupport {
 
-    private JndiRegistry registry;
+    private Context jndiContext;
 
     @Test
     public void testConfigurationOnEndpoint() throws Exception {
         // ensure that validator from test method "testConfigurationOnComponent"
         // is unbind
-        registry.getContext().unbind("validator");
+        jndiContext.unbind("validator");
 
         String directStart = "direct:start";
         String endpointUri = "validator:org/apache/camel/component/validator/xsds/person.xsd?resourceResolverFactory=#resourceResolverFactory";
@@ -56,7 +60,7 @@ public class ValidatorResourceResolverFactoryTest extends ContextTestSupport {
         // set resource resolver factory on component
         ValidatorComponent validatorComponent = new ValidatorComponent();
         validatorComponent.setResourceResolverFactory(new ResourceResolverFactoryImpl());
-        registry.bind("validator", validatorComponent);
+        jndiContext.bind("validator", validatorComponent);
 
         String directStart = "direct:startComponent";
         String endpointUri = "validator:org/apache/camel/component/validator/xsds/person.xsd";
@@ -105,10 +109,10 @@ public class ValidatorResourceResolverFactoryTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        registry = super.createRegistry();
-        registry.bind("resourceResolverFactory", new ResourceResolverFactoryImpl());
-        return registry;
+    protected Registry createRegistry() throws Exception {
+        jndiContext = createJndiContext();
+        jndiContext.bind("resourceResolverFactory", new ResourceResolverFactoryImpl());
+        return new DefaultRegistry(new JndiBeanRepository(jndiContext));
 
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java
index 9ea026f..24b1fbe 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java
@@ -21,14 +21,14 @@ import java.util.List;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class VMSplitterTest extends AbstractVmTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("splitterBean", new SplitWordsBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeEntityResolverTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeEntityResolverTest.java
index 69c4a9e..fc1dd81 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeEntityResolverTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeEntityResolverTest.java
@@ -26,7 +26,7 @@ import org.xml.sax.SAXException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class XsltCustomizeEntityResolverTest extends ContextTestSupport {
@@ -64,8 +64,8 @@ public class XsltCustomizeEntityResolverTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
         EntityResolver customEntityResolver = getCustomEntityResolver();
         registry.bind("customEntityResolver", customEntityResolver);
         return registry;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeURIResolverTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeURIResolverTest.java
index 34c155a..deb1575 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeURIResolverTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltCustomizeURIResolverTest.java
@@ -27,7 +27,7 @@ import javax.xml.transform.stream.StreamSource;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.ResourceHelper;
 import org.junit.Test;
 
@@ -80,8 +80,8 @@ public class XsltCustomizeURIResolverTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
         URIResolver customURIResolver = getCustomURIResolver();
         registry.bind("customURIResolver", customURIResolver);
         return registry;
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltRouteTest.java
index bddb34a..aff1684 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltRouteTest.java
@@ -25,7 +25,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.jaxp.XmlConverter;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class XsltRouteTest extends ContextTestSupport {
@@ -84,8 +84,8 @@ public class XsltRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("testBean", new TestBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltUriResolverFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltUriResolverFactoryTest.java
index d19ebaa..faeeef9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltUriResolverFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltUriResolverFactoryTest.java
@@ -21,6 +21,7 @@ import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
+import javax.naming.Context;
 import javax.xml.transform.Source;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.URIResolver;
@@ -29,9 +30,11 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.language.ConstantExpression;
 import org.apache.camel.model.language.SimpleExpression;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
+import org.apache.camel.support.jndi.JndiBeanRepository;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -42,7 +45,7 @@ import static org.awaitility.Awaitility.await;
  */
 public class XsltUriResolverFactoryTest extends ContextTestSupport {
 
-    private JndiRegistry registry;
+    private Context jndiContext;
 
     @Test
     public void testConfigurationOnEndpoint() throws Exception {
@@ -51,7 +54,7 @@ public class XsltUriResolverFactoryTest extends ContextTestSupport {
 
         // ensure that the URI resolver factory is not set on the component by
         // the method "testConfigurationOnComponent"
-        registry.getContext().unbind("xslt");
+        jndiContext.unbind("xslt");
         execute(endpointUri, directStart);
     }
 
@@ -60,7 +63,7 @@ public class XsltUriResolverFactoryTest extends ContextTestSupport {
 
         XsltComponent xsltComponent = new XsltComponent();
         xsltComponent.setUriResolverFactory(new CustomXsltUriResolverFactory());
-        registry.bind("xslt", xsltComponent);
+        jndiContext.bind("xslt", xsltComponent);
 
         String endpointUri = "xslt:xslt/staff/staff.xsl";
         String directStart = "direct:startComponent";
@@ -110,10 +113,10 @@ public class XsltUriResolverFactoryTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        registry = super.createRegistry();
-        registry.bind("uriResolverFactory", new CustomXsltUriResolverFactory());
-        return registry;
+    protected Registry createRegistry() throws Exception {
+        jndiContext = createJndiContext();
+        jndiContext.bind("uriResolverFactory", new CustomXsltUriResolverFactory());
+        return new DefaultRegistry(new JndiBeanRepository(jndiContext));
 
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java
index e5265cb..1a597e1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.spi.CamelBeanPostProcessor;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanInjectRouteBuilderTest extends ContextTestSupport {
@@ -32,10 +33,10 @@ public class BeanInjectRouteBuilderTest extends ContextTestSupport {
     private FooBar foo;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("foo", new FooBar());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("foo", new FooBar());
+        return registry;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java
index a7c24be..328b89c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java
@@ -30,6 +30,7 @@ import org.apache.camel.component.rest.DummyRestConsumerFactory;
 import org.apache.camel.component.rest.DummyRestProcessorFactory;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.rest.RestDefinition;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,11 +39,11 @@ public class CamelContextAddRestDefinitionsFromXmlTest extends ContextTestSuppor
     protected JAXBContext jaxbContext;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("dummy-rest", new DummyRestConsumerFactory());
-        jndi.bind("dummy-rest-api", new DummyRestProcessorFactory());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("dummy-rest", new DummyRestConsumerFactory());
+        registry.bind("dummy-rest-api", new DummyRestProcessorFactory());
+        return registry;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DataFormatContextAwareTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DataFormatContextAwareTest.java
index 240aa36..f9e3203 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/DataFormatContextAwareTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/DataFormatContextAwareTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.service.ServiceSupport;
 import org.junit.Test;
 
@@ -35,10 +36,10 @@ public class DataFormatContextAwareTest extends ContextTestSupport {
     private MyDataFormat my = new MyDataFormat();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("my", my);
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("my", my);
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentReferencePropertiesTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentReferencePropertiesTest.java
index 6cbf575..1fcabe7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentReferencePropertiesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentReferencePropertiesTest.java
@@ -30,6 +30,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.builder.ExpressionBuilder;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.DefaultEndpoint;
 import org.apache.camel.support.DefaultExchange;
@@ -103,10 +104,10 @@ public class DefaultComponentReferencePropertiesTest extends ContextTestSupport
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("myExpression", ExpressionBuilder.bodyExpression());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("myExpression", ExpressionBuilder.bodyExpression());
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentTest.java
index 8e019de..b97e6ba 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultComponentTest.java
@@ -27,6 +27,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Endpoint;
 import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.TypeConversionException;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultComponent;
 import org.junit.Test;
 
@@ -263,17 +264,17 @@ public class DefaultComponentTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
+    protected Registry createRegistry() throws Exception {
         Date bean1 = new Date(10);
         Date bean2 = new Date(11);
-        JndiRegistry jndiRegistry = super.createRegistry();
-        jndiRegistry.bind("beginning", new Date(0));
-        jndiRegistry.bind("bean1", bean1);
-        jndiRegistry.bind("bean2", bean2);
-        jndiRegistry.bind("listBean", Arrays.asList(bean1, bean2));
-        jndiRegistry.bind("numeric", "12345");
-        jndiRegistry.bind("non-numeric", "abc");
-        return jndiRegistry;
+        Registry registry = super.createRegistry();
+        registry.bind("beginning", new Date(0));
+        registry.bind("bean1", bean1);
+        registry.bind("bean2", bean2);
+        registry.bind("listBean", Arrays.asList(bean1, bean2));
+        registry.bind("numeric", "12345");
+        registry.bind("non-numeric", "abc");
+        return registry;
     }
 
 }
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/LanguageCamelContextAwareTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/LanguageCamelContextAwareTest.java
index 23bdb52..f818323 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/LanguageCamelContextAwareTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/LanguageCamelContextAwareTest.java
@@ -22,6 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
 import org.apache.camel.spi.Language;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -32,10 +33,10 @@ public class LanguageCamelContextAwareTest extends ContextTestSupport {
     private MyLanguage my = new MyLanguage();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("my", my);
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("my", my);
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsOffTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsOffTest.java
index f164c07..ba16943 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsOffTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsOffTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -33,10 +34,10 @@ public class LogDebugBodyMaxCharsOffTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("logFormatter", new TraceExchangeFormatter());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("logFormatter", new TraceExchangeFormatter());
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsTest.java
index bab4128..e2b8fdf 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyMaxCharsTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -33,10 +34,10 @@ public class LogDebugBodyMaxCharsTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("logFormatter", new TraceExchangeFormatter());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("logFormatter", new TraceExchangeFormatter());
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyStreamsTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyStreamsTest.java
index 7f540c9..13273f6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyStreamsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/LogDebugBodyStreamsTest.java
@@ -23,16 +23,17 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.xml.StringSource;
 import org.junit.Test;
 
 public class LogDebugBodyStreamsTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("logFormatter", new TraceExchangeFormatter());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("logFormatter", new TraceExchangeFormatter());
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/RefDataFormatTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/RefDataFormatTest.java
index f116680..1a7f725 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/RefDataFormatTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/RefDataFormatTest.java
@@ -23,6 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.service.ServiceSupport;
 import org.junit.Test;
 
@@ -32,10 +33,10 @@ import org.junit.Test;
 public class RefDataFormatTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("reverse", new MyReverseDataFormat());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("reverse", new MyReverseDataFormat());
+        return registry;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/RouteIdRestDefinitionTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/RouteIdRestDefinitionTest.java
index 50e31a7..6ee073c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/RouteIdRestDefinitionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/RouteIdRestDefinitionTest.java
@@ -20,16 +20,17 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.rest.DummyRestConsumerFactory;
 import org.apache.camel.component.rest.DummyRestProcessorFactory;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class RouteIdRestDefinitionTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("dummy-rest", new DummyRestConsumerFactory());
-        jndi.bind("dummy-rest-api", new DummyRestProcessorFactory());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("dummy-rest", new DummyRestConsumerFactory());
+        registry.bind("dummy-rest-api", new DummyRestProcessorFactory());
+        return registry;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyRefCallbackTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyRefCallbackTest.java
index f8a7909..255f3ba 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyRefCallbackTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyRefCallbackTest.java
@@ -17,6 +17,7 @@
 package org.apache.camel.impl;
 
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.Registry;
 
 /**
  *
@@ -24,10 +25,10 @@ import org.apache.camel.builder.RouteBuilder;
 public class RoutePolicyRefCallbackTest extends RoutePolicyCallbackTest {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("myPolicy", policy);
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
+        registry.bind("myPolicy", policy);
+        return registry;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/StartupListenerComponentFromRegistryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/StartupListenerComponentFromRegistryTest.java
index e2b70af..cc87dd7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/StartupListenerComponentFromRegistryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/StartupListenerComponentFromRegistryTest.java
@@ -21,6 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.StartupListener;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.direct.DirectComponent;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class StartupListenerComponentFromRegistryTest extends ContextTestSupport {
@@ -28,10 +29,10 @@ public class StartupListenerComponentFromRegistryTest extends ContextTestSupport
     private MyComponent my;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
+    protected Registry createRegistry() throws Exception {
         my = new MyComponent();
 
-        JndiRegistry jndi = super.createRegistry();
+        Registry jndi = super.createRegistry();
         jndi.bind("my", my);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/engine/CamelPostProcessorHelperTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/engine/CamelPostProcessorHelperTest.java
index ebe5477..bda5027 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/engine/CamelPostProcessorHelperTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/engine/CamelPostProcessorHelperTest.java
@@ -39,8 +39,9 @@ import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.FooBar;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultExchange;
+import org.apache.camel.support.DefaultRegistry;
 import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.SynchronizationAdapter;
 import org.junit.Test;
@@ -53,8 +54,8 @@ public class CamelPostProcessorHelperTest extends ContextTestSupport {
     private Properties myProp = new Properties();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = new DefaultRegistry();
         jndi.bind("myProp", myProp);
         jndi.bind("foo", new FooBar());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java
index 5bc0d17..1f12dbc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java
@@ -21,15 +21,15 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.rest.DummyRestConsumerFactory;
 import org.apache.camel.component.rest.DummyRestProcessorFactory;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.impl.RouteIdFactory;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class RouteIdFactoryTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         jndi.bind("dummy-rest-api", new DummyRestProcessorFactory());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorInputValidateTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorInputValidateTest.java
index 5079dac..0a40114 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorInputValidateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorInputValidateTest.java
@@ -20,8 +20,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Message;
 import org.apache.camel.ValidationException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.DataType;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.Validator;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -59,8 +59,8 @@ public class BeanValidatorInputValidateTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
 
         registry.bind("testValidator", new TestValidator());
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorOutputValidateTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorOutputValidateTest.java
index c8b4456..47cc2519 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorOutputValidateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/validator/BeanValidatorOutputValidateTest.java
@@ -21,8 +21,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Message;
 import org.apache.camel.ValidationException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.DataType;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.Validator;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -60,8 +60,8 @@ public class BeanValidatorOutputValidateTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry registry = super.createRegistry();
 
         registry.bind("testValidator", new TestValidator());
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTest.java
index f95de29..5c00e3d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -40,8 +40,8 @@ public class ContextScopedOnExceptionErrorHandlerRefIssueTest extends ContextTes
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTwoRoutesTest.java
index 4525818..6555e06 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionErrorHandlerRefIssueTwoRoutesTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -53,8 +53,8 @@ public class ContextScopedOnExceptionErrorHandlerRefIssueTwoRoutesTest extends C
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTest.java
index c8bb72b..66c1501 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -47,8 +47,8 @@ public class ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTest extends
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java
index 083bed7..3060806 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -60,8 +60,8 @@ public class ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java
index 768a984..4c7d7a6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -47,8 +47,8 @@ public class ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTe
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
index 6cd8e35..7c30f34 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -60,8 +60,8 @@ public class ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTw
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTest.java
index 2933d4c..3a77f06 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -40,8 +40,8 @@ public class ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTest extends
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
index 6562297..39be6c6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -53,8 +53,8 @@ public class ContextScopedOnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTes
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTest.java
index 77c59e4..e081ba9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -40,8 +40,8 @@ public class OnExceptionErrorHandlerRefIssueTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTwoRoutesTest.java
index 9f7f619..baea91c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionErrorHandlerRefIssueTwoRoutesTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -51,8 +51,8 @@ public class OnExceptionErrorHandlerRefIssueTwoRoutesTest extends ContextTestSup
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTest.java
index acb33e0..c7ba66a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -47,8 +47,8 @@ public class OnExceptionNotHandledErrorHandlerRefIssueTest extends ContextTestSu
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java
index b28d33f..7d4ac5b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -58,8 +58,8 @@ public class OnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest extends Cont
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java
index 24bee07..998b40b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -47,8 +47,8 @@ public class OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest extends Co
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
index d2445d0..09cde7f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -58,8 +58,8 @@ public class OnExceptionNotHandledRouteScopedErrorHandlerRefIssueTwoRoutesTest e
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTest.java
index e845b0c..b5354fa 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -40,8 +40,8 @@ public class OnExceptionRouteScopedErrorHandlerRefIssueTest extends ContextTestS
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
index 33eb099..e29ede5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.DeadLetterChannelBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -51,8 +51,8 @@ public class OnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest extends Con
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionWithTwoBeansTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionWithTwoBeansTest.java
index 26422cb..9e48653 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionWithTwoBeansTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionWithTwoBeansTest.java
@@ -18,14 +18,15 @@ package org.apache.camel.issues;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.junit.Test;
 
 public class OnExceptionWithTwoBeansTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = new JndiRegistry(createJndiContext());
+    protected Registry createRegistry() throws Exception {
+        Registry registry = new DefaultRegistry();
         registry.bind("checkin", new MyBean1());
         registry.bind("handler", new MyBean2());
         return registry;
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java
index b2336f5..aa5df44 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java
@@ -30,7 +30,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultEndpoint;
 import org.apache.camel.support.DefaultProducer;
 import org.junit.Test;
@@ -40,8 +40,8 @@ public class RetryRouteScopedUntilRecipientListIssueTest extends ContextTestSupp
     protected static AtomicInteger invoked = new AtomicInteger();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRetryBean", new MyRetryBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/SedaFileIdempotentIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/SedaFileIdempotentIssueTest.java
index 3b12220..b8fe6aa 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/SedaFileIdempotentIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/SedaFileIdempotentIssueTest.java
@@ -25,7 +25,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.processor.idempotent.FileIdempotentRepository;
 import org.junit.Before;
 import org.junit.Test;
@@ -55,8 +55,8 @@ public class SedaFileIdempotentIssueTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
 
         repository.setFileStore(new File("target/repo.txt"));
         jndi.bind("repo", repository);
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/SetHeaderInDoCatchIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/SetHeaderInDoCatchIssueTest.java
index ef5dd5a..3b39521 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/SetHeaderInDoCatchIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/SetHeaderInDoCatchIssueTest.java
@@ -21,7 +21,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.junit.Test;
 
 public class SetHeaderInDoCatchIssueTest extends ContextTestSupport {
@@ -60,8 +61,8 @@ public class SetHeaderInDoCatchIssueTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = new JndiRegistry(createJndiContext());
+    protected Registry createRegistry() throws Exception {
+        Registry registry = new DefaultRegistry();
 
         registry.bind("A", new Processor() {
             public void process(Exchange exchange) throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningCloseableIteratorTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningCloseableIteratorTest.java
index 26ce6835..a2a0bf8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningCloseableIteratorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningCloseableIteratorTest.java
@@ -24,14 +24,14 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class SplitterUsingBeanReturningCloseableIteratorTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("mySplitter", new MyOtherSplitterBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningMessageTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningMessageTest.java
index cf50dec..795e563 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningMessageTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/SplitterUsingBeanReturningMessageTest.java
@@ -24,14 +24,14 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class SplitterUsingBeanReturningMessageTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("mySplitter", new MyOtherSplitterBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 67405b9..227eb8e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class TryCatchWithSplitIssueTest extends ContextTestSupport {
@@ -53,8 +53,8 @@ public class TryCatchWithSplitIssueTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("error", new GenerateError());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTest.java b/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTest.java
index ee1a21d..a44f617 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTest.java
@@ -19,8 +19,8 @@ package org.apache.camel.language;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.bean.Bean;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -66,8 +66,8 @@ public class BeanAnnotationParameterTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("GreetingService", new GreetingService());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTwoTest.java b/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTwoTest.java
index 740a1fd..d0d2031 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTwoTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/BeanAnnotationParameterTwoTest.java
@@ -19,8 +19,8 @@ package org.apache.camel.language;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.bean.Bean;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -66,8 +66,8 @@ public class BeanAnnotationParameterTwoTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("GreetingService", new GreetingService());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterPropertyPlaceholderTest.java b/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterPropertyPlaceholderTest.java
index c6eb55c..548ac0a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterPropertyPlaceholderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterPropertyPlaceholderTest.java
@@ -21,7 +21,7 @@ import java.util.Properties;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanLanguageOGNLWithDotInParameterPropertyPlaceholderTest extends ContextTestSupport {
@@ -39,8 +39,8 @@ public class BeanLanguageOGNLWithDotInParameterPropertyPlaceholderTest extends C
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyDestinationBean());
 
         myProp = new Properties();
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterTest.java b/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterTest.java
index 6c3021c..98c27aa 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/BeanLanguageOGNLWithDotInParameterTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.language;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanLanguageOGNLWithDotInParameterTest extends ContextTestSupport {
@@ -35,8 +35,8 @@ public class BeanLanguageOGNLWithDotInParameterTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyDestinationBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/BeanTest.java b/core/camel-core/src/test/java/org/apache/camel/language/BeanTest.java
index d861a0e..e98c05d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/BeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/BeanTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.language;
 
-import javax.naming.Context;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.Header;
@@ -25,6 +23,7 @@ import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.Message;
 import org.apache.camel.component.bean.MethodNotFoundException;
 import org.apache.camel.language.bean.BeanExpression;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanTest extends LanguageTestSupport {
@@ -118,11 +117,11 @@ public class BeanTest extends LanguageTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("foo", new MyBean());
-        context.bind("my.company.MyClass", new MyBean());
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", new MyBean());
+        answer.bind("my.company.MyClass", new MyBean());
+        return answer;
     }
 
     public static class MyBean {
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java b/core/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
index fe5db4f..38c91fc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
@@ -27,8 +27,8 @@ import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.component.file.FileConsumer;
 import org.apache.camel.component.file.FileEndpoint;
 import org.apache.camel.component.file.GenericFile;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.simple.SimpleLanguage;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.FileUtil;
 import org.junit.Test;
 
@@ -40,8 +40,8 @@ public class FileLanguageTest extends LanguageTestSupport {
     private File file;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("generator", new MyFileNameGenerator());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/LanguageServiceTest.java b/core/camel-core/src/test/java/org/apache/camel/language/LanguageServiceTest.java
index 7bd0b4c..c9a6fe7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/LanguageServiceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/LanguageServiceTest.java
@@ -22,8 +22,8 @@ import org.apache.camel.IsSingleton;
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.PredicateBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.Language;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.service.ServiceSupport;
 import org.junit.Test;
 
@@ -32,8 +32,8 @@ public class LanguageServiceTest extends ContextTestSupport {
     private MyLanguage my = new MyLanguage();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("my", my);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/RefPredicateTest.java b/core/camel-core/src/test/java/org/apache/camel/language/RefPredicateTest.java
index 685e498..1567a4d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/RefPredicateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/RefPredicateTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.language;
 import org.apache.camel.Exchange;
 import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.Predicate;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class RefPredicateTest extends LanguageTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPredicate", new MyPredicate());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/RefTest.java b/core/camel-core/src/test/java/org/apache/camel/language/RefTest.java
index 1396bc1..4a665c1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/RefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/RefTest.java
@@ -18,15 +18,15 @@ package org.apache.camel.language;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.LanguageTestSupport;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.ExpressionAdapter;
 import org.junit.Test;
 
 public class RefTest extends LanguageTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myExp", new MyExpression());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
index 5332b9c..a860216 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
@@ -18,15 +18,15 @@ package org.apache.camel.language.simple;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.LanguageTestSupport;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.simple.types.SimpleIllegalSyntaxException;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class SimpleOperatorTest extends LanguageTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("generator", new MyFileNameGenerator());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java
index 9912369..13e74e9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import org.apache.camel.ExchangeTestSupport;
 import org.apache.camel.Predicate;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -249,8 +249,8 @@ public class SimpleParserPredicateTest extends ExchangeTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
 
         List<String> list = new ArrayList<>();
         list.add("foo");
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
index a2a15e6..b1c62ca 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
@@ -37,10 +37,10 @@ import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.LanguageTestSupport;
 import org.apache.camel.Predicate;
 import org.apache.camel.component.bean.MethodNotFoundException;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.bean.RuntimeBeanExpressionException;
 import org.apache.camel.language.simple.types.SimpleIllegalSyntaxException;
 import org.apache.camel.spi.Language;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.InetAddressUtil;
 import org.junit.Test;
 
@@ -50,8 +50,8 @@ public class SimpleTest extends LanguageTestSupport {
     private static final String INDEX_OUT_OF_BOUNDS_ERROR_MSG = "Index 2 out of bounds for length 2";
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myAnimal", new Animal("Donkey", 17));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/LoadRestFromXmlTest.java b/core/camel-core/src/test/java/org/apache/camel/model/LoadRestFromXmlTest.java
index 4780778..815bd07 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/LoadRestFromXmlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/LoadRestFromXmlTest.java
@@ -24,15 +24,15 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.rest.DummyRestConsumerFactory;
 import org.apache.camel.component.rest.DummyRestProcessorFactory;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.rest.RestsDefinition;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class LoadRestFromXmlTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("dummy-rest", new DummyRestConsumerFactory());
         jndi.bind("dummy-rest-api", new DummyRestProcessorFactory());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithOnExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithOnExceptionTest.java
index f76b02e..2c2f922 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithOnExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithOnExceptionTest.java
@@ -22,14 +22,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class LoadRouteFromXmlWithOnExceptionTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myProcessor", new MyProcessor());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
index 3e00dff..a693ba8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
@@ -23,16 +23,16 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.NamedNode;
 import org.apache.camel.Processor;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.spi.Policy;
 import org.apache.camel.Route;
+import org.apache.camel.spi.Policy;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class LoadRouteFromXmlWithPolicyTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyPolicy("foo"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedProcessorTest.java
index 5745fa1..c063c4b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedProcessorTest.java
@@ -23,14 +23,16 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
+import org.apache.camel.support.jndi.JndiBeanRepository;
 import org.junit.Test;
 
 public class BeanCachedProcessorTest extends ContextTestSupport {
 
     private Context context;
 
-    private JndiRegistry registry;
+    private Registry registry;
 
     @Override
     protected RouteBuilder createRouteBuilder() {
@@ -45,11 +47,10 @@ public class BeanCachedProcessorTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
-        registry.bind("something", new MyBean());
-        this.context = registry.getContext();
-        this.registry = registry;
+    protected Registry createRegistry() throws Exception {
+        context = createJndiContext();
+        context.bind("something", new MyBean());
+        registry = new DefaultRegistry(new JndiBeanRepository(context));
         return registry;
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedTest.java
index 9f1e053..9c316aa 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanCachedTest.java
@@ -22,7 +22,9 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
+import org.apache.camel.support.jndi.JndiBeanRepository;
 import org.junit.Test;
 
 @Deprecated
@@ -30,7 +32,7 @@ public class BeanCachedTest extends ContextTestSupport {
 
     private Context context;
 
-    private JndiRegistry registry;
+    private Registry registry;
 
     @Override
     protected RouteBuilder createRouteBuilder() {
@@ -45,11 +47,10 @@ public class BeanCachedTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
-        registry.bind("something", new MyBean());
-        this.context = registry.getContext();
-        this.registry = registry;
+    protected Registry createRegistry() throws Exception {
+        context = createJndiContext();
+        context.bind("something", new MyBean());
+        registry = new DefaultRegistry(new JndiBeanRepository(context));
         return registry;
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanOgnMethodWithXPathInjectionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanOgnMethodWithXPathInjectionTest.java
index 29340c3..cd9f429 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanOgnMethodWithXPathInjectionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanOgnMethodWithXPathInjectionTest.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.language.xpath.XPath;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -64,8 +62,8 @@ public class BeanOgnMethodWithXPathInjectionTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         answer.bind("myOtherBean", myOtherBean);
         return answer;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListInterfaceAnnotationTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListInterfaceAnnotationTest.java
index aa99ac3..b017a3c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListInterfaceAnnotationTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListInterfaceAnnotationTest.java
@@ -18,9 +18,7 @@ package org.apache.camel.processor;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.naming.Context;
-
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 
 public class BeanRecipientListInterfaceAnnotationTest extends BeanRecipientListTest {
     @Override
@@ -29,13 +27,13 @@ public class BeanRecipientListInterfaceAnnotationTest extends BeanRecipientListT
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         return answer;
     }
 
-    interface Route {
+interface Route {
         @org.apache.camel.RecipientList
         String[] route(String body);
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTest.java
index 7ec1dea..b575103 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTest.java
@@ -18,11 +18,9 @@ package org.apache.camel.processor;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -57,8 +55,8 @@ public class BeanRecipientListTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java
index 36f94f9..ee2d684 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRecipientListTimeoutTest.java
@@ -16,15 +16,13 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.AggregationStrategy;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.RecipientList;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class BeanRecipientListTimeoutTest extends ContextTestSupport {
@@ -51,8 +49,8 @@ public class BeanRecipientListTimeoutTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new MyBean());
         answer.bind("myStrategy", new MyAggregationStrategy());
         return answer;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRouteTest.java
index 1be26cc..e1e3caf 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanRouteTest.java
@@ -18,14 +18,12 @@ package org.apache.camel.processor;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -68,8 +66,8 @@ public class BeanRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanSingletonTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanSingletonTest.java
index 730b2af..d331521 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanSingletonTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanSingletonTest.java
@@ -22,14 +22,15 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
+import org.apache.camel.support.jndi.JndiBeanRepository;
 import org.junit.Test;
 
 public class BeanSingletonTest extends ContextTestSupport {
 
     private Context context;
-
-    private JndiRegistry registry;
+    private Registry registry;
 
     @Override
     protected RouteBuilder createRouteBuilder() {
@@ -43,11 +44,10 @@ public class BeanSingletonTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry registry = super.createRegistry();
-        registry.bind("something", new MyBean());
-        this.context = registry.getContext();
-        this.registry = registry;
+    protected Registry createRegistry() throws Exception {
+        context = createJndiContext();
+        context.bind("something", new MyBean());
+        registry = new DefaultRegistry(new JndiBeanRepository(context));
         return registry;
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithExceptionTest.java
index 55cfb7e..fd26dcc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithExceptionTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeProperty;
@@ -26,7 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.ValidationException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -82,8 +80,8 @@ public class BeanWithExceptionTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", new ValidationBean());
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithXPathInjectionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithXPathInjectionTest.java
index 22f0d2a..96fc899 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithXPathInjectionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BeanWithXPathInjectionTest.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.language.xpath.XPath;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,8 +58,9 @@ public class BeanWithXPathInjectionTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/CBRPredicateBeanThrowExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/CBRPredicateBeanThrowExceptionTest.java
index 0da3d6c..0d97e72 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/CBRPredicateBeanThrowExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/CBRPredicateBeanThrowExceptionTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class CBRPredicateBeanThrowExceptionTest extends ContextTestSupport {
@@ -31,8 +31,8 @@ public class CBRPredicateBeanThrowExceptionTest extends ContextTestSupport {
     private static AtomicBoolean check2 = new AtomicBoolean();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("cbrBean", new MyCBRBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ClaimCheckTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ClaimCheckTest.java
index 8a6a26c..6ef8dae 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/ClaimCheckTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/ClaimCheckTest.java
@@ -25,8 +25,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.language.xpath.XPath;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class ClaimCheckTest extends ContextTestSupport {
@@ -56,8 +56,8 @@ public class ClaimCheckTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("checkLuggage", new CheckLuggageBean());
         jndi.bind("dataEnricher", new DataEnricherBean());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ComposedMessageProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ComposedMessageProcessorTest.java
index 6a19e99..bfa575f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/ComposedMessageProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/ComposedMessageProcessorTest.java
@@ -26,7 +26,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class ComposedMessageProcessorTest extends ContextTestSupport {
@@ -70,8 +70,8 @@ public class ComposedMessageProcessorTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("orderItemHelper", new OrderItemHelper());
         jndi.bind("widgetInventory", new WidgetInventory());
         jndi.bind("gadgetInventory", new GadgetInventory());
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/CustomConsumerExceptionHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/CustomConsumerExceptionHandlerTest.java
index 70c11b7..c66ec1a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/CustomConsumerExceptionHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/CustomConsumerExceptionHandlerTest.java
@@ -22,8 +22,8 @@ import java.util.concurrent.TimeUnit;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class CustomConsumerExceptionHandlerTest extends ContextTestSupport {
@@ -31,8 +31,8 @@ public class CustomConsumerExceptionHandlerTest extends ContextTestSupport {
     private static final CountDownLatch LATCH = new CountDownLatch(1);
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myHandler", new MyExceptionHandler());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/CustomRefLoadBalanceTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/CustomRefLoadBalanceTest.java
index 66b7594..7cb8ea5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/CustomRefLoadBalanceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/CustomRefLoadBalanceTest.java
@@ -17,13 +17,13 @@
 package org.apache.camel.processor;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 
 public class CustomRefLoadBalanceTest extends CustomLoadBalanceTest {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBalancer", new MyLoadBalancer());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DataFormatServiceCustomRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DataFormatServiceCustomRefTest.java
index 7d1e0d0..ca9a3da 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DataFormatServiceCustomRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DataFormatServiceCustomRefTest.java
@@ -17,13 +17,13 @@
 package org.apache.camel.processor;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 
 public class DataFormatServiceCustomRefTest extends DataFormatServiceTest {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCustomDataFormat", my);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelAlwaysHandledTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelAlwaysHandledTest.java
index 0c40754..03efaf2 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelAlwaysHandledTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelAlwaysHandledTest.java
@@ -21,8 +21,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DeadLetterChannelAlwaysHandledTest extends ContextTestSupport {
@@ -30,8 +30,8 @@ public class DeadLetterChannelAlwaysHandledTest extends ContextTestSupport {
     private static final AtomicBoolean CALLLED = new AtomicBoolean();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myHandler", new MyExceptionHandler());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRestartFromBeginningTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRestartFromBeginningTest.java
index 4fddede..a13825b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRestartFromBeginningTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRestartFromBeginningTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.RecipientList;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -30,8 +30,8 @@ import org.junit.Test;
 public class DeadLetterChannelRestartFromBeginningTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("retryBean", new RetryBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
index cf914ee..8aac89c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
@@ -20,13 +20,13 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.NamedNode;
 import org.apache.camel.Processor;
+import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.model.SetBodyDefinition;
 import org.apache.camel.model.language.ConstantExpression;
 import org.apache.camel.spi.Policy;
-import org.apache.camel.Route;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DefinitionPolicyPerProcessorTest extends ContextTestSupport {
@@ -46,8 +46,8 @@ public class DefinitionPolicyPerProcessorTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyPolicy("foo"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DetourTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DetourTest.java
index 871ef82..88e5135 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DetourTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DetourTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.processor;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DetourTest extends ContextTestSupport {
@@ -61,8 +61,8 @@ public class DetourTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         controlBean = new ControlBean();
         jndi.bind("controlBean", controlBean);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java
index ae7c8ce..f7f3fd4 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.processor;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -65,8 +65,8 @@ public class ErrorHandlerWrappedEachNodeTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java
index 977abd8..df3263c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java
@@ -21,8 +21,8 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.support.jndi.JndiTest;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -48,7 +48,7 @@ public class LogEipListenerTest {
     }
 
     protected CamelContext createCamelContext() throws Exception {
-        JndiRegistry registry = new JndiRegistry(JndiTest.createInitialContext());
+        Registry registry = new DefaultRegistry();
         CamelContext context = new DefaultCamelContext(registry);
         context.addRoutes(createRouteBuilder());
         return context;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/LogEipMaskTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/LogEipMaskTest.java
index 8d344dd..bd790ac 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/LogEipMaskTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/LogEipMaskTest.java
@@ -20,18 +20,18 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.MaskingFormatter;
-import org.apache.camel.support.jndi.JndiTest;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.junit.Assert;
 import org.junit.Test;
 
 public class LogEipMaskTest {
 
-    protected JndiRegistry registry;
+    protected Registry registry;
 
     protected CamelContext createCamelContext() throws Exception {
-        registry = new JndiRegistry(JndiTest.createInitialContext());
+        registry = new DefaultRegistry();
         CamelContext context = new DefaultCamelContext(registry);
         context.addRoutes(createRouteBuilder());
         return context;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java
index ec9549f..d03cd2b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/MethodFilterTest.java
@@ -16,12 +16,11 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class MethodFilterTest extends ContextTestSupport {
@@ -57,10 +56,10 @@ public class MethodFilterTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        Context context = super.createJndiContext();
-        context.bind("myBean", new MyBean());
-        return context;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("myBean", new MyBean());
+        return answer;
     }
 
     // START SNIPPET: filter
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/NormalizerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/NormalizerTest.java
index b27718f..8c1cdac 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/NormalizerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/NormalizerTest.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class NormalizerTest extends ContextTestSupport {
@@ -47,8 +45,8 @@ public class NormalizerTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("normalizer", new MyNormalizer());
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
index 9669ae9..30212c0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
@@ -20,10 +20,10 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.NamedNode;
 import org.apache.camel.Processor;
+import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.Policy;
-import org.apache.camel.Route;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class PolicyPerProcessorTest extends ContextTestSupport {
@@ -51,8 +51,8 @@ public class PolicyPerProcessorTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyPolicy("foo"));
         jndi.bind("bar", new MyPolicy("bar"));
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
index 2979e8e..88d840b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
@@ -20,10 +20,10 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.NamedNode;
 import org.apache.camel.Processor;
+import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.Policy;
-import org.apache.camel.Route;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class PolicyPerRouteTest extends ContextTestSupport {
@@ -49,8 +49,8 @@ public class PolicyPerRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyPolicy("foo"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanOnPrepareTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanOnPrepareTest.java
index 4a314e1..6119029 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanOnPrepareTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanOnPrepareTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -29,8 +29,8 @@ import org.junit.Test;
 public class RecipientListBeanOnPrepareTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPrepare", new AnimalDeepClonePrepare());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java
index c3a54f8..46988b8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListBeanTest.java
@@ -22,14 +22,14 @@ import java.util.Map;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class RecipientListBeanTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListFineGrainedErrorHandlingTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListFineGrainedErrorHandlingTest.java
index 0da7d82..e89dff21 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListFineGrainedErrorHandlingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListFineGrainedErrorHandlingTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class RecipientListFineGrainedErrorHandlingTest extends ContextTestSupport {
@@ -31,8 +31,8 @@ public class RecipientListFineGrainedErrorHandlingTest extends ContextTestSuppor
     private static int tries;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("fail", new MyFailBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListParallelFineGrainedErrorHandlingTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListParallelFineGrainedErrorHandlingTest.java
index a81602b..8222b9e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListParallelFineGrainedErrorHandlingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListParallelFineGrainedErrorHandlingTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class RecipientListParallelFineGrainedErrorHandlingTest extends ContextTestSupport {
@@ -29,8 +29,8 @@ public class RecipientListParallelFineGrainedErrorHandlingTest extends ContextTe
     private static int counter;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("fail", new MyFailBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListReturnValueTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListReturnValueTest.java
index d58aa69..1fd68d5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListReturnValueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListReturnValueTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.processor;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -29,8 +29,8 @@ import org.junit.Test;
 public class RecipientListReturnValueTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java
index 7665a48..91cad8f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.RoutePolicySupport;
 import org.junit.Test;
 
@@ -31,8 +31,8 @@ public class RoutePoliciesRefTest extends ContextTestSupport {
     private final MyCustomRoutePolicy policyB = new MyCustomRoutePolicy("B");
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("policy-a", policyA);
         jndi.bind("policy-b", policyB);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SimulatorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SimulatorTest.java
index 80751af..093f916 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SimulatorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SimulatorTest.java
@@ -16,22 +16,20 @@
  */
 package org.apache.camel.processor;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class SimulatorTest extends ContextTestSupport {
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("foo", new MyBean("foo"));
         answer.bind("bar", new MyBean("bar"));
         return answer;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SplitAggregateInOutTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SplitAggregateInOutTest.java
index dae7907..c95d02d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SplitAggregateInOutTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SplitAggregateInOutTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,8 +46,8 @@ public class SplitAggregateInOutTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("MyOrderService", new MyOrderService());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SplitRefCustomExpressionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SplitRefCustomExpressionTest.java
index d1de4b6..923c556 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SplitRefCustomExpressionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SplitRefCustomExpressionTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -32,8 +32,8 @@ import org.junit.Test;
 public class SplitRefCustomExpressionTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCustomExpression", new MyCustomExpression());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SplitterMethodCallTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SplitterMethodCallTest.java
index 906dbbf..a672638 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SplitterMethodCallTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SplitterMethodCallTest.java
@@ -22,7 +22,7 @@ import java.util.List;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class SplitterMethodCallTest extends ContextTestSupport {
@@ -38,8 +38,8 @@ public class SplitterMethodCallTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("splitterBean", new SplitWordsBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SplitterPojoTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SplitterPojoTest.java
index 4c57cd7..808a872 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SplitterPojoTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SplitterPojoTest.java
@@ -27,15 +27,15 @@ import org.apache.camel.Header;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultMessage;
 import org.junit.Test;
 
 public class SplitterPojoTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("mySplitterBean", new MySplitterBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ThrottlerMethodCallTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ThrottlerMethodCallTest.java
index fb5562c..5d4cd4b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/ThrottlerMethodCallTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/ThrottlerMethodCallTest.java
@@ -22,7 +22,7 @@ import java.util.concurrent.Executors;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.util.StopWatch;
 import org.junit.Test;
 
@@ -36,8 +36,8 @@ public class ThrottlerMethodCallTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", this);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionFinallyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionFinallyTest.java
index e910b63..705f660 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionFinallyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionFinallyTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -39,8 +39,8 @@ public class TryCatchCaughtExceptionFinallyTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", this);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTest.java
index f3d8e03..f54dbe4 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -39,8 +39,8 @@ public class TryCatchCaughtExceptionTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", this);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTwoTimesTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTwoTimesTest.java
index c70fb31..e843372 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTwoTimesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/TryCatchCaughtExceptionTwoTimesTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -41,8 +41,8 @@ public class TryCatchCaughtExceptionTwoTimesTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", this);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/TryFinallyCaughtExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/TryFinallyCaughtExceptionTest.java
index 30226f2..a989bd2 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/TryFinallyCaughtExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/TryFinallyCaughtExceptionTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -54,8 +54,8 @@ public class TryFinallyCaughtExceptionTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", this);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapBeanAsProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapBeanAsProcessorTest.java
index fae6946..21688ba 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapBeanAsProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapBeanAsProcessorTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,8 +37,8 @@ public class WireTapBeanAsProcessorTest extends ContextTestSupport {
     private MockEndpoint result;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("tap", myBean);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapOnPrepareRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapOnPrepareRefTest.java
index 5c14cea..8f68be4 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapOnPrepareRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapOnPrepareRefTest.java
@@ -17,7 +17,7 @@
 package org.apache.camel.processor;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 
 /**
  *
@@ -25,8 +25,8 @@ import org.apache.camel.impl.JndiRegistry;
 public class WireTapOnPrepareRefTest extends WireTapOnPrepareTest {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("deepClone", new AnimalDeepClonePrepare());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownBeanTest.java
index 1d6bd46..76f937e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownBeanTest.java
@@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,8 +60,8 @@ public class WireTapShutdownBeanTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("tap", new MyTapBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownRouteTest.java
index 82430e8..c3548f6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapShutdownRouteTest.java
@@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,8 +60,8 @@ public class WireTapShutdownRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("tap", new MyTapBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapVoidBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapVoidBeanTest.java
index 1f84400..e989f98 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/WireTapVoidBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/WireTapVoidBeanTest.java
@@ -20,7 +20,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,8 +50,8 @@ public class WireTapVoidBeanTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("tap", new MyTapBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionOnStopTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionOnStopTest.java
index 1871d22..5ef9137 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionOnStopTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionOnStopTest.java
@@ -18,8 +18,8 @@ package org.apache.camel.processor.aggregator;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.BodyInAggregatingStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AggregateForceCompletionOnStopTest extends ContextTestSupport {
@@ -98,8 +98,8 @@ public class AggregateForceCompletionOnStopTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCompletionProcessor", new MyCompletionProcessor());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefMethodNameTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefMethodNameTest.java
index f56519d..7818916 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefMethodNameTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefMethodNameTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.processor.aggregator;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AggregationStrategyBeanAdapterRefMethodNameTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myAppender", new AggregationStrategyBeanAdapterRefMethodNameTest.MyBodyAppender());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefTest.java
index 1de9b45..b3b9e03 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterRefTest.java
@@ -18,14 +18,14 @@ package org.apache.camel.processor.aggregator;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AggregationStrategyBeanAdapterRefTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myAppender", new AggregationStrategyBeanAdapterTest.MyBodyAppender());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
index 04ce1e6..6f3cc27 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
@@ -25,11 +25,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.NamedNode;
 import org.apache.camel.Processor;
+import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.AsyncProcessorAwaitManager;
 import org.apache.camel.spi.Policy;
-import org.apache.camel.Route;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.AsyncCallbackToCompletableFutureAdapter;
 import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.junit.Test;
@@ -40,8 +40,8 @@ public class AsyncEndpointPolicyTest extends ContextTestSupport {
     private static String afterThreadName;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyPolicy("foo"));
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean3Test.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean3Test.java
index 0bd9bd1..e77d906 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean3Test.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean3Test.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.RecipientList;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRecipientListBean3Test extends ContextTestSupport {
@@ -30,8 +30,8 @@ public class AsyncEndpointRecipientListBean3Test extends ContextTestSupport {
     private static String afterThreadName;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRecipientBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean4Test.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean4Test.java
index 26bb014..99fe545 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean4Test.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBean4Test.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.RecipientList;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRecipientListBean4Test extends ContextTestSupport {
@@ -30,8 +30,8 @@ public class AsyncEndpointRecipientListBean4Test extends ContextTestSupport {
     private static String afterThreadName;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRecipientBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBeanTest.java
index 0507a23..3a80be7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListBeanTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.RecipientList;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRecipientListBeanTest extends ContextTestSupport {
@@ -30,8 +30,8 @@ public class AsyncEndpointRecipientListBeanTest extends ContextTestSupport {
     private static String afterThreadName;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRecipientBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListFineGrainedErrorHandlingTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListFineGrainedErrorHandlingTest.java
index 7354599..a57be71 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListFineGrainedErrorHandlingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRecipientListFineGrainedErrorHandlingTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.processor.async;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRecipientListFineGrainedErrorHandlingTest extends ContextTestSupport {
@@ -27,8 +27,8 @@ public class AsyncEndpointRecipientListFineGrainedErrorHandlingTest extends Cont
     private static int counter;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("fail", new MyFailBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean2Test.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean2Test.java
index 4024dc7..1c4fc46 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean2Test.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean2Test.java
@@ -19,14 +19,14 @@ package org.apache.camel.processor.async;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RoutingSlip;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRoutingSlipBean2Test extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRoutingSlipBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean3Test.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean3Test.java
index d74b6bd..ea3fdc7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean3Test.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBean3Test.java
@@ -21,7 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.RoutingSlip;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRoutingSlipBean3Test extends ContextTestSupport {
@@ -30,8 +30,8 @@ public class AsyncEndpointRoutingSlipBean3Test extends ContextTestSupport {
     private static String afterThreadName;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRoutingSlipBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanNonBlockingTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanNonBlockingTest.java
index 3e665e3..2dbd692 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanNonBlockingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanNonBlockingTest.java
@@ -28,8 +28,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.RoutingSlip;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.SendProcessor;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.junit.Assert;
@@ -40,8 +40,8 @@ public class AsyncEndpointRoutingSlipBeanNonBlockingTest extends ContextTestSupp
     private Exchange innerExchange;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRoutingSlipBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanTest.java
index 7d17989..63a2329 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointRoutingSlipBeanTest.java
@@ -19,14 +19,14 @@ package org.apache.camel.processor.async;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RoutingSlip;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class AsyncEndpointRoutingSlipBeanTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myBean", new MyRoutingSlipBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java
index f697182..ccb73d6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java
@@ -21,14 +21,12 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.TimeUnit;
 
-import javax.naming.Context;
-
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.spi.AsyncProcessorAwaitManager;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -100,11 +98,10 @@ public class AsyncProcessorAwaitManagerInterruptWithRedeliveryTest extends Conte
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext jndiContext = new JndiContext();
-
-        jndiContext.bind("myBean", bean);
-        return jndiContext;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("myBean", bean);
+        return answer;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java
index 43b1119..71b6d96 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java
@@ -22,8 +22,8 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockComponent;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class EnricherRefTest extends ContextTestSupport {
@@ -31,8 +31,8 @@ public class EnricherRefTest extends ContextTestSupport {
     private MockEndpoint cool = new MockEndpoint("mock:cool", new MockComponent(context));
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("cool", cool);
         jndi.bind("agg", new UseLatestAggregationStrategy());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnrichBridgeErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnrichBridgeErrorHandlerTest.java
index 17fba5b..cfd5a03 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnrichBridgeErrorHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnrichBridgeErrorHandlerTest.java
@@ -21,9 +21,9 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
 import org.apache.camel.spi.PollingConsumerPollStrategy;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class PollEnrichBridgeErrorHandlerTest extends ContextTestSupport {
@@ -31,8 +31,8 @@ public class PollEnrichBridgeErrorHandlerTest extends ContextTestSupport {
     private MyPollingStrategy myPoll = new MyPollingStrategy();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myPoll", myPoll);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnricherRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnricherRefTest.java
index fbcf06e..b299d59 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnricherRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/enricher/PollEnricherRefTest.java
@@ -21,8 +21,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.seda.SedaEndpoint;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.Test;
 
@@ -31,8 +31,8 @@ public class PollEnricherRefTest extends ContextTestSupport {
     private SedaEndpoint cool = new SedaEndpoint();
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("cool", cool);
         jndi.bind("agg", new UseLatestAggregationStrategy());
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerExchangeFormatterRefTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerExchangeFormatterRefTest.java
index 500785c..9061037 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerExchangeFormatterRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerExchangeFormatterRefTest.java
@@ -20,8 +20,8 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.ExchangeFormatter;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DefaultErrorHandlerExchangeFormatterRefTest extends ContextTestSupport {
@@ -29,8 +29,8 @@ public class DefaultErrorHandlerExchangeFormatterRefTest extends ContextTestSupp
     private static int invoked;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myExchangeFormatter", new MyExchangeFormatter());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerOnExceptionOccurredProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerOnExceptionOccurredProcessorTest.java
index 1a395fc..32bc057 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerOnExceptionOccurredProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerOnExceptionOccurredProcessorTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class DefaultErrorHandlerOnExceptionOccurredProcessorTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myProcessor", new MyProcessor());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerRetryWhileTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerRetryWhileTest.java
index ded56c1..861bb95 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerRetryWhileTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/DefaultErrorHandlerRetryWhileTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -31,8 +31,8 @@ public class DefaultErrorHandlerRetryWhileTest extends ContextTestSupport {
     private static int invoked;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRetryHandler", new MyRetryBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java
index d36d65a..7604723 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java
@@ -18,7 +18,7 @@ package org.apache.camel.processor.onexception;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -98,8 +98,8 @@ public class OnExceptionComplexRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myServiceBean", myServiceBean);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceTest.java
index 64d1b2c..5fe725e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.processor.onexception;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -83,8 +83,8 @@ public class OnExceptionFromChoiceTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myServiceBean", myServiceBean);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceUseOriginalBodyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceUseOriginalBodyTest.java
index 3f00ba5..d357f7d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceUseOriginalBodyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionFromChoiceUseOriginalBodyTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.processor.onexception;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -83,8 +83,8 @@ public class OnExceptionFromChoiceUseOriginalBodyTest extends ContextTestSupport
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myServiceBean", myServiceBean);
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorOnExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorOnExceptionTest.java
index 78526aa..8c88dab 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorOnExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorOnExceptionTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class OnExceptionOccurredProcessorOnExceptionTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myProcessor", new MyProcessor());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorTest.java
index 618de36..7ab8bee 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionOccurredProcessorTest.java
@@ -20,14 +20,14 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class OnExceptionOccurredProcessorTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myProcessor", new MyProcessor());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilTest.java
index 19285ca..b4d3aac 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ExchangeException;
 import org.apache.camel.Header;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -34,8 +34,8 @@ public class OnExceptionRetryUntilTest extends ContextTestSupport {
     private static int invoked;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRetryHandler", new MyRetryBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilWithDefaultErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilWithDefaultErrorHandlerTest.java
index 54f8639..cf503b3 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilWithDefaultErrorHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilWithDefaultErrorHandlerTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.ExchangeException;
 import org.apache.camel.Header;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -34,8 +34,8 @@ public class OnExceptionRetryUntilWithDefaultErrorHandlerTest extends ContextTes
     private static int invoked;
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myRetryHandler", new MyRetryBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteTest.java
index 7ff0e9d..3e845f4 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -107,8 +107,8 @@ public class OnExceptionRouteTest extends ContextTestSupport {
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myOwnHandler", myOwnHandlerBean);
         jndi.bind("myServiceBean", myServiceBean);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteWithDefaultErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteWithDefaultErrorHandlerTest.java
index 2e93dae..492ce72 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteWithDefaultErrorHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRouteWithDefaultErrorHandlerTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -91,8 +91,8 @@ public class OnExceptionRouteWithDefaultErrorHandlerTest extends ContextTestSupp
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myOwnHandler", myOwnHandlerBean);
         jndi.bind("myServiceBean", myServiceBean);
         return jndi;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipDataModificationTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipDataModificationTest.java
index 7ef0bfd..220d9b5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipDataModificationTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipDataModificationTest.java
@@ -16,13 +16,11 @@
  */
 package org.apache.camel.processor.routingslip;
 
-import javax.naming.Context;
-
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -58,8 +56,8 @@ public class RoutingSlipDataModificationTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipWithExceptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipWithExceptionTest.java
index 23484df..2d3e4ed 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipWithExceptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/routingslip/RoutingSlipWithExceptionTest.java
@@ -18,14 +18,12 @@ package org.apache.camel.processor.routingslip;
 
 import java.util.concurrent.TimeUnit;
 
-import javax.naming.Context;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.support.jndi.JndiContext;
+import org.apache.camel.spi.Registry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -139,8 +137,8 @@ public class RoutingSlipWithExceptionTest extends ContextTestSupport {
     }
 
     @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
         answer.bind("myBean", myBean);
         return answer;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/support/jndi/JndiCamelSingletonInitialContextFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/support/jndi/JndiCamelSingletonInitialContextFactoryTest.java
index b2ba0e7..6765e6b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/support/jndi/JndiCamelSingletonInitialContextFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/support/jndi/JndiCamelSingletonInitialContextFactoryTest.java
@@ -26,7 +26,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
+import org.apache.camel.support.DefaultRegistry;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,10 +48,10 @@ public class JndiCamelSingletonInitialContextFactoryTest extends ContextTestSupp
     }
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = new JndiRegistry(new InitialContext(env));
-        jndi.bind("jdbc/myDataSource", FAKE);
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Context context = new InitialContext(env);
+        context.bind("jdbc/myDataSource", FAKE);
+        return new DefaultRegistry(new JndiBeanRepository(context));
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/util/CamelContextHelperTest.java b/core/camel-core/src/test/java/org/apache/camel/util/CamelContextHelperTest.java
index 81272f9..3455d5e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/util/CamelContextHelperTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/util/CamelContextHelperTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.apache.camel.support.CamelContextHelper;
 import org.junit.Assert;
 import org.junit.Test;
@@ -30,8 +30,8 @@ import org.junit.Test;
 public class CamelContextHelperTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("foo", new MyFooBean());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java
index 21dc50f..79485d9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.MyBarSingleton;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -29,8 +29,8 @@ import org.junit.Test;
 public class DumpModelAsXmlDanishCharactersTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCoolBean", new MyBarSingleton());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java
index e7acee7..eded380 100644
--- a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRouteExpressionTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.MyBarSingleton;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -29,8 +29,8 @@ import org.junit.Test;
 public class DumpModelAsXmlRouteExpressionTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCoolBean", new MyBarSingleton());
         return jndi;
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java
index 22ecd45..f750829 100644
--- a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java
@@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.MyBarSingleton;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 /**
@@ -29,8 +29,8 @@ import org.junit.Test;
 public class DumpModelAsXmlRoutePredicateTest extends ContextTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
+    protected Registry createRegistry() throws Exception {
+        Registry jndi = super.createRegistry();
         jndi.bind("myCoolBean", new MyBarSingleton());
         return jndi;
     }
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomLoadBalancerTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomLoadBalancerTest.java
index 564a35b..0d8109c 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomLoadBalancerTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomLoadBalancerTest.java
@@ -23,17 +23,17 @@ import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.processor.loadbalancer.LoadBalancerSupport;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class ManagedCustomLoadBalancerTest extends ManagementTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("myBalancer", new MyLoadBalancer());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("myBalancer", new MyLoadBalancer());
+        return answer;
     }
 
     @Test
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedProcessTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedProcessTest.java
index f39c550..72e610e 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedProcessTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedProcessTest.java
@@ -22,16 +22,16 @@ import javax.management.ObjectName;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.JndiRegistry;
+import org.apache.camel.spi.Registry;
 import org.junit.Test;
 
 public class ManagedProcessTest extends ManagementTestSupport {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("foo", new MyDummyProcessor());
-        return jndi;
+    protected Registry createRegistry() throws Exception {
+        Registry answer = super.createRegistry();
+        answer.bind("foo", new MyDummyProcessor());
+        return answer;
     }
 
     @Test