<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Talend ESB runtime bundle resolution problem in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266796#M45894</link>
    <description>The reason you are getting the error message is that when you deploy to the runtime you are using Karaf and hence you need to configure your OSGI dependencies. &amp;nbsp;OSGI allows you to manage those dependencies at the package level. &amp;nbsp;In contrast, when you run the route from Studio as a developer it is just running in a regular jar and the Studio is adding the camel-csv to the classpath.&amp;nbsp; 
&lt;BR /&gt;You have two options here. &amp;nbsp;Notice that in 6.1.1 there is a new dependencies tab underneath the design canvas right next to Designer and Source views. &amp;nbsp;A screenshot is shown below. 
&lt;BR /&gt; 
&lt;A href="https://community.talend.com/legacyfs/online/membersTempo/12638/studio-osgi-dependencies.jpg" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MDFY.jpg"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/131049i9E26C37D159B768B/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MDFY.jpg" alt="0683p000009MDFY.jpg" /&gt;&lt;/span&gt; &lt;/A&gt; 
&lt;BR /&gt;Any jars you add via cConfig will show up here under Bundle Classpath. &amp;nbsp;You have two choices. &amp;nbsp;If you check the box next to camel-csv in the BundleClasspath box you will be adding the camel-csv as an embedded jar on the bundle classpath. &amp;nbsp;This will work, but it means if you have another route with camel-csv you are actually adding multiple jars to your Karaf environment, one per route which uses the camel-csv with bundle classpath. &amp;nbsp;Personally, I don't like this approach. 
&lt;BR /&gt;The other approach is to use the Import Packages pane to of specify the additional packages that your code references from the camel-csv jar. &amp;nbsp;Along with installing the camel-csv feature (as you did) this will cause the camel-csv package dependencies to be included in your route's bundle manifest. &amp;nbsp;Karaf will then use the jar from the camel-csv feature that you installed. &amp;nbsp;This requires a little bit more work (manually adding the camel-csv packages and also remembering to install the camel-csv feature), but it is more in line with how OSGI is supposed to be used IMO.</description>
    <pubDate>Fri, 11 Mar 2016 13:55:15 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2016-03-11T13:55:15Z</dc:date>
    <item>
      <title>Talend ESB runtime bundle resolution problem</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266795#M45893</link>
      <description>Hi,&lt;BR /&gt;I created a route which uses camel-csv as a dependency (configured in the route using cConfig component).&lt;BR /&gt;It works fine in the studio, but when I deploy it in the Runtime, I get an error message saying that it can not resolve camel-csv bundle.&lt;BR /&gt;Camel-csv feature is installed and started, camel-csv bundle is active, but it is not found when I try to install the kar file containing my route.&lt;BR /&gt;I have noticed that the bundle name in the error message is : camel_csv (with an _ instead of -). Is this normal or could it be the cause of the problem ?&lt;BR /&gt;Error message :  missing requirement  osgi.wiring.bundle=camel_csv; filter:="(osgi.wiring.bundle=camel_csv)"&lt;BR /&gt;Thanks.&lt;BR /&gt;: I am using Talend ESB Runtime 6.1.1</description>
      <pubDate>Sat, 16 Nov 2024 10:44:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266795#M45893</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T10:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB runtime bundle resolution problem</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266796#M45894</link>
      <description>The reason you are getting the error message is that when you deploy to the runtime you are using Karaf and hence you need to configure your OSGI dependencies. &amp;nbsp;OSGI allows you to manage those dependencies at the package level. &amp;nbsp;In contrast, when you run the route from Studio as a developer it is just running in a regular jar and the Studio is adding the camel-csv to the classpath.&amp;nbsp; 
&lt;BR /&gt;You have two options here. &amp;nbsp;Notice that in 6.1.1 there is a new dependencies tab underneath the design canvas right next to Designer and Source views. &amp;nbsp;A screenshot is shown below. 
&lt;BR /&gt; 
&lt;A href="https://community.talend.com/legacyfs/online/membersTempo/12638/studio-osgi-dependencies.jpg" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MDFY.jpg"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/131049i9E26C37D159B768B/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MDFY.jpg" alt="0683p000009MDFY.jpg" /&gt;&lt;/span&gt; &lt;/A&gt; 
&lt;BR /&gt;Any jars you add via cConfig will show up here under Bundle Classpath. &amp;nbsp;You have two choices. &amp;nbsp;If you check the box next to camel-csv in the BundleClasspath box you will be adding the camel-csv as an embedded jar on the bundle classpath. &amp;nbsp;This will work, but it means if you have another route with camel-csv you are actually adding multiple jars to your Karaf environment, one per route which uses the camel-csv with bundle classpath. &amp;nbsp;Personally, I don't like this approach. 
&lt;BR /&gt;The other approach is to use the Import Packages pane to of specify the additional packages that your code references from the camel-csv jar. &amp;nbsp;Along with installing the camel-csv feature (as you did) this will cause the camel-csv package dependencies to be included in your route's bundle manifest. &amp;nbsp;Karaf will then use the jar from the camel-csv feature that you installed. &amp;nbsp;This requires a little bit more work (manually adding the camel-csv packages and also remembering to install the camel-csv feature), but it is more in line with how OSGI is supposed to be used IMO.</description>
      <pubDate>Fri, 11 Mar 2016 13:55:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266796#M45894</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-03-11T13:55:15Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB runtime bundle resolution problem</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266797#M45895</link>
      <description>Thank you for your answer.
&lt;BR /&gt;The second option you mentionned is what I am trying to do.
&lt;BR /&gt;However,&amp;nbsp;
&lt;BR /&gt;- I don't understand the "package" thing : how can I know which packages I have to manually add in the "import packages" list
&lt;BR /&gt;- In the "dependencies" view, there is also a "Require Bundles" list. There, in my case, there is a bundle called "camel_csv" (notice the underscore), which is strange because the actual bundle name is "camel-csv" AFAIK. When I try to edit and modify the name to "camel-csv", I get an error message saying that this is not a valid Java identifier. I think this is the cause of my problem : I do not understand why the Studio does not allow bundle names with '-' ???</description>
      <pubDate>Fri, 11 Mar 2016 14:14:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266797#M45895</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-03-11T14:14:36Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB runtime bundle resolution problem</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266798#M45896</link>
      <description>You can get the list of package dependencies for a bundle from the karaf commandline with the bundle:headers command. &amp;nbsp;For example, for the camel-csv bundle on my machine, the bundle id is 462. &amp;nbsp;you can see below that the only package exported is &amp;nbsp;org.apache.camel.dataformat.csv . 
&lt;BR /&gt;karaf@trun()&amp;gt; bundle:headers 462 
&lt;BR /&gt;camel-csv (462) 
&lt;BR /&gt;--------------- 
&lt;BR /&gt;Bnd-LastModified = 1445637469825 
&lt;BR /&gt;Build-Jdk = 1.7.0_75 
&lt;BR /&gt;Built-By = vagrant 
&lt;BR /&gt;Created-By = Apache Maven Bundle Plugin 
&lt;BR /&gt;Implementation-Title = Apache Camel 
&lt;BR /&gt;Implementation-Version = 2.15.4 
&lt;BR /&gt;Manifest-Version = 1.0 
&lt;BR /&gt;Tool = Bnd-1.50.0 
&lt;BR /&gt;Karaf-Info = Camel;camel-csv=2.15.4 
&lt;BR /&gt;Bundle-Description = Camel CSV data format support 
&lt;BR /&gt;Bundle-DocURL = 
&lt;A href="http://www.apache.org/" rel="nofollow noopener noreferrer"&gt;http://www.apache.org/&lt;/A&gt; 
&lt;BR /&gt;Bundle-License = 
&lt;A href="http://www.apache.org/licenses/LICENSE-2.0.txt" rel="nofollow noopener noreferrer"&gt;http://www.apache.org/licenses/LICENSE-2.0.txt&lt;/A&gt; 
&lt;BR /&gt;Bundle-ManifestVersion = 2 
&lt;BR /&gt;Bundle-Name = camel-csv 
&lt;BR /&gt;Bundle-SymbolicName = org.apache.camel.camel-csv 
&lt;BR /&gt;Bundle-Vendor = The Apache Software Foundation 
&lt;BR /&gt;Bundle-Version = 2.15.4 
&lt;BR /&gt;Export-Service = 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.spi.DataFormatResolver;dataformat=csv 
&lt;BR /&gt;Export-Package = 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.dataformat.csv; 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uses:="org.apache.camel, 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.commons.csv, 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.spi, 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.util, 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.support"; 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version=2.15.4 
&lt;BR /&gt;Import-Package = 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel;version="[2.15,2.16)", 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.spi;version="[2.15,2.16)", 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.support;version="[2.15,2.16)", 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.camel.util;version="[2.15,2.16)", 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.apache.commons.csv;version="[1.1,2)", 
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.osgi.framework.wiring;version="[1.0,2)" 
&lt;BR /&gt; 
&lt;BR /&gt;karaf@trun()&amp;gt;</description>
      <pubDate>Fri, 11 Mar 2016 14:56:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266798#M45896</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-03-11T14:56:41Z</dc:date>
    </item>
    <item>
      <title>Re: Talend ESB runtime bundle resolution problem</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266799#M45897</link>
      <description>Ok thanks for this explanation.
&lt;BR /&gt;I solved my problem by :
&lt;BR /&gt;- removing everything in the "Required bundles" view
&lt;BR /&gt;- adding nothing more in the "Import packages" view (so the package&amp;nbsp;
&lt;FONT size="1"&gt;&lt;FONT face="Verdana, Helvetica, Arial, sans-serif"&gt;org.apache.camel.dataformat.csv&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;is *not* in the import packages)
&lt;BR /&gt;- unchecking all the jars in the "Bundle classpath" view
&lt;BR /&gt;- rebuilding the route
&lt;BR /&gt;My route is working fine in the runtime, even if I don't understand how the dependencies are managed : as it is now, nothing in my kar file (feature.xml or MANISFEST.MF in the route jar) references camel-csv. So I guess it just works because I installed camel-csv feature in the Runtime, and my route somehow finds what it needs in the classpath ...</description>
      <pubDate>Fri, 11 Mar 2016 15:19:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Talend-ESB-runtime-bundle-resolution-problem/m-p/2266799#M45897</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-03-11T15:19:36Z</dc:date>
    </item>
  </channel>
</rss>

