2016-09-14 1 views
2

Ich habe diesen Code genannt wird.Methode mit @Cacheable (immer = true) ist nach wie vor

Gibt es noch weitere Konfigurationsmöglichkeiten?

+0

Haben Sie überprüfen, ob es 'String.format ("Bearer% s", acquireToken()) erreicht' als auch? Könnte sein, dass ein Proxy im Hintergrund verwendet wird und dieser Methodenaufruf immer noch stattfindet, aber auf dem Proxy, der an den Cache delegiert. – u6f6o

+0

nicht sicher, ich folge. Die ganze Methode sollte wegen der Anmerkung no aufgerufen werden? unabhängig von seinem Körper –

+0

@ EladBenda2 nicht wirklich, das Ergebnis wird nur im Cache gespeichert, wenn es keine Ausnahmen gibt. Wenn Ihre Methode eine Ausnahme auslöst, gibt es nichts zu cachen. Sind Sie sicher, dass Ihre Binärdateien gewebt sind? Siehe http://aspects.jcabi.com/example-aspectj.html – yegor256

Antwort

0

jcabionly works with AspectJ compile time weaving.

So haben Sie sorgen dafür, dass Sie einen AspectJ-Compiler verwenden, um Ihren Code zu kompilieren? Wie pro this blog post, sollten Sie das jcabi Maven Plugin (oder gleichwertig) sein mit:

<project> 
    <dependencies> 
    <dependency> 
     <groupId>com.jcabi</groupId> 
     <artifactId>jcabi-aspects</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>com.jcabi</groupId> 
     <artifactId>jcabi-maven-plugin</artifactId> 
     <executions> 
      <execution> 
      <goals> 
       <goal>ajc</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</project> 
+0

Das stimmt, es funktioniert nur mit AspectJ –

Verwandte Themen