Issue 1:
Lukasz Rozek opened SPR-9208 and commented

Desktop application (swing client) is executed via web start. While application context is instantiated application performs many (122 times) http get requests for resources which don't exist. This of course has huge impact on time that is needed to application startup based on you network connection.

Here is a sample of access log (each entry is requested multiple times which in total for one time application execution gives 122 requests to the server):

127.0.0.1 - - [07/Mar/2012:15:07:24 +0100] "GET /neo-web/webstart/org.springframework.aspects.jar HTTP/1.1" 404 952 "-" "Java/1.7.0_03"

127.0.0.1 - - [07/Mar/2012:15:07:28 +0100] "GET /neo-web/webstart/org.springframework.beans.jar HTTP/1.1" 404 952 "-" "Java/1.7.0_03"

127.0.0.1 - - [07/Mar/2012:15:07:31 +0100] "GET /neo-web/webstart/org.springframework.core.jar HTTP/1.1" 404 952 "-" "Java/1.7.0_03"

127.0.0.1 - - [07/Mar/2012:15:07:36 +0100] "GET /neo-web/webstart/org.springframework.aspects.jar HTTP/1.1" 404 952 "-" "Java/1.7.0_03"

127.0.0.1 - - [07/Mar/2012:15:07:42 +0100] "GET /neo-web/webstart/org.springframework.web.jar HTTP/1.1" 404 952 "-" "Java/1.7.0_03"

127.0.0.1 - - [07/Mar/2012:15:07:51 +0100] "GET /neo-web/webstart/org.springframework.context.jar HTTP/1.1" 404 952 "-" "Java/1.7.0_03"

This is reproducible every time application is executed via webstart (javaws http://localhost:8080/neo-web/webstart/launch.jnlp). It can be reproduced only in java web start environment because there is JNLPClassLoader involved which indirectly causes jars lookup on the backend server.

I enclosed stacktraces on which you can see class lookups and then calls to the servers. In stacktrace2 - stacktrace3 I noted parameter which was used in method invocation JNLPClassLoader

JNLPClassLoader(ClassLoader).loadClass(String) line: 356	<----------- parameter is org.springframework.beans.factory.aspectj.AbstractInterfaceDrivenDependencyInjectionAspectBeanInfo --------->

The stacktrace1 is different than stacktraces 2-5 as the source of class loading is different. The latter (2-5) are pretty the same for most calls to the server (they differ only with different classes to be loaded)

Affects: 3.1.1

Attachments:

stacktrace1 (5.07 kB)

stacktrace2 (5.15 kB)

stacktrace3 (5.31 kB)

stacktrace4 (5.65 kB)

stacktrace5 (5.30 kB)

Issue Links:

#11049 INDEX.LIST uses incorrect jar names ("duplicates")

Referenced from: commits 2fe74a4

1 votes, 1 watchers

Issue 2:
Andrei Stefan opened SPR-8896 and commented

In this section of the Spring Framework reference documentation it is mentioned that both aspectjrt.jar and aspectjweaver.jar files should be present in the classpath in case @AspectJ support needs to be enabled in the project. Also, it is mentioned where is the location of those jars within the Spring distribution.

I believe there are two small issues with that respective section of the documentation:

the two jars are not available anymore with a Spring distribution

the classes and package structure in aspectjrt.jar form a subset of the classes that can be found in aspectjweaver.jar. Using both at the same time doesn't seem to be actually required.

Affects: 2.5.6, 3.0.6, 3.1 RC2

Sub-tasks:

#14643 Backport "Documentation update regarding aspectjrt and aspectjweaver jars usage"

Issue Links:

#12444 Chapter 7.2.1 of the ref manual still refers to the Spring-with-dependencies distribution ("duplicates")