commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simone Tripodi (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CHAIN-62) Use of thread context ClassLoader under OSGi
Date Tue, 10 Jan 2012 16:02:39 GMT

     [ https://issues.apache.org/jira/browse/CHAIN-62?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Simone Tripodi updated CHAIN-62:
--------------------------------

    Description: 
The {{CatalogFactory#getInstance()}} is using thread context ClassLoader which gives undefined
behavior under OSGi.

This leads to problems with {{ConfigCatalogRule}} and especially {{LookupCommand}}.

Two bundles wired to same commons chain may use different catalog factories when parsing commands
from XML or looking up commands from catalog.

I think that {{CatalogFactory#getClassLoader()}} might allow disabling use of thread context
class loader - either

a) detect that it is used inside OSGi framework, or
b) provide static boolean flag to disable it

Combination of both might be via use of bundle activator that would set the flag. The activator
would be used only under OSGi acting as "auto-detection" and still some other bundle might
revert to default if required.

Ales

  was:
The CatalogFactory#getInstance() is using thread context ClassLoader which gives undefined
behavior under OSGi.

This leads to problems with ConfigCatalogRule and especislly LookupCommand.

Two bundles wired to same commons chain may use different catalog factories when parsing commands
from XML or looking up commands from catalog.

I think that CatalogFactory#getClassLoader() might allow disabling use of thread context class
loader - either

a) detect that it is used inside OSGi framework, or
b) provide static boolean flag to disable it

Combination of both might be via use of bundle activator that would set the flag. The activator
would be used only under OSGi acting as "auto-detection" and still some other bundle might
revert to default if required.

Ales

    
> Use of thread context ClassLoader under OSGi
> --------------------------------------------
>
>                 Key: CHAIN-62
>                 URL: https://issues.apache.org/jira/browse/CHAIN-62
>             Project: Commons Chain
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: OSGi
>            Reporter: Ales Dolecek
>            Priority: Minor
>         Attachments: CatalogFactory.patch
>
>
> The {{CatalogFactory#getInstance()}} is using thread context ClassLoader which gives
undefined behavior under OSGi.
> This leads to problems with {{ConfigCatalogRule}} and especially {{LookupCommand}}.
> Two bundles wired to same commons chain may use different catalog factories when parsing
commands from XML or looking up commands from catalog.
> I think that {{CatalogFactory#getClassLoader()}} might allow disabling use of thread
context class loader - either
> a) detect that it is used inside OSGi framework, or
> b) provide static boolean flag to disable it
> Combination of both might be via use of bundle activator that would set the flag. The
activator would be used only under OSGi acting as "auto-detection" and still some other bundle
might revert to default if required.
> Ales

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message