で実行されます。コードはクライアントモードIgniteで実行され、Igniteクラスタにデータがロードされます。どの部分は、私は、コードを以下でのIgniteキャッシュへのmysqlからデータをロードしていますサーバ側
私が尋ねる:
コードの一部は、サーバー側で実行されますか?
キャッシュにデータをロードするの作業メカニズムはマップ-減らすので、どのようなタスクがサーバーに送信されているように見えますか? SQLは?
私はparticularlly尋ねる:クライアント側で次のコード実行やサーバsdieはだろうか?
CacheConfiguration CFG = StudentCacheConfig.cache( "StudentCache"、storeFactory)。 IgniteCacheキャッシュ= ignite.getOrCreateCache(cfg);続き
はあなたがここに示したコードは、アプリケーション内で実行されるキャッシュ
public class LoadStudentIntoCache {
public static void main(String[] args) {
Ignition.setClientMode(false);
String configPath = "default-config.xml";
Ignite ignite = Ignition.start(configPath);
CacheJdbcPojoStoreFactory storeFactory = new CacheJdbcPojoStoreFactory<Integer, Student>();
storeFactory.setDialect(new MySQLDialect());
IDataSourceFactory factory = new MySqlDataSourceFactory();
storeFactory.setDataSourceFactory(new Factory<DataSource>() {
public DataSource create() {
try {
DataSource dataSource = factory.createDataSource();
return dataSource;
} catch (Exception e) {
return null;
}
}
});
//
CacheConfiguration<Integer, Student> cfg = StudentCacheConfig.cache("StudentCache", storeFactory);
IgniteCache<Integer, Student> cache = ignite.getOrCreateCache(cfg);
List<String> sqls = new ArrayList<String>();
sqls.add("java.lang.Integer");
sqls.add("select id, name, birthday from db1.student where id < 1000");
sqls.add("java.lang.Integer");
sqls.add("select id, name, birthday from db1.student where id >= 1000 and id < 1000");
cache.loadCache(null, , sqls.toArray(new String[0]));
Student s = cache.get(1);
System.out.println(s.getName() + "," + s.getBirthday());
ignite.close();
}
}
おかげ@Valentinは、はい、私はクライアントモードで実行するためのもの。私は私の質問を更新する。私には、CacheConfigurationとそれに依存するすべてのクラス(Exception KV Pojo of the Cache)(データソース、データ型トランスフォーマーなど)がサーバーノードのクラスパスに存在する必要があります。 – Tom
質問に貼り付けたコードで、storeFactoryの内部クラスを使用しています。私は、LoadStudentIntoCacheをサーバのクラスパスに入れなければならないということに私はつながります。LoadStudentIntoCacheをLoadStudentIntoCacheから独立させるスタンドアロンクラスを作成する必要があります。 – Tom
はい、匿名クラスは分散システムでは悪です:)あなたは正しいファクトリはサーバ側で呼び出され、そのクラスはそこにデプロイされなければなりません。 –