2016-09-14 17 views
2

と呼ばれている:方法は、まだ私はこのコードを持っている

import com.jcabi.aspects.Cacheable; 

@Cacheable(forever = true) 
public String authorizedRequestBuilder() throws GeneralSecurityException, IOException { 
    return String.format("Bearer %s", acquireToken()); 
} 

私はメソッドの体は数回呼ばれて参照デバッグ中。

これ以上の設定はありますか?

+0

それは 'String.Formatの到達した場合は、確認しました( "%ベアラs" を、acquireToken())'にも?プロキシはバックグラウンドで使用され、そのメソッド呼び出しは引き続き発生しますが、キャッシュにデリゲートするProxy上にある可能性があります。 – u6f6o

+0

わかりません。注釈なしのため、メソッド全体を呼び出す必要がありますか?その体に関係なく –

+0

@ EladBenda2は例外ではない場合にのみキャッシュされます。メソッドが例外をスローすると、キャッシュするものはありません。また、バイナリが織り込まれていますか? http://spects.jcabi.com/example-aspectj.htmlを参照してください。 – yegor256

答えて

0

jcabionly works with AspectJ compile time weaving.

だから、あなたはあなたのコードをコンパイルするためにAspectJのコンパイラを使用していることを確認しましたか? this blog postあたりとして、あなたはjcabi Mavenプラグイン(または同等のもの)を使用する必要があります:

<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

これはAspectJでのみ動作します –

関連する問題