[ 
https://issues.apache.org/jira/browse/CAMEL-12873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16644437#comment-16644437
 ] 

ASF GitHub Bot commented on CAMEL-12873:
----------------------------------------

tadayosi opened a new pull request #2559: CAMEL-12873: camel-servlet - Example 
for HttpRegistry no longer works…
URL: https://github.com/apache/camel/pull/2559
 
 
   … throwing FinalModifierException
   
   It also recovers an example test which existed under 
`tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/servlet/` as 
an example.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> camel-servlet - Example for HttpRegistry no longer works throwing 
> FinalModifierException
> ----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-12873
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12873
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-http-common, camel-servlet
>    Affects Versions: 2.22.1
>            Reporter: Tadayoshi Sato
>            Assignee: Tadayoshi Sato
>            Priority: Major
>         Attachments: camel-example-servlet-httpregistry-blueprint.zip
>
>
> There was a configuration example for {{HttpRegistry}}, which is introduced 
> by CAMEL-3549, under 
> {{tests/camel-itest-osgi/src/test/resources/org/apache/camel/itest/osgi/servlet/}}.
>  The test itself was removed probably because it depended on deprecated 
> Spring DM, but the use case CAMEL-3549, which is to use a CamelServlet 
> instance across OSGi bundles, exemplified by the test should be still valid 
> and maintained.
> However, with the latest Camel when deploying the attached example 
> ({{camel-example-servlet-httpregistry-blueprint.zip}}) to Karaf it fails to 
> deploy throwing the following error:
> {code}
> 2018-10-09T20:42:54,813 | ERROR | FelixStartLevel  | BlueprintContainerImpl   
>         | 52 - org.apache.aries.blueprint.core - 1.9.0 | Unable to start 
> blueprint container for bundle 
> camel-example-servlet-httpregistry-blueprint/2.23.0.SNAPSHOT
> org.osgi.service.blueprint.container.ComponentDefinitionException: 
> org.apache.aries.proxy.FinalModifierException: The methods protected final 
> void 
> org.apache.camel.http.common.CamelServlet.service(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
>  throws javax.servlet.ServletException,java.io.IOException in class 
> org.apache.camel.http.common.CamelServlet are final.
>       at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:141)
>  ~[52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) 
> ~[52:org.apache.aries.blueprint.core:1.9.0]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) 
> ~[52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360)
>  ~[52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190)
>  ~[52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:716)
>  ~[52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:413)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:278)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:299)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:268)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:264)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:254)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
>  [52:org.apache.aries.blueprint.core:1.9.0]
>       at 
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)
>  [?:?]
>       at 
> org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
>  [?:?]
>       at 
> org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
>  [?:?]
>       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) 
> [?:?]
>       at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) [?:?]
>       at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373) [?:?]
>       at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>  [?:?]
>       at java.lang.Thread.run(Thread.java:748) [?:?]
> Caused by: org.apache.aries.proxy.FinalModifierException: The methods 
> protected final void 
> org.apache.camel.http.common.CamelServlet.service(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
>  throws javax.servlet.ServletException,java.io.IOException in class 
> org.apache.camel.http.common.CamelServlet are final.
>       at 
> org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.getProxySubclass(ProxySubclassGenerator.java:112)
>  ~[?:?]
>       at 
> org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:171)
>  ~[?:?]
>       at 
> org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:140)
>  ~[?:?]
>       at 
> org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:77)
>  ~[?:?]
>       at 
> org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:42)
>  ~[?:?]
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:332)
>  ~[?:?]
>       at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:125)
>  ~[?:?]
>       ... 25 more
> {code}
> This is clearly because at some point in time {{CamelServlet.service()}} 
> method was marked as {{final}}. We should remove it to restore the use case.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to