Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Bundles
    • Labels:
      None
    • Environment:

      ServiceMix 4.x, FUSE 4.2.x

      Description

      Rss polling endpoints can not be started in OSGi due NoClassDefError in ROME. Root cause of all problems are com.sun.syndication.io.impl.PropertiesLoader and Thread.currentThread().getContextClassLoader() usage in this class.
      Patch provided in http://repository.code-house.org/content/repositories/code-house.public.release/rome/rome/1.0-osgi/ may break rome features like providing own Parsers/Generators/Converters using rome.properties file.

      1. rome-bundle.patch
        10 kB
        Łukasz Dywicki
      2. patch.patch
        1 kB
        Łukasz Dywicki

        Activity

        Hide
        Glen Mazza added a comment -

        For archive notes, Lukasz' ROME JIRA for this is here: https://rometools.jira.com/browse/ROME-142

        Show
        Glen Mazza added a comment - For archive notes, Lukasz' ROME JIRA for this is here: https://rometools.jira.com/browse/ROME-142
        Hide
        Jean-Baptiste Onofré added a comment -

        Revision 927781.

        Show
        Jean-Baptiste Onofré added a comment - Revision 927781.
        Hide
        Łukasz Dywicki added a comment -

        ServiceMix ROME bundle with fixed PluginManager.

        Show
        Łukasz Dywicki added a comment - ServiceMix ROME bundle with fixed PluginManager.
        Hide
        Willem Jiang added a comment -

        +1 for option 2, as we can get full control of it

        Show
        Willem Jiang added a comment - +1 for option 2, as we can get full control of it
        Hide
        Łukasz Dywicki added a comment -

        I vote for second option. Putting another repository to Karaf with only one artifact is mistake.

        Show
        Łukasz Dywicki added a comment - I vote for second option. Putting another repository to Karaf with only one artifact is mistake.
        Hide
        Gert Vanthienen added a comment -

        L.S.,

        If the patch provided fixes the issue, it's OK for me. We have two ways to get this included in Camel:

        1. use the version provided in repository.code-house.org which already includes the fix
        2. build a servicemix bundle for Rome which includes this fix

        Personally, I would prefer option 2 because that will eventually get us a valid bundle for Rome in central repository. If that's OK for everyone, I'll move the issue to the SMX4 project and build the bundle to update the Camel features.xml afterwards. If we stick to scenario 1, all we need to do in Camel is use that bundle in our features.xml and we're done.

        Regards,

        Gert

        Show
        Gert Vanthienen added a comment - L.S., If the patch provided fixes the issue, it's OK for me. We have two ways to get this included in Camel: use the version provided in repository.code-house.org which already includes the fix build a servicemix bundle for Rome which includes this fix Personally, I would prefer option 2 because that will eventually get us a valid bundle for Rome in central repository. If that's OK for everyone, I'll move the issue to the SMX4 project and build the bundle to update the Camel features.xml afterwards. If we stick to scenario 1, all we need to do in Camel is use that bundle in our features.xml and we're done. Regards, Gert
        Hide
        Willem Jiang added a comment -

        Hi Lukasz,

        I'm afraid you need to create a JIRA in ServiceMix,which may ring the bell of Gert
        The only thing that I think we can do in Camel is updating the features file for new ROME bundle.

        Show
        Willem Jiang added a comment - Hi Lukasz, I'm afraid you need to create a JIRA in ServiceMix,which may ring the bell of Gert The only thing that I think we can do in Camel is updating the features file for new ROME bundle.
        Hide
        Łukasz Dywicki added a comment -

        Hello Willem,
        You're right - this path is for ROME not for Camel. I subitted this here because ROME looks like death project (spam on developer mailing list, no activity on issue tracker). If patch will be accepted we can fix and move ROME codebase to servicemix bundles repository.

        Show
        Łukasz Dywicki added a comment - Hello Willem, You're right - this path is for ROME not for Camel. I subitted this here because ROME looks like death project (spam on developer mailing list, no activity on issue tracker). If patch will be accepted we can fix and move ROME codebase to servicemix bundles repository.
        Hide
        Willem Jiang added a comment -

        @Lukasz,
        I don't think this patch is related to camel source repository.
        Did I missing something?

        Show
        Willem Jiang added a comment - @Lukasz, I don't think this patch is related to camel source repository. Did I missing something?
        Hide
        Łukasz Dywicki added a comment -

        Gert please review this simple patch. ROME team currently didn't say anything about issue submitted in last week.

        Show
        Łukasz Dywicki added a comment - Gert please review this simple patch. ROME team currently didn't say anything about issue submitted in last week.
        Hide
        Łukasz Dywicki added a comment -

        Patch to review.

        Show
        Łukasz Dywicki added a comment - Patch to review.
        Hide
        Łukasz Dywicki added a comment -

        I checked this problem - ROME PluginManager try to use class loader from endpoint bundle. I added simple fallback condition to ROME - first of all ROME try to use bundle class loader to resolve plugin classes. If they will thow ClassNotFoundException PluginManager will use local class loader. All ROME features should work with this because patch does not have any impact to standard behaviour.

        Show
        Łukasz Dywicki added a comment - I checked this problem - ROME PluginManager try to use class loader from endpoint bundle. I added simple fallback condition to ROME - first of all ROME try to use bundle class loader to resolve plugin classes. If they will thow ClassNotFoundException PluginManager will use local class loader. All ROME features should work with this because patch does not have any impact to standard behaviour.

          People

          • Assignee:
            Jean-Baptiste Onofré
            Reporter:
            Łukasz Dywicki
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development