felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-2951) guidelines: felix osgi bundle class load vs Thread.currentThread().getContextClassLoader().getResource("")
Date Tue, 14 Jun 2011 19:00:47 GMT

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

Richard S. Hall commented on FELIX-2951:
----------------------------------------

This is a issue without a single solution. You are basically left with
one of these choices:

    * Bracket calls into libraries using TCCL to set/unset it to the
      desired value.
    * Modify libraries using TCCL to better guess which class loader to use.
          o Maybe the client passes a client-side object which has the
            correct class loader.
          o Explicitly ask for a class loader in the library method.
    * Use services.


> guidelines:   felix osgi bundle class load    vs    Thread.currentThread().getContextClassLoader().getResource("")
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2951
>                 URL: https://issues.apache.org/jira/browse/FELIX-2951
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: framework-3.2.1
>            Reporter: Andrei Pozolotin
>
> Richard, hello;
> 1) here you say
>       http://old.nabble.com/Can-the-thread-context-classloader-issue-be-solved-at-all--td28260809.html
> that "There is no reliable way to do this since..."
> 2) this project
>       http://pivot.apache.org/index.html
> is using this kind of pattern quite often:
> ImageView ::
>     /**
>      * Sets the image view's image by {@linkplain ClassLoader#getResource(String)
>      * resource name}.
>      *
>      * @param imageName
>      * The resource name of the image to set.
>      *
>      * @see #setImage(URL)
>      */
>     public final void setImage(String imageName) {
>         if (imageName == null) {
>             throw new IllegalArgumentException("imageName is null.");
>         }
>         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
>         setImage(classLoader.getResource(imageName.substring(1)));
>     }
> 3) instead of trying to work around this inside of felix, can you please provide
> a set of guidelines for developers of projects such as apache pivot,
> so the issue is gone?
> thank you;
> Andrei

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message