One Star

Get Unable to resolve root error in Runtime

Hi team
I have a Route which connects to Redis using spring-redis in cMessagingEndpoint. It works fine in Studio, however, i get "Unable to resolve root: missing requirement" error when I deploy the route to Runtime. (Using version 6.2.1 for both Studio and Runtime)
Here is the error log:
17:49:49,386 | INFO  | container/deploy | eployer.kar.KarArtifactInstaller   75 | 28 - org.apache.karaf.deployer.kar - 4.0.5 | Found a .kar file to deploy.
17:49:49,388 | INFO  | container/deploy | eployer.kar.KarArtifactInstaller   48 | 28 - org.apache.karaf.deployer.kar - 4.0.5 | Installing KAR file /opt/Talend/container/deploy/AutoSafe_Server_InternalServices_0.1.kar
17:49:49,420 | INFO  | container/deploy | araf.kar.internal.KarServiceImpl  261 | 37 - org.apache.karaf.kar.core - 4.0.5 | Added feature repository 'file:/opt/Talend/container/data/kar/AutoSafe_Server_InternalServices_0.1/autosafeserver/AutoSafe_Server_InternalServices/AutoSafe_Server_InternalServices-feature/0.1/AutoSafe_Server_InternalServices-feature-0.1.xml'
17:49:49,426 | INFO  | container/deploy | rnal.service.FeaturesServiceImpl 1189 | 9 - org.apache.karaf.features.core - 4.0.5 | Adding features: AutoSafe_Server_InternalServices-feature/
17:50:33,431 | WARN  | container/deploy | araf.kar.internal.KarServiceImpl  286 | 37 - org.apache.karaf.kar.core - 4.0.5 | Unable to install Kar feature AutoSafe_Server_InternalServices-feature/0.1.0
org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement osgi.identity; osgi.identity=AutoSafe_Server_InternalServices-feature; type=karaf.feature; version=""; filter:="(&(osgi.identity=AutoSafe_Server_InternalServices-feature)(type=karaf.feature)(version>=0.1.0)(version<=0.1.0))" osgi.identity; osgi.identity=camel-spring-redis; type=karaf.feature osgi.identity; osgi.identity=org.apache.camel.camel-spring-redis; type=osgi.bundle; version=""; resolution:=mandatory osgi.wiring.package; filter:="(&(osgi.wiring.package=org.springframework.data.redis.connection)(version>=1.0.0)(!(version>=2.0.0)))" osgi.wiring.package; filter:="(&(osgi.wiring.package=org.springframework.aop.framework)(version>=4.0.9)(!(version>=4.1.0)))"]]]]
       at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
       at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
       at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
       at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:216)
       at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)
       at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1152)
       at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:1048)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at java.lang.Thread.run(Thread.java:745)

Someone could help me out?
1 REPLY
One Star

Re: Get Unable to resolve root error in Runtime

Seems that the problem is caused by bundle dependency, org.springframework.data.redis/1.6.0 relies on org.springframework.aop 4.0.9, which is not available in RunTime. 
However, when I tried to install the bundle "camel-spring-redis 4.0.9" downloaded from Maven to Runtime, it gives "Bundle-SymbolicName header missing, cannot install bundle" error. 
Stuck here and don't know how to make it work.