Need a plug point to or a way to change the classloader which loads
contribution classes or resources in a contribution
-----------------------------------------------------------------------------------------------------------------------
Key: TUSCANY-2763
URL: https://issues.apache.org/jira/browse/TUSCANY-2763
Project: Tuscany
Issue Type: Bug
Components: Java SCA Core Runtime
Affects Versions: Java-SCA-1.3
Environment: All
Reporter: Rashmi Hunt
Tuscany sets the contribution classloader in
ClassReferenceModelResolver.ClassReferenceModelResolver() and
need to way to use different classloader to load contribution classes/resources.
Some discussion on the solution on Tuscany mailing list -->
On Thu, Jan 8, 2009 at 9:54 AM, Rashmi Hunt <[email protected]> wrote:
thanks for the steps. I will open a Jira for this work. One more question, is
ContributionClassLoaderProvider a new class? I am looking at rev 726772 and I
don't see this class.
Regards
Rashmi
On Wed, Jan 7, 2009 at 1:58 PM, Raymond Feng <[email protected]> wrote:
We probably need to do the following:
1) Define a SPI for
org.apache.tuscany.sca.contribution.ContributionClassLoaderProvider
2) Provide a default implementation based on the ContributionClassLoader we
have today
3) Change ClassReferenceModelResolver to use
UtilityExtensionPoint.getUtility(ContributionClassLoaderProvider.class) to
create the classloader for a given contribution instead of hard-coding the
ContributionClassLoader. The later can be a default if no
ContributionClassLoaderProvider impl is found
4) If you provide your own impl of ContributionClassLoaderProvider, register it
with
META-INF/services/org.apache.tuscany.sca.contribution.ContributionClassLoaderProvider
Thanks,
Raymond
From: Rashmi Hunt
Sent: Wednesday, January 07, 2009 1:45 PM
To: [email protected]
Subject: Re: ContributionClassLoader
Thanks for looking into this. I am trying to get an understanding on the
suggested solution. What it means is to have a new utility service
ContributionClassLoaderProvider under
modules/extensibility/src/main/resources/META-INF/services?
How does this get associated with contribution classloader set in
ClassReferenceModelResolver.ClassReferenceModelResolver() ? Also
ContributionClassLoaderProvider will be a new class?
Regards
Rashmi
On Wed, Jan 7, 2009 at 11:44 AM, Raymond Feng <[email protected]> wrote:
Hi,
It sounds reasonable to me that we should allow the Tuscany embedders to plug
in their own Contribution classloading scheme. The classloader might be
constructed based on the contribution graph with the import/export dependencies.
I suggest that we add a new utility service such as
ContributionClassLoaderProvider into our UtilityExtensionPoint. This way, it
can be replaced with a customized ContributionClassLoaderProvider
implementation.
Thanks,
Raymond
From: Rashmi Hunt
Sent: Wednesday, January 07, 2009 10:48 AM
To: [email protected]
Subject: ContributionClassLoader
Need a plug point to or a way to change the classloader which loads
contribution classes or resources in a contribution
Hi
Is there a way to change the classloader which loads contribution classes or
resources in a contribution?
Tuscany sets the contribution classloader in
ClassReferenceModelResolver.ClassReferenceModelResolver() and
is there anyway to use a different classloader?
Regards
Rashmi
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.