Closed glassfishrobot closed 11 years ago
@glassfishrobot Commented liang.x.zhao said: The problem is in MQ codebase instead of GlassFish codebase.
A seperate MQ defect(http://java.net/jira/browse/MQ-143) is created and it has been fixed. The fix contains removing jsse.jar, jnet.jar, jcert.jar and I10n jars. It is marked fixed in 5.0 which will go to BG, but they are not causing any problems in 4.x so we're not back porting(@Jill).
The redundant jars with ““../../../share/lib/”, for example “../../../share/lib/imq.jar”, are present for the native pkging which is being deprecated. I'd like to leave them in for another release(@Jill).
@glassfishrobot Commented scatari said: Can we back port these changes back to 4.5SP2? This would help us to better 3.1.2 performance numbers.
@glassfishrobot Commented @jill-sato said: The multiple imq.jars are there to support other distributions (e.g., native SVR4 packaging, RPM packaging). We can remove this in 5.0 but we need to leave this for 4.x.
Though the locales are not installed by GF, the mq-locale IPS package is available through the Update Center and through the OpenSource community distributions.
The reason each locale is a separate jar is because MQ used to be a bundled solaris product and the solaris installation required us to choose an install per locale.
However, we can clean up some old locale jars (e.g., imqadmin
Agreed, we can remove i18n jars from imqstomp.jar and imqjmsbridge.jar (this is already fixed in MQ5.0).
Agreed, we can remove the jsse.jar, jnet.jar, jcert.jar which was leftover to support an older version of the JDK (this is already fixed in MQ 5.0).
Thanks. We'll try to be more conscious when adding jars to the manifest in the future.
@glassfishrobot Commented scatari said: To be considered for the next release, increasing priority.
@glassfishrobot Commented liang.x.zhao said: Forward to Jill.
@glassfishrobot Commented
@jill-sato said:
Removed jcert.jar, jsse.jar.
Consolidated the imq*l10n
@glassfishrobot Commented This issue was imported from java.net JIRA GLASSFISH-18275
@glassfishrobot Commented Reported by sdo
@glassfishrobot Commented Marked as fixed on Monday, February 11th 2013, 6:37:17 am
When deploying new apps (or starting up with apps deployed), each app gets a new ASURLClassLoader, and we spend a fair amount of time in ASURLCLassLoader.appendURL().
The time spent here is dominated by processing of the jmsra jar files, which contain many repeated and non-existent entries in the classpath; still, appendURL() blindly goes through all of them, regardless of whether they exist or have been processed before.
As an example, imqbroker.jar's manifest contains this classpath entry: Class-Path: imqutil.jar imqjmx.jar ../imqjmx.jar ../../../share/lib/im qjmx.jar jsse.jar jnet.jar jcert.jar ../imq.jar ../jms.jar imq.jar jm s.jar ../../../share/lib/imq.jar ../../../share/lib/jms.jar imqjmsbri dge.jar imqstomp.jar imql10n_server_ja.jar imql10n_server_zh_CN.jar i mql10n_server_fr.jar imql10n_server_de.jar imql10n_server_es.jar imql 10n_server_it.jar imql10n_server_sw.jar imql10n_server_ko.jar imql10n _server_zh_TW.jar imql10n_server_pt_BR.jar imql10n_server_lang1.jar i mqbroker_ja.jar imqbroker_zh_CN.jar imqbroker_fr.jar imqbroker_de.jar imqbroker_es.jar imqbroker_it.jar imqbroker_sw.jar imqbroker_ko.jar imqbroker_zh_TW.jar imqbroker_pt_BR.jar imqbroker_lang1.jar
We need only one path to imq.jar and similar files; we're never going to find jsse.jar, jcert.jar, and jnet.jar in this directory, and to a large extent the internationalization files are never present in downloaded bundles. Even if we cannot completely remove the internalization entries (e.g., if it is too hard to have 2 builds, one with and one without the entries and put the correct build into the correct bundle), we still can clean this up significantly, because every jar file that imqbroker does include (e.g. imqstomp.jar) also includes all those same internationalization files in its manifest. They should be included only in one place.
We've run some simple tests cleaning up the manifests of imqbroker.jar, imqjmsbridge.jar, imqjmx.jar, imqstomp.jar to remove all the non-existent jar files but keeping (only one) set of internationalization files, and on simple startup and deployment benchmarks, this improves performance between 2.5% and 5%.
Affected Versions
[3.1.2_dev]