[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Using AspectJ Aspect with CDI and dependency injection
|
Hi Eric.
The error comes from Maven Compiler, not from AspectJ Maven, i.e. Javac tries to compile something you probably want to be compiled by Ajc. Without seeing your POM I cannot say more, but the configuration with regard to those two plugins is probably the root cause of your problem.
Regards
--
Alexander Kriegisch
https://scrum-master.de
Eric B schrieb am 12.07.2018 23:22:
>
> 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 classUserAccountAspectFactory {
>
> @Produces
> publicUserAccountStatusAspect
> injectUserAccountStatusAspectDependencies()throwsNoSuchMethodException,
> InvocationTargetException, IllegalAccessException {
> returnUserAccountStatusAspect.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
>
>