I'm trying to figure out a way to inject dependencies into an Aspect that
is running under Wildfly 10 with CDI.

>From what I can tell, by definition, I need to have a no-argument
constructor in the Aspect, which already implies AJ cannot support the
constructor injection pattern.  Please correct me if I am mistaken.

Secondly, once I have fields annotated with @Inject, I'm not sure how to
tell CDI to inject beans into my aspect.  If I remember correctly, in
Spring, I can use the .aspectOf() as a factory-method to declare the bean
to Spring.  This was accomplished using XML definitions.

However, when I try to do something similar in CDI, using @Produces, it
does not seem to be work; the compiler throws errors that the .aspectOf()
method in my aspect does not exist.

public class UserAccountAspectFactory {

    @Produces
    public UserAccountStatusAspect
injectUserAccountStatusAspectDependencies() throws
NoSuchMethodException, InvocationTargetException,
IllegalAccessException {
        return UserAccountStatusAspect.aspectOf();
    }
}




[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project adams-aspects: Compilation failure
[ERROR]
/C:/dev/Projects/develop/aspects/src/main/java/model/interceptor/UserAccountAspectFactory.java:[11,39]
cannot find symbol
[ERROR]   symbol:   method aspectOf()
[ERROR]   location: class model.interceptor.UserAccountStatusAspect
[ERROR]
[ERROR] -> [Help 1]



Which surprises me b/c when I look at the UserAccountStatusAspect.class
file, I see that ajc has added the .aspectOf() method to the compiled class.

I'm obviously doing something wrong, but not quite sure what.

Can anyone point me in the right direction please?

Thanks,

Eric
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to