Spring AOP: Vermeiden Sie Endklassen und Aufzählungen von pointcut

Ich verwende den Versuch, die Protokollierung mit Spring AOP zu implementieren. Ich habe das @ definie

@Pointcut("execution(* com.mycom..*(..))")
private void framework() {}

@Around("framework()")
public Object aroundAdviceFramework(ProceedingJoinPoint jp) throws Throwable {
    if (logger.isDebugEnabled())
        logger.debug("DEBUG:: {}  {}  Enter", jp.getTarget().getClass().getName(), jp.getSignature().getName());
    Object returnVal = jp.proceed(jp.getArgs());
    if (logger.isDebugEnabled())
        logger.debug("DEBUG:: {}  {}  Out", jp.getTarget().getClass().getName(), jp.getSignature().getName());
    logger.info("INFO:: " + jp.getTarget().getClass().getName() + " " + jp.getSignature().getName() + " Finished:");
    return returnVal;
}

Es gibt viele Klassen unter mycom package und seinen Unterpaketen. Einige der Klassen sind Aufzählung und Abschlussklasse. Aus diesem Grund bekomme ich

nested exception is org.springframework.aop.framework.AopConfigException: 
Could not generate CGLIB subclass of class [class com.mycom.util.BancsServiceProvider]: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Cannot subclass final class class com.mycom.util.BancsServiceProvider
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)

Ist es eine Möglichkeit, alle abschließenden Klassen und Aufzählungsklassen mit einem regulären Ausdruck von der Protokollierung auszuschließen? Hinweis: Ich habe überall Enum-Klassen in verschiedenen Paketen. Es wäre schwierig, sie mit vollständigen Klassennamen auszuschließen.

Update 17.11.2014 (probiere die Lösung von kriegaex aus):

Ich habe versucht mit

@Pointcut("!within(is(FinalType))")

aber ich erhalte folgenden Fehler

Pointcut is not well-formed: expecting ')' at character position 10

! innerhalb von (is (FinalType))

Ich habe diese maven-Abhängigkeit in die pom-Datei hinzugefügt

    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.8.4</version>
    </dependency>

Ich habe auch diese maven Abhängigkeit hinzugefügt

   <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.4</version>
    </dependency>

etzt funktioniert alles wie Charme. Irgendwelche Ideen, was passiert hier?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage