[
https://issues.apache.org/jira/browse/DIRMINA-838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny resolved DIRMINA-838.
---------------------------------------
Resolution: Fixed
I have no idea why we had some error when we switched to static, but right now,
we don't have those errors anymore.
Changed the AttributeKey to be static, as suggested.
Fixed with commit ba995db5e653307dd0bf6dc7ba5deeb903f83366
> Redundant AttributeKey allocation resulting in high garbage collector
> activity
> -------------------------------------------------------------------------------
>
> Key: DIRMINA-838
> URL: https://issues.apache.org/jira/browse/DIRMINA-838
> Project: MINA
> Issue Type: Improvement
> Components: Filter
> Affects Versions: 2.0.3
> Environment: java version "1.6.0_22"
> Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
> Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)
> Reporter: Platon Potapov
> Fix For: 2.0.8
>
>
> The classes CumulativeProtocolDecoder and ProtocolCodecFilter (there are
> others too, but these two are the important ones for our project) have
> members of type AttributeKey declared as:
> private final AttributeKey ENCODER = new
> AttributeKey(ProtocolCodecFilter.class, "encoder");
> As can be seen, these are not static, so each time ProtocolCodecFilter is
> created, AttributeKey objects get created as well, which in turn involves
> creation of a lot of String and char[] objects. jProfiler indicates that
> AttributeKey is accountable for creation of about 85% of all Strings and
> char[] in runs of our project, so it makes a significant difference for us.
> Is it OK for these attribute key objects to be singletons? If not, what would
> take to make them singletons?
> Some of other MINA filters have AttributeKeys as static members (e.g.
> MdcInjectionFilter, SslFilter).
> To summarize: the improvement being requested is to make the pre-defined
> AttributeKey objects static within classes such as CumulativeProtocolDecoder
> and ProtocolCodecFilter.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)