2017-09-01 9 views
0

データを取得してehcacheの中に入れられるように、loadメソッドからツールを接続しようとしています。@Autowiringが内部で動作していません。ロードメソッドから呼び出されます)。私は誰もがいくつかのソリューションを提供することができれば満足しています。各インスタンスを作成することは不可能でも、いくつかのサービスを手助けすることはできません。私の方法上記プロジェクト起動時にehcacheをロードする/ Jvm起動する

@Component 
public class TestingBootstrapCacheLoaderFactory extends BootstrapCacheLoaderFactory implements BootstrapCacheLoader{ 

@Autowired 
Services service; 

@Override 
public BootstrapCacheLoader createBootstrapCacheLoader(Properties properties) { 
    // TODO Auto-generated method stub 
    return new MyBootstrapCacheLoaderFactory(); 
} 

@Override 
public Object clone() throws CloneNotSupportedException { 
    // TODO Auto-generated method stub 
    return super.clone(); 
} 
public boolean isAsynchronous() { 
    // TODO Auto-generated method stub 
    return false; 
} 
public void load(Ehcache myCache) throws CacheException { 
    // TODO Auto-generated method stub 
    System.out.println("load your cache with whatever you want...."); 
    service.connect(); //null pointer as autowired doesnt work 
    //nor it is working if i create a class object here and try to user 
    //other class for autowiring 
} 
+0

のために働い 'それは、アプリケーションが起動に失敗するだろう場合Autowired'フィールド@' null'なのですることはできません。 springをインスタンスに作成させるのではなく、おそらく 'TestingBootstrapCacheLoaderFactory'の新しいインスタンスを作成しています。 –

+0

こんにちは@ M.Deinumあなたが知っているreply.AsのおかげでTestingBootstrapCacheLoaderFactoryはjvmのstartup.Thisの時点で私が書いたnullpointer例外をキャッチしようとすると正確なコードです。私はenviornmentのインスタンスを作成しようとしたautowireと同じ私のアプリケーションが始まっていることを確認したいです。私はこのリンクhttp://forums.terracotta.org/forums/posts/list/4335.pageから解決策を試しましたが、これはntの作業です私にとって –

+0

このクラスに@Autowired Environment envを作成しようとすると、envはnullになります。 –

答えて

0

与える@PostConstructアノテーションは私

+0

少し細かいことはできますか?これはどのように役立ちましたか?あなたのPostConstructメソッドはどのように見えますか?また、createBootstrapCacheLoader()は別のクラスを返します。このクラスの詳細を教えてください。私はBootstrapLoaderからJPAインタフェースメソッドを呼び出そうとしているのと同じ問題に直面しています。 – Manoj

関連する問題