Greg, hi;

re: https://issues.apache.org/jira/browse/PIVOT-742

do you think you could accept a patch for BXMLSerializer  that:

1) removes this constructor:

        new BXMLSerializer(loader)

2) replaces places like this:

                        if (classLoader == null) {
                            propertyClass =
Class.forName(propertyClassName);
                        } else {
                            propertyClass =
Class.forName(propertyClassName, true, classLoader);
                        }

with "normal" TCCL:

        ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
        propertyClass = Class.forName(propertyClassName, true, classLoader);

which is consistent with 100 and 5 other places pivot uses TCCL? :-)

thanks,

Andrei.

-------- Original Message  --------
Subject: [jira] [Commented] (PIVOT-742) pluggable classloader
From: Andrei Pozolotin (JIRA) <j...@apache.org>
To: dev@pivot.apache.org
Date: Mon 13 Jun 2011 05:35:49 PM CDT
>     [ 
> https://issues.apache.org/jira/browse/PIVOT-742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13048840#comment-13048840
>  ] 
>
> Andrei Pozolotin commented on PIVOT-742:
> ----------------------------------------
>
> one more place that ignores both TCCL & and loader provided via  
> BXMLSerializer(final ClassLoader classLoader) :
>
> public class BXMLSerializer implements Serializer<Object>, Resolvable {
>
>     protected Serializer<?> newIncludeSerializer(Class<? extends 
> Serializer<?>> type)
>         throws InstantiationException, IllegalAccessException {
>         return type.newInstance();
>     }
>
>
>     protected Object newTypedObject(Class<?> type)
>         throws InstantiationException, IllegalAccessException {
>         return type.newInstance();
>     }
>
>
>   
>> pluggable classloader
>> ---------------------
>>
>>                 Key: PIVOT-742
>>                 URL: https://issues.apache.org/jira/browse/PIVOT-742
>>             Project: Pivot
>>          Issue Type: Improvement
>>            Reporter: Andrei Pozolotin
>>         Attachments: CLPlugin.java, CLPluginTCCL.java, CLProvider.java, 
>> UseCase.java
>>
>>
>> pluggable classloader:
>> 1) in current pivot trunk, TCCL, 
>> Thread.currentThread().getContextClassLoader().... is mentioned 105 times
>> I suggest to centralize it and replace with pluggable classloader (which can 
>> use TCCL by default);
>> 2) review all other uses of Class.getResource(), which are not using TCCL, 
>> and convert when possible;
>> motivation:
>> https://issues.apache.org/jira/browse/PIVOT-22
>> https://issues.apache.org/jira/browse/FELIX-2951
>> http://njbartlett.name/2010/08/30/osgi-readiness-loading-classes.html 
>> http://wiki.eclipse.org/index.php/Context_Class_Loader_Enhancements
>> http://stackoverflow.com/questions/2198928/better-handling-of-thread-context-classloader-in-osgi
>> http://mail-archives.apache.org/mod_mbox/pivot-user/201105.mbox/%3c4dcdf889.10...@gmail.com%3E
>>     
>
> --
> This message is automatically generated by JIRA.
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>         
>
>   

Reply via email to