Hi,

In APIM current code (1.10), we have removed the <DynamicImport-Package>*</
DynamicImport-Package> from all packages at the moment.

We faced an issue now, where an extension point would not work with this
change. i.e. if we put a external jar into the
<APIM_HOME>/repository/components/lib folder, that class will not be picked
up by the component OSGI bundle because of the aforementioned reason.

Discussing with KasunG, I learned that we cannot remove the
DynamicImport-Package
statement, if the components use Class.forName() or
<ClassName>.class.getClassLoader().loadClass();
because the OSGI bundle would not be able to identify the external class.

As a possible solution, what we thought of is, to move the Class.forName()
to a central location, possibily to the org.wso2.carbon.apimgt.impl
package, and have the
<DynamicImport-Package>*</DynamicImport-Package> to that package. Then all
other packages that used to have the Class.forName() can be referred to the
method introduced in the org.wso2.carbon.apimgt.impl package.

@KasunG, Kishanthan, is this the correct approach?

Are there any other approaches that we could look into?
-- 
Thanks and Regards
*,Shani Ranasinghe*
Senior Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 77 2273555
Blog: http://waysandmeans.blogspot.com/
linked in: lk.linkedin.com/pub/shani-ranasinghe/34/111/ab
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to