<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=scyip" rel="nofollow">Sunny Ip</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-3522?redirect=false" rel="nofollow">SPR-3522</a></strong> and commented</p>
<p dir="auto">I have two aspects that run one right after the other. Aspect 1 has an around advice that passes in a different argument to the proceed method than the original method call had. In Aspect 2's before advice, the getArgs returns the original argument passed into the target method instead of the one Aspect 1 passed into the proceed. Aspect 2's around advice works fine, getArgs returning the new argument. I noticed this is working in 2.0-rc4.</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.0.4, 2.0.5</p>
<p dir="auto"><strong>Attachments:</strong></p>
<ul dir="auto">
<li><a href="https://jira.spring.io/secure/attachment/12632/test.zip" rel="nofollow">test.zip</a> (<em>144.74 kB</em>)</li>
</ul>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=gdub" rel="nofollow">Greg Wiley</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-3519?redirect=false" rel="nofollow">SPR-3519</a></strong> and commented</p>
<p dir="auto">Using the AspectJ annotation configuration method.</p>
<p dir="auto">If two advice apply to the same join point and the lower-priority advice has (non JP) parameters, those parameters will not be bound.</p>
<p dir="auto">This occurs in Spring 2.0.5 but not in Spring 2.0.2.</p>
<p dir="auto">Only jars on the CP are those in the -with-dependencies Spring distribution.</p>
<p dir="auto">\spring-framework-2.0.5\lib\aspectj\aspectjrt.jar<br>
\spring-framework-2.0.5\lib\aspectj\aspectjweaver.jar<br>
\spring-framework-2.0.5\lib\asm\asm-2.2.3.jar<br>
\spring-framework-2.0.5\dist\spring-aspects.jar<br>
\spring-framework-2.0.5\dist\spring.jar<br>
\spring-framework-2.0.5\lib\jakarta-commons\commons-logging.jar<br>
\spring-framework-2.0.5\lib\asm\asm-commons-2.2.3.jar<br>
\spring-framework-2.0.5\lib\asm\asm-util-2.2.3.jar</p>
<p dir="auto">Demonstration spike attached.</p>
<p dir="auto">Note that in the demonstration, the exception can be eliminated by either:</p>
<ol dir="auto">
<li>removing one of the advice classes from the configuration</li>
<li>re-ordering the advice (so that the non-arg advice is lower priority)</li>
<li>switching to Spring 2.0.2</li>
</ol>
<p dir="auto">This problem has been documented by others in the Spring forums.</p>
<p dir="auto">-dub</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.0.5</p>
<p dir="auto"><strong>Attachments:</strong></p>
<ul dir="auto">
<li><a href="https://jira.spring.io/secure/attachment/12628/eg.zip" rel="nofollow">eg.zip</a> (<em>2.04 kB</em>)</li>
</ul>
<p dir="auto"><strong>Issue Links:</strong></p>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398077968" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/8155" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/8155/hovercard" href="https://github.com/spring-projects/spring-framework/issues/8155">#8155</a> Bad interactions betwen advice when one binds the original method parameters and one does not. (<em><strong>"duplicates"</strong></em>)</li>
</ul>