bug 509100 - [http servlet] performance tuning
LPS-67139 Defer toString() value calculation
LPS-69622 Dead field, never initialized, never used.
LPS-69622 Use ConcurrentHashMap rather than synchronized all methods.
LPS-69622 Use AtomicInteger to prevent lost counting.
LPS-69622 Fallback to JDK6 only api. To ensure thread safety, createContextAttributes()/destroyContextAttributes() must still have the synchronized protection, consider they are only used during application initialization/destroy, there is no runtime overhead. At least this way getContextAttributes() is synchronized free, which is the most important thing to have.
LPS-69622 Avoid using Hashtable, it just needs to be a Dictionary, delegate to ConcurrentHashMap
LPS-69880 Avoid creating HttpSessionEvent unless there is any HttpSessionListener registered
LPS-69882 Avoid duplicated path string indexing and splitting
LPS-69883 The only creation of HttpServiceRuntimeImpl in Activator.addingService() is already wrapping the serviceProperties with UMDictionaryMap, inside HttpServiceRuntimeImpl constructor, there is no need to wrap it.
LPS-69903 Shortcut as early as possible
LPS-69903 Avoid using java.util.Stack, use LinkedList instead
Signed-off-by: shuyangzhou <shuyang.zhou@liferay.com>
Signed-off-by: Matthew Tambara <matthew.tambara@liferay.com>
Signed-off-by: Raymond Auge <raymond.auge@liferay.com>
8 files changed