Three thoughts:

1) This has been there for at least a few months and this was the first I’ve 
seen it (and there still isn’t a JIRA filed…).  It’s definitely not a 
regression from the last release.  

2) We have a viable workaround via the compat bundle

3) Even with the workaround, I strongly discourage people from configuring the 
jetty servers in their blueprint files.   Since the servers are “shared”, you 
get into a “first bundle to create the port has the configuration that wins” 
situation which can be unpredictable and error prone.  If bundles with 
different services start up in different order, you can get strange behavior.  
Configuring the port via the files in /etc would be better (and also then puts 
the job of configuring the ports into the hands of the administrator, not the 
app developer, and puts it with the configs for the pax-web and others).

Anyway, it IS a bug we should fix, but not something I’d hold the release up 
for at this point.

Dan



> On Feb 12, 2015, at 11:58 AM, Krzysztof Sobkowiak <[email protected]> 
> wrote:
> 
> Hi Aki
> 
> Indeed, it works. But I had to install the compatibility bundle
> separately. Which Karaf/ServiceMix version did you use to test this?
> Which Karaf feature have you installed? Have you installed the bundle
> separately too? The bundle is not installed per default in Karaf now.
> 
> Thanks for the hint :-)
> 
> Regards
> Krzysztof
> 
> 
> On 12.02.2015 15:31, Aki Yoshida wrote:
>> But this org.apache.aries.blueprint.reflect is available from
>> org.apache.aries.blueprint.core.compatibility, so it isn't a problem
>> of CXF, no?
>> 
>> karaf@root()> exports | grep org.apache.aries.blueprint.reflect
>> 
>> org.apache.aries.blueprint.reflect
>>                                | 1.0.0            | 14  |
>> org.apache.aries.blueprint.core.compatibility
>> 
>> karaf@root()> headers 14
>> 
>> Apache Aries Blueprint Core Compatiblity Fragment Bundle (14)
>> -------------------------------------------------------------
>> ...
>> 
>> Export-Package =
>> org.apache.aries.blueprint.container;
>> uses:="org.apache.aries.blueprint.di,
>> org.apache.aries.blueprint.reflect";
>> deprecated=true;
>> version=1.0.0,
>> org.apache.aries.blueprint.di;uses:=org.apache.aries.blueprint.container;deprecated=true;version=1.0.0,
>> org.apache.aries.blueprint.reflect;deprecated=true;version=1.0.0
>> 
>> 
>> karaf@root()>
>> 
>> 
>> 2015-02-12 7:01 GMT+01:00 Krzysztof Sobkowiak <[email protected]>:
>>> Hi
>>> 
>>> One user has reported a problem with usage of httpj:engine-factoryin
>>> ServiceMix
>>> (http://servicemix.396122.n5.nabble.com/servicemix-5-4-0-cxf-jetty-blueprint-issue-tp5722268.html).
>>> Using this configuration element in blueprint causes following error
>>> 
>>> 
>>> java.lang.NoClassDefFoundError:
>>> org/apache/aries/blueprint/reflect/MapMetadataImpl
>>>    at
>>> org.apache.cxf.transport.http_jetty.blueprint.JettyServerEngineFactoryParser.parseEngineConnector(JettyServerEngineFactoryParser.java:110)
>>>    at
>>> org.apache.cxf.transport.http_jetty.blueprint.JettyServerEngineFactoryParser.parse(JettyServerEngineFactoryParser.java:83)
>>>    at
>>> org.apache.cxf.transport.http_jetty.blueprint.HTTPJettyTransportNamespaceHandler.parse(HTTPJettyTransportNamespaceHandler.java:68)
>>>    at
>>> org.apache.aries.blueprint.parser.Parser.parseCustomElement(Parser.java:1308)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.parser.Parser.loadComponents(Parser.java:366)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.parser.Parser.populate(Parser.java:306)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:323)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:294)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:263)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:253)[18:org.apache.aries.blueprint.core:1.4.2]
>>>    at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[13:org.apache.aries.util:1.1.0]
>>>    at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[13:org.apache.aries.util:1.1.0]
>>>    at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[13:org.apache.aries.util:1.1.0]
>>>    at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[13:org.apache.aries.util:1.1.0]
>>>    at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[13:org.apache.aries.util:1.1.0]
>>>    at
>>> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.4.1.jar:]
>>>    at java.lang.Thread.run(Thread.java:745)[:1.7.0_76]
>>> Caused by: java.lang.ClassNotFoundException:
>>> org.apache.aries.blueprint.reflect.MapMetadataImpl not found by
>>> org.apache.cxf.cxf-rt-transports-http-jetty [165]
>>>    at
>>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)[org.apache.felix.framework-4.4.1.jar:]
>>>    at
>>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)[org.apache.felix.framework-4.4.1.jar:]
>>>    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_76]
>>> 
>>> 
>>> The problem was introduced by
>>> https://issues.apache.org/jira/browse/CXF-5863 (in 2.7.x, 3.0.x and
>>> master --
>>> https://git-wip-us.apache.org/repos/asf?p=cxf.git;a=commit;h=3812fe2327b06d06ba60fe80fc466e4b39c915d6)
>>> by usage of classes from org.apache.aries.blueprint.reflectin
>>> JettyServerEngineFactoryParser. The package is imported by
>>> cxf-rt-transports-http-jettybut the classes are not exported (and were
>>> not exported when this bug was fixed) from blueprint-core.
>>> 
>>> I think, this is a blocking issue for people using
>>> httpj:engine-factoryblueprint element in OSGi environment, but you can
>>> decide whether this should stop the release. It would be nice if you had
>>> a workaround for this problem.
>>> 
>>> Regards
>>> Krzysztof
>>> 
>>> 
>>> On 12.02.2015 02:53, Daniel Kulp wrote:
>>>> This is a vote to release 3.0.4 and 2.7.15.  It’s been about 2 months 
>>>> since the last release and we’ve fixed more than 70 issues.
>>>> 
>>>> Staging areas:
>>>> 2.7.15:
>>>> https://repository.apache.org/content/repositories/orgapachecxf-1036/
>>>> 3.0.4:
>>>> https://repository.apache.org/content/repositories/orgapachecxf-1037/
>>>> 
>>>> 
>>>> Tags:
>>>> 2.7.15:
>>>> https://git-wip-us.apache.org/repos/asf?p=cxf.git;a=tag;h=ad0e985de4d14603398765e96723a4d2efe9da64
>>>> 3.0.4:
>>>> https://git-wip-us.apache.org/repos/asf?p=cxf.git;a=tag;h=3bbc187f31e42cd4cb2e82b6604a87029823331c
>>>> 
>>>> 
>>>> The vote will be open for at least 72 hours.
>>>> 
>>> --
>>> Krzysztof Sobkowiak
>>> 
>>> JEE & OSS Architect
>>> Senior Solution Architect @ Capgemini SSC
>>> <http://www.pl.capgemini-sdm.com/en>
>>> Apache ServiceMix <http://servicemix.apache.org/> Committer & PMC
> 
> -- 
> Krzysztof Sobkowiak
> 
> JEE & OSS Architect
> Senior Solution Architect @ Capgemini SSC
> <http://www.pl.capgemini-sdm.com/en>
> Apache ServiceMix <http://servicemix.apache.org/> Committer & PMC

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to