Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Resolved: Concrete Aspects and Precedence: can't determine precedence between two or more pieces of advice that apply to the same join

Hi,

The customer had another aop.xml on the classpath that had the same aspect definitions but without the precedence declaration. I would like to suggest having an alternative way of expressing the precedence based on the XML processing sequence or id ="1" , id="2" attribute and flagging this particular issue as a warning. Thoughts?

By the way the verbose flag was extremely helpful in resolving the loading of aop.xml files and the resulting definition of concrete aspects.

kind regards,

William

William Louth wrote:
Hi,

The emailed sent appears to have placed "_" before and after the "_expression_". Strange it was not in the original email. Also the configuration for the last pointcut is in fact "execution(* com.mycomp.myapp..*(..))"

regards,

William

--------------------------------------------------------------------------------------------------------

Hi,

Can someone please tell me how does one avoid the following error message being printed?

error at com/jinspired/jxinsight/probes/ext/aspectj/ProbeAspect.java::0 can't determine precedence between two or more pieces of advice that apply to the same join

We have some abstract aspects (probes, diagnostics, trace) which our customers extend via the definition of concrete aspects within an aop.xml file. At one test site a customer happened to pick out the same underlying join point for two different concrete aspects with different slightly different point cuts which extend from the same abstract aspect - ProbeAspect.

Our advice implementation had already had safe guards in place to deal with the dispatching at the same join point across concrete aspects extended from the same abstract aspect.

I am not exactly sure how a declares precedence will handle this as the error message references the abstract class and not the actually concrete class name.

For example:
<concrete-aspect name="ProbeAspect"
                    extends="com.jinspired.jxinsight.probes.ext.aspectj.ProbeAspect">
     <pointcut name="scope" _expression_="execution(* com.mycomp..*(..))"/>
   </concrete-aspect>

     <concrete-aspect name="DupProbeAspect"
                    extends="com.jinspired.jxinsight.probes.ext.aspectj.ProbeAspect">
     <pointcut name="scope" _expression_="execution(* com.mycop.myapp.*(..))"/>
   </concrete-aspect>

This could easily happen with point cuts referencing interfaces that are implemented by one class.

kind regards,

William


aspectj-users-request@xxxxxxxxxxx wrote:
Welcome to the aspectj-users@xxxxxxxxxxx mailing list!

To post to this list, send your email to:

  aspectj-users@xxxxxxxxxxx

General information about the mailing list is at:

  https://dev.eclipse.org/mailman/listinfo/aspectj-users

If you ever want to unsubscribe or change your options (eg, switch to
or from digest mode, change your password, etc.), visit your
subscription page at:

  https://dev.eclipse.org/mailman/options/aspectj-users/william.louth%40jinspired.com


You can also make such adjustments via email by sending a message to:

  aspectj-users-request@xxxxxxxxxxx

with the word `help' in the subject or body (don't include the
quotes), and you will get back a message with instructions.

You must know your password to change your options (including changing
the password, itself) or to unsubscribe.  It is:

  noelle

Normally, Mailman will remind you of your eclipse.org mailing list
passwords once every month, although you can disable this if you
prefer.  This reminder will also include instructions on how to
unsubscribe or change your account options.  There is also a button on
your options page that will email your current password to you.


 


Back to the top