Hi Sergio,

This is a WARNING message and not an ERROR message. Nevertheless, it could
be interesting that we investigate why Blueprint report that the Bean is
not of type 'deadLetterErrorHandler of type:
org.apache.camel.builder.ErrorHandlerBuilder' as the Class
'DeadLetterChannelBuilder' used to instantiate a DeadLetterErrorHandler
extends the DefaultErrorHandlerBuilder extending
'ErrorHandlerBuilderSupport' which finally instantiates
'ErrorHandlerBuilderSupport implementing ErrorHandlerBuilder '

Regards,



On Sun, Aug 31, 2014 at 1:58 AM, champel <cham...@gmail.com> wrote:

> Hello,
>
> using Camel 2.13.2 over a Karaf 3.0.1, I’m executing a route defined in a
> blueprint that references to an error handler. It starts without any
> warning, but when the bundle is stopped I get the following warning:
>
> 2014-08-30 16:33:50,770 | INFO  | e ssh user karaf | BlueprintExtender
> | 19 - org.apache.aries.blueprint.core - 1.4.0 | Destroying
> BlueprintContainer for bundle blueprintErrorHandlerTest
> 2014-08-30 16:33:50,773 | INFO  | e ssh user karaf | BlueprintCamelContext
> | 84 - org.apache.camel.camel-core - 2.13.2 | Apache Camel 2.13.2
> (CamelContext: blueprintContext) is shutting down
> 2014-08-30 16:33:50,774 | INFO  | e ssh user karaf |
> DefaultShutdownStrategy
> | 84 - org.apache.camel.camel-core - 2.13.2 | Starting to graceful shutdown
> 1 routes (timeout 300 seconds)
> 2014-08-30 16:33:50,775 | INFO  | 1 - ShutdownTask |
> DefaultShutdownStrategy
> | 84 - org.apache.camel.camel-core - 2.13.2 | Route: timerToLog shutdown
> complete, was consuming from: Endpoint[timer://foo?period=5000]
> 2014-08-30 16:33:50,775 | INFO  | e ssh user karaf |
> DefaultShutdownStrategy
> | 84 - org.apache.camel.camel-core - 2.13.2 | Graceful shutdown of 1 routes
> completed in 0 seconds
> 2014-08-30 16:33:50,775 | WARN  | e ssh user karaf |
> faultManagementLifecycleStrategy | 84 - org.apache.camel.camel-core -
> 2.13.2
> | Could not unregister error handler:
> org.apache.camel.management.mbean.ManagedErrorHandler@1008da34 as
> ErrorHandler MBean.
> org.apache.camel.NoSuchBeanException: No bean could be found in the
> registry
> for: deadLetterErrorHandler of type:
> org.apache.camel.builder.ErrorHandlerBuilder
> at
>
> org.apache.camel.util.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:151)
> at
>
> org.apache.camel.impl.DefaultRouteContext.mandatoryLookup(DefaultRouteContext.java:144)
> at
>
> org.apache.camel.builder.ErrorHandlerBuilderRef.lookupErrorHandlerBuilder(ErrorHandlerBuilderRef.java:125)
> at
>
> org.apache.camel.management.DefaultManagementNamingStrategy.getObjectNameForErrorHandler(DefaultManagementNamingStrategy.java:154)
> at
>
> org.apache.camel.management.ManagedManagementStrategy.getManagedObjectName(ManagedManagementStrategy.java:104)
> at
>
> org.apache.camel.management.ManagedManagementStrategy.unmanageObject(ManagedManagementStrategy.java:143)
> at
>
> org.apache.camel.management.DefaultManagementLifecycleStrategy.unmanageObject(DefaultManagementLifecycleStrategy.java:827)
> at
>
> org.apache.camel.management.DefaultManagementLifecycleStrategy.onErrorHandlerRemove(DefaultManagementLifecycleStrategy.java:626)
> at
> org.apache.camel.impl.RouteService.stopChildService(RouteService.java:345)
> at org.apache.camel.impl.RouteService.doStop(RouteService.java:222)
> at
>
> org.apache.camel.support.ChildServiceSupport.stop(ChildServiceSupport.java:74)
> at
>
> org.apache.camel.support.ChildServiceSupport.stop(ChildServiceSupport.java:98)
> at org.apache.camel.util.ServiceHelper.stopService(ServiceHelper.java:141)
> at
>
> org.apache.camel.util.ServiceHelper.stopAndShutdownService(ServiceHelper.java:204)
> at
>
> org.apache.camel.impl.DefaultCamelContext.shutdownServices(DefaultCamelContext.java:2005)
> at
>
> org.apache.camel.impl.DefaultCamelContext.shutdownServices(DefaultCamelContext.java:2030)
> at
>
> org.apache.camel.impl.DefaultCamelContext.shutdownServices(DefaultCamelContext.java:2018)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doStop(DefaultCamelContext.java:1870)
> at org.apache.camel.support.ServiceSupport.stop(ServiceSupport.java:102)
> at
>
> org.apache.camel.blueprint.BlueprintCamelContext.destroy(BlueprintCamelContext.java:119)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_60]
> at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_60]
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_60]
> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_60]
> at
>
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)
> at
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)
> at
>
> org.apache.aries.blueprint.container.BeanRecipe.destroy(BeanRecipe.java:863)
> at
>
> org.apache.aries.blueprint.container.BlueprintRepository.destroy(BlueprintRepository.java:320)
> at
>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.destroyComponents(BlueprintContainerImpl.java:722)
> at
>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.tidyupComponents(BlueprintContainerImpl.java:916)
> at
>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:866)
> at
>
> org.apache.aries.blueprint.container.BlueprintExtender$3.run(BlueprintExtender.java:301)
> at
>
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_60]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_60]
> at
>
> org.apache.aries.blueprint.container.BlueprintExtender.destroyContainer(BlueprintExtender.java:322)
> at
>
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:218)
> at
>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
> at
>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
> at
>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
> at
>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
> at
>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
> at
>
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
> at
>
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
> at
>
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
> at org.apache.felix.framework.Felix.stopBundle(Felix.java:2520)
> at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:991)
> at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:978)
> at org.apache.karaf.bundle.command.Stop.executeOnBundle(Stop.java:38)
> at
>
> org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:53)
> at
>
> org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:50)
> at
>
> org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:41)
> at
>
> org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)
> at
>
> org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:39)
> at
>
> org.apache.karaf.shell.commands.basic.AbstractCommand.execute(AbstractCommand.java:33)
> at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_60]
> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_60]
> at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
> at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
> at
>
> org.apache.karaf.shell.console.commands.$BlueprintCommand627362708.execute(Unknown
> Source)[37:org.apache.karaf.shell.console:3.0.1]
> at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_60]
> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_60]
> at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
> at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
> at
>
> org.apache.karaf.shell.console.commands.$BlueprintCommand627362708.execute(Unknown
> Source)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
> at
>
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl$DelegateSession.execute(ConsoleImpl.java:521)
> at
>
> org.apache.karaf.shell.console.impl.jline.ConsoleImpl.run(ConsoleImpl.java:212)
> at java.lang.Thread.run(Thread.java:745)[:1.7.0_60]
> at
>
> org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3.doRun(ConsoleFactoryService.java:126)[37:org.apache.karaf.shell.console:3.0.1]
> at
>
> org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3$1.run(ConsoleFactoryService.java:117)
> at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_60]
> at
>
> org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:47)[38:org.apache.karaf.jaas.modules:3.0.1]
> at
>
> org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3.run(ConsoleFactoryService.java:115)[37:org.apache.karaf.shell.console:3.0.1]
>
>
> To reproduce this issue I created a simple blueprint based on the
> camel-archetype-blueprint and added the error handler:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xmlns:camel="http://camel.apache.org/schema/blueprint";
>        xsi:schemaLocation="
>        http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>        http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
>   <bean id="helloBean" class="cat.champel.tests.HelloBean">
>       <property name="say" value="Hi from Camel"/>
>   </bean>
>   <camelContext id="blueprintContext" trace="false"
> xmlns="http://camel.apache.org/schema/blueprint";>
> *    <errorHandler id="deadLetterErrorHandler" type="DeadLetterChannel"
> deadLetterUri="mock:error">
>       <camel:redeliveryPolicy logHandled="true" logStackTrace="true"/>
>     </errorHandler>
>     <route id="timerToLog" errorHandlerRef="deadLetterErrorHandler">
> *      <from uri="timer:foo?period=5000"/>
>       <setBody>
>           <method ref="helloBean" method="hello"/>
>       </setBody>
>       <log message="The message contains ${body}"/>
>       <to uri="mock:result"/>
>     </route>
>   </camelContext>
> </blueprint>
>
> Is there any solution to avoid this exception?
>
> Thanks,
> Ch.
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Could-not-unregister-error-handler-warning-destroying-a-BlueprintCamelContext-tp5755881.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



-- 
Charles Moulliard
Apache Committer / Architect @RedHat
Twitter : @cmoulliard | Blog :  http://cmoulliard.github.io

Reply via email to