2016-06-03 10 views
0

Ich habe eine Klasse EmailServiceImpl, die EmailService und eine andere Klasse ReportServiceImpl implementiert, die ReportService implementiert. Beide Schnittstellen sind mit @EnableAsync versehen, und daher gibt es Methoden mit @Async-Annotationen.Wie Klasse automatisch mit asynchronen Methoden in einer anderen Klasse mit asynchronen Methoden

Ich benutze Standardfeder taskexecutor.

Ich kann EmailService in ReportService nicht automatisch aktivieren.

Please refer to the stacktrace here

+0

Stacktrace pls. Async und Autowired sollten sich nicht umeinander kümmern. Sie müssen die Async-Unterstützung nicht zweimal aktivieren, aber das sollte auch nicht das Problem sein. – zapl

+0

Ich aktiviere Async nicht zweimal, aber Spring erstellt standardmäßig einen Proxy für asynchrone Methoden, den ich nicht umgehen kann. Natürlich interessiert sich Async und Autowired nicht gegenseitig, das Problem tritt auf, wenn ich versuche, eine bereits proxied-Klasse innerhalb einer anderen Proxy-Klasse zu autradieren. –

+0

"Beide Schnittstellen sind mit @EnableAsync versehen"? Wie auch immer, haben Sie eine Stacktrace oder Fehlermeldung für das Problem? Es sollte keinen Grund geben, dass proxied Klassen nicht in andere proxied Klassen autowired werden können: http://stackoverflow.com/a/18995799/995891 – zapl

Antwort

2

Es ist jetzt arbeiten, habe ich applicationcontext.getBean ("BeanName") Methode, um die Bohne statt @Autowired zu bekommen.

Verwandte Themen