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

ASF GitHub Bot commented on BROOKLYN-338:
-----------------------------------------

Github user aledsage commented on the issue:

    https://github.com/apache/brooklyn-server/pull/305
  
    Jenkins failure was for `OsTest.testDeleteRecursivelyEmptyDir`, failing for 
the 1000 attempts like:
    
        2016-08-23 22:38:29,719 WARN  Attempt to create temp dir failed 
/tmp/OsTest-IicA. Either an IO error (disk full, no rights) or someone else 
created the folder after the !exists() check.
    
    Presumably "just" the build machine had run out of disk space! So assuming 
it wasn't our tests that filled up the disk, then this error is not related to 
our code.
    
    ---
    I've incorporated Svet's comment and squashed the commits.


> brooklyn-rest-client feature fails when used it in Karaf
> --------------------------------------------------------
>
>                 Key: BROOKLYN-338
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-338
>             Project: Brooklyn
>          Issue Type: Bug
>            Reporter: Aled Sage
>
> Running in Karaf with 0.10.0-SNAPSHOT, I was trying to use a Java-based 
> entity that depended on brooklyn-rest-client. Unfortunately it gave the error 
> below when trying to call {{BrooklynApi.getServerApi}}:
> {noformat}
> 14:13:12,744 WARN  110 internal.EffectorUtils         [ager-hNCDIaY7-10] 
> Error invoking start at TestRunnerImpl{id=q32d37v4bj}: interface 
> org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is not visible 
> from class loader
> 14:13:12,744 DEBUG 110 internal.EffectorUtils         [ager-hNCDIaY7-10] 
> Error invoking start at TestRunnerImpl{id=q32d37v4bj}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: interface 
> org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is not visible 
> from class loader
>         at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:343)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.entity.trait.Startable$StartEffectorBody.call(Startable.java:56)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.entity.trait.Startable$StartEffectorBody.call(Startable.java:50)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.effector.EffectorTasks$EffectorBodyTaskFactory$1.call(EffectorTasks.java:82)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_80]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_80]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_80]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_80]
> Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: 
> interface org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is 
> not visible from class loader
>         at 
> org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:129)
>         at 
> org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:372)
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl.performAmpConnectivityTests(TestRunnerImpl.java:115)
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl.start(TestRunnerImpl.java:64)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.7.0_80]
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_80]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_80]
>         at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_80]
>         at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)[54:groovy-all:2.3.7]
>         at 
> groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)[54:groovy-all:2.3.7]
>         at 
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)[54:groovy-all:2.3.7]
>         at 
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)[54:groovy-all:2.3.7]
>         at 
> groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)[54:groovy-all:2.3.7]
>         at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown 
> Source)[jar:bundle://54.0:0/!/:2.3.7]
>         at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)[54:groovy-all:2.3.7]
>         at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown 
> Source)[jar:bundle://54.0:0/!/:2.3.7]
>         at 
> org.apache.brooklyn.util.groovy.GroovyJavaMethods.invokeMethodOnMetaClass(GroovyJavaMethods.java:191)[135:org.apache.brooklyn.utils-groovy:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodLocal(AbstractManagementContext.java:315)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:339)[110:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         ... 11 more
> Caused by: java.util.concurrent.ExecutionException: 
> java.lang.IllegalArgumentException: interface 
> org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is not visible 
> from class loader
>         at 
> java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.7.0_80]
>         at java.util.concurrent.FutureTask.get(FutureTask.java:188)[:1.7.0_80]
>         at 
> com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
>         at 
> org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361)
>         at 
> org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:370)
>         ... 28 more
> Caused by: java.lang.IllegalArgumentException: interface 
> org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is not visible 
> from class loader
>         at 
> java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:616)[:1.7.0_80]
>         at 
> java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:592)[:1.7.0_80]
>         at 
> java.lang.reflect.WeakCache$Factory.get(WeakCache.java:244)[:1.7.0_80]
>         at java.lang.reflect.WeakCache.get(WeakCache.java:141)[:1.7.0_80]
>         at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:455)[:1.7.0_80]
>         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:738)[:1.7.0_80]
>         at 
> org.jboss.resteasy.client.ProxyBuilder.createProxy(ProxyBuilder.java:166)[282:wrap_file__Users_drigodwin_Documents_amp-pro_cloudsoft-amp-karaf-4.0.0-SNAPSHOT_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar:0.0.0]
>         at 
> org.jboss.resteasy.client.ProxyBuilder.now(ProxyBuilder.java:129)[282:wrap_file__Users_drigodwin_Documents_amp-pro_cloudsoft-amp-karaf-4.0.0-SNAPSHOT_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar:0.0.0]
>         at 
> org.jboss.resteasy.client.ProxyFactory.create(ProxyFactory.java:70)[282:wrap_file__Users_drigodwin_Documents_amp-pro_cloudsoft-amp-karaf-4.0.0-SNAPSHOT_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar:0.0.0]
>         at 
> org.jboss.resteasy.client.ProxyFactory.create(ProxyFactory.java:65)[282:wrap_file__Users_drigodwin_Documents_amp-pro_cloudsoft-amp-karaf-4.0.0-SNAPSHOT_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar:0.0.0]
>         at 
> org.jboss.resteasy.client.ProxyFactory.create(ProxyFactory.java:60)[282:wrap_file__Users_drigodwin_Documents_amp-pro_cloudsoft-amp-karaf-4.0.0-SNAPSHOT_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar:0.0.0]
>         at 
> org.jboss.resteasy.client.ProxyFactory.create(ProxyFactory.java:43)[282:wrap_file__Users_drigodwin_Documents_amp-pro_cloudsoft-amp-karaf-4.0.0-SNAPSHOT_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar:0.0.0]
>         at 
> org.apache.brooklyn.rest.client.BrooklynApi.proxy(BrooklynApi.java:268)[120:org.apache.brooklyn.rest-client:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.rest.client.BrooklynApi.getServerApi(BrooklynApi.java:354)[120:org.apache.brooklyn.rest-client:0.10.0.SNAPSHOT]
>         at 
> io.cloudsoft.test.scheduler.rest.client.BrooklynRestClientImpl.isServerUp(BrooklynRestClientImpl.java:117)[60:io.cloudsoft.amp.qaframework.qa-test-scheduler:1.0.0.SNAPSHOT]
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl$2.call(TestRunnerImpl.java:110)[60:io.cloudsoft.amp.qaframework.qa-test-scheduler:1.0.0.SNAPSHOT]
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl$2.call(TestRunnerImpl.java:107)[60:io.cloudsoft.amp.qaframework.qa-test-scheduler:1.0.0.SNAPSHOT]
>         ... 6 more
> 14:13:12,746 DEBUG 110 task.CompoundTask              [ager-hNCDIaY7-10] 
> Parent task DstJob:HtFg6n00 ignoring child error 
> (org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: interface 
> org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is not visible 
> from class loader) in presence of our own error 
> (org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException:
>  Error invoking start at TestRunnerImpl{id=q32d37v4bj}: interface 
> org.jboss.resteasy.client.core.marshallers.ResteasyClientProxy is not visible 
> from class loader)
> {noformat}
> ---
> Fixed the immediate error by adding to {{brooklyn-rest-client/pom.xml}}:
> {noformat}
> <plugin>
>     <groupId>org.apache.felix</groupId>
>     <artifactId>maven-bundle-plugin</artifactId>
>     <version>2.5.3</version>
>     <extensions>true</extensions>
>     <configuration>
>         <instructions>
>             
> <Import-Package>*,org.jboss.resteasy.client.core.marshallers</Import-Package>
>         </instructions>
>     </configuration>
> </plugin>
> {noformat}
> Note the absence of version in the import. Because it is built with pax wrap 
> ({{wrap:mvn:org.jboss.resteasy/resteasy-jaxrs/${resteasy.version}}}) it gets 
> version {{0}}. So got a wiring error.
> When giving it an explicit version number (with 
> {{wrap:mvn:org.jboss.resteasy/resteasy-jaxrs/${resteasy.version}$Bundle-Version=${resteasy.version}}}),
>  that seemingly just gave the bundle the version number and not the 
> Export-Packages, so still got the same wiring error.
> Hence backing off from giving any version number requirement in the 
> Import-Package.
> ---
> The next error was:
> {noformat}
> 19:58:18,728 DEBUG 121 internal.EffectorUtils         [nager-muB1cYlC-7] 
> Error invoking start at TestRunnerImpl{id=v470nl1isq}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: 
> ReaderException: javax.ws.rs.ProcessingException: Unable to find a 
> MessageBodyReader of content-type application/json and type boolean
>         at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:343)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.entity.trait.Startable$StartEffectorBody.call(Startable.java:56)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.entity.trait.Startable$StartEffectorBody.call(Startable.java:50)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.effector.EffectorTasks$EffectorBodyTaskFactory$1.call(EffectorTasks.java:82)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_71]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_71]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_71]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]
> Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: 
> ReaderException: javax.ws.rs.ProcessingException: Unable to find a 
> MessageBodyReader of content-type application/json and type boolean
>         at 
> org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:129)
>         at 
> org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:372)
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl.performAmpConnectivityTests(TestRunnerImpl.java:115)
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl.start(TestRunnerImpl.java:64)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.7.0_71]
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_71]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_71]
>         at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_71]
>         at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)[90:groovy-all:2.3.7]
>         at 
> groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)[90:groovy-all:2.3.7]
>         at 
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)[90:groovy-all:2.3.7]
>         at 
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)[90:groovy-all:2.3.7]
>         at 
> groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)[90:groovy-all:2.3.7]
>         at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown 
> Source)[mvn:org.codehaus.groovy/groovy-all/2.3.7:2.3.7]
>         at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)[90:groovy-all:2.3.7]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)[90:groovy-all:2.3.7]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)[90:groovy-all:2.3.7]
>         at 
> org.apache.brooklyn.util.groovy.GroovyJavaMethods.invokeMethodOnMetaClass(GroovyJavaMethods.java:191)[143:org.apache.brooklyn.utils-groovy:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodLocal(AbstractManagementContext.java:315)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:339)[121:org.apache.brooklyn.core:0.10.0.SNAPSHOT]
>         ... 11 more
> Caused by: java.util.concurrent.ExecutionException: 
> org.jboss.resteasy.spi.ReaderException: javax.ws.rs.ProcessingException: 
> Unable to find a MessageBodyReader of content-type application/json and type 
> boolean
>         at 
> java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.7.0_71]
>         at java.util.concurrent.FutureTask.get(FutureTask.java:188)[:1.7.0_71]
>         at 
> com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
>         at 
> org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361)
>         at 
> org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:370)
>         ... 29 more
> Caused by: org.jboss.resteasy.spi.ReaderException: 
> javax.ws.rs.ProcessingException: Unable to find a MessageBodyReader of 
> content-type application/json and type boolean
>         at 
> org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:470)
>         at 
> org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:385)
>         at 
> org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:358)
>         at 
> org.jboss.resteasy.client.core.extractors.BodyEntityExtractor.extractEntity(BodyEntityExtractor.java:61)
>         at 
> org.jboss.resteasy.client.core.ClientInvoker.invoke(ClientInvoker.java:125)
>         at 
> org.jboss.resteasy.client.core.ClientProxy.invoke(ClientProxy.java:88)
>         at com.sun.proxy.$Proxy83.isUp(Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.7.0_71]
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_71]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_71]
>         at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_71]
>         at 
> org.apache.brooklyn.rest.client.BrooklynApi$3.invoke(BrooklynApi.java:290)[290:org.apache.brooklyn.rest-client:0.10.0.SNAPSHOT]
>         at com.sun.proxy.$Proxy84.isUp(Unknown 
> Source)[128:org.apache.brooklyn.rest-api:0.10.0.SNAPSHOT]
>         at 
> io.cloudsoft.test.scheduler.rest.client.BrooklynRestClientImpl.isServerUp(BrooklynRestClientImpl.java:117)[280:io.cloudsoft.amp.qaframework.qa-test-scheduler:1.0.0.SNAPSHOT]
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl$2.call(TestRunnerImpl.java:110)[280:io.cloudsoft.amp.qaframework.qa-test-scheduler:1.0.0.SNAPSHOT]
>         at 
> io.cloudsoft.test.scheduler.TestRunnerImpl$2.call(TestRunnerImpl.java:107)[280:io.cloudsoft.amp.qaframework.qa-test-scheduler:1.0.0.SNAPSHOT]
>         ... 6 more
> Caused by: javax.ws.rs.ProcessingException: Unable to find a 
> MessageBodyReader of content-type application/json and type boolean
>         at 
> org.jboss.resteasy.core.interception.ClientReaderInterceptorContext.throwReaderNotFound(ClientReaderInterceptorContext.java:39)
>         at 
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.getReader(AbstractReaderInterceptorContext.java:73)
>         at 
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:50)
>         at 
> org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:434)
>         ... 21 more
> {noformat}
> The normal reason for this (e.g. 
> http://stackoverflow.com/questions/14775572/unable-to-find-a-messagebodyreader-of-content-type-application-json)
>  is that RESTEasy Jackson provider is missing from the classpath.
> Indeed, looking at {{bundle:list -s -t 0 | grep -i resteasy}}, it showed that 
> the only resteasy bundle was 
> {{wrap_file__Users_aled_repos_cloudsoft_amp_karaf_cloudsoft-amp_target_assembly_system_org_jboss_resteasy_resteasy-jaxrs_3.0.8.Final_resteasy-jaxrs-3.0.8.Final.jar}}.
> It probably missed the others out because they were considered "optional".
> ---
> Tried removing {{dependency="true"}} from each bundle in the 
> brooklyn-rest-client feature (as defined in brooklyn).
> This forced it try to add all those bundles, but led to the error below:
> {noformat}
> 18:45:56,538 ERROR  10 service.BootFeaturesInstaller  [pool-7-thread-1 ] 
> Error installing boot features
> org.osgi.service.resolver.ResolutionException: Unable to resolve root: 
> missing requirement [root] osgi.identity; osgi.identity=brooklyn-rest-client; 
> type=karaf.feature; version=0 [caused by: Unable to resolve 
> brooklyn-rest-client/0.10.0.SNAPSHOT: missing requirement 
> [brooklyn-rest-client/0.10.0.SNAPSHOT] osgi.identity; 
> osgi.identity=com.fasterxml.jackson.datatype.jackson-datatype-guava; 
> type=osgi.bundle; version="[2.4.5,2.4.5]"; resolution:=mandatory [caused by: 
> Unable to resolve 
> com.fasterxml.jackson.datatype.jackson-datatype-guava/2.4.5: missing 
> requirement [com.fasterxml.jackson.datatype.jackson-datatype-guava/2.4.5] 
> osgi.wiring.package; 
> filter:="(&(osgi.wiring.package=com.google.common.base)(version>=15.0.0)(!(version>=15.1.0)))"]]
>         at 
> org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)[org.apache.felix.framework-5.4.0.jar:]
>         at 
> org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)[org.apache.felix.framework-5.4.0.jar:]
>         at 
> org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)[org.apache.felix.framework-5.4.0.jar:]
>         at 
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:216)[10:org.apache.karaf.features.core:4.0.4]
>         at 
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)[10:org.apache.karaf.features.core:4.0.4]
>         at 
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:259)[10:org.apache.karaf.features.core:4.0.4]
>         at 
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1089)[10:org.apache.karaf.features.core:4.0.4]
>         at 
> org.apacqhe.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:985)[10:org.apache.karaf.features.core:4.0.4]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_71]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_71]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_71]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]
> {noformat}
> At this point, when it needs yet another different version of guava (between 
> {{[15.0.0, 15.1)}}), things are getting depressing!
> ---
> The long-term solution is probably to refactor brooklyn-rest-client: to have 
> it just depend on {{javax.ws.rs}}, and then the user of the feature gets to 
> choose the impl (where we test with cxf).
> The short-term solution for my problem was to abandon using 
> brooklyn-rest-client in my Java entity, and to instead use a combination of 
> Brooklyn's HttpTool and fasterxml.jackson ObjectMapper.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to