You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Tomo Suzuki (JIRA)" <ji...@apache.org> on 2019/06/17 15:14:00 UTC
[jira] [Updated] (BCEL-320) A new ClassPathRepository that can scan
many JAR files without OutOfMemoryError
[ https://issues.apache.org/jira/browse/BCEL-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tomo Suzuki updated BCEL-320:
-----------------------------
Summary: A new ClassPathRepository that can scan many JAR files without OutOfMemoryError (was: A new ClassPathRepository that can scan 200 JAR files without OutOfMemoryError)
> A new ClassPathRepository that can scan many JAR files without OutOfMemoryError
> -------------------------------------------------------------------------------
>
> Key: BCEL-320
> URL: https://issues.apache.org/jira/browse/BCEL-320
> Project: Commons BCEL
> Issue Type: Improvement
> Reporter: Tomo Suzuki
> Priority: Minor
>
> (This ticket is derivation from [BCEL-317|https://issues.apache.org/jira/browse/BCEL-317], which I found creating ConstantUtf8 cache is not straightforward under current ClassPathRepository design.)
> We use BCEL library in https://github.com/GoogleCloudPlatform/cloud-opensource-java . Thank you for great library.
> I'm going to add an example case where existing ClassPathRepository and MemorySensitiveClassPathRepository throw OutOfMemoryError upon scanning many JAR files.
> Initially I thought it could be fixed by [BCEL-317|https://issues.apache.org/jira/browse/BCEL-317], but it turned out that it's not straightforward under current design. Instead of focusing on ConstantUtf8, I decided to use my own custom ClassPathRepository that uses LRU cache internally to hold JavaClass instances.
> This ticket is to contribute the idea to BCEL library so that other users can benefit from it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)