Hazelcastのコンフィグ設定
Hazelcast(ハゼルキャスト)は、XMLかコンフィグ設定用のAPIを利用する事で各種設定を行う事ができます。
XMLコンフィギュレーション
あながた新しいHazelcastのインスタンスをHazelcast.newHazelcastInstance(null) というようにnullを使用して作成する場合、もしくは単にHazelcast.newHazelcastInstance()のように空のファクトリーメソッドを使用して作成する場合、Hazelcastは次の2ヵ所のコンフィギュレーションファイルを見に行きます。
- システムプロパティ: Hazelcastは、はじめに下記の例示のようにファイルパスで設定されている"hazelcast.config" をチェックします。
-
- 例) -Dhazelcast.config=C:/myhazelcast.xml.
- クラスパス: コンフィグ用のファイルがシステムプロパティに設定されていない場合、Hazelcastはhazelcast.xmlファイルのクラスパスをチェックします。
もしHazelcastがコンフィグファイルを発見する事ができなかった場合、デフォルト設定で開始されます。デフォルトのHazelcastのコンフィグ設定は、hazelcast.jarのhazelcast-default.xmlです。Hazelcastのコンフィグ設定を行う前に、デフォルトのコンフィグ設定を試して下さい。デフォルト設定はほどんどのユーザーに適した設定になっています。もしそうでなければ、その時にあなたの環境に適するように設定を変更して下さい。
あなたが作成したコンフィグファイルを指定したい場合、Hazelcastは、ファイルやクラスパスの指定、InputStreamの使用、URL指定などいくつかの方法をサポートしています。
例
- Config cfg = new XmlConfigBuilder(xmlFileName).build();
- Config cfg = new XmlConfigBuilder(inputStream).build();
- Config cfg = new ClasspathXmlConfig(xmlFileName);
- Config cfg = new FileSystemXmlConfig(configFilename);
- Config cfg = new UrlXmlConfig(url);
- Config cfg = new InMemoryXmlConfig(xml);
プラグラムによるコンフィギュレーション
To configure Hazelcast programatically, just instantiate a Config object and set/change its properties/attributes due to your needs.
Config cfg = new Config();
cfg.setPort(5900);
cfg.setPortAutoIncrement(false);
NetworkConfig network = cfg.getNetworkConfig();
JoinConfig join = network.getJoin();
join.getMulticastConfig().setEnabled(false);
join.getTcpIpConfig().addMember("10.45.67.32").addMember("10.45.67.100")
.setRequiredMember("192.168.10.100").setEnabled(true);
network.getInterfaces().setEnabled(true).addInterface("10.45.67.*");
MapConfig mapCfg = new MapConfig();
mapCfg.setName("testMap");
mapCfg.setBackupCount(2);
mapCfg.getMaxSizeConfig().setSize(10000);
mapCfg.setTimeToLiveSeconds(300);
MapStoreConfig mapStoreCfg = new MapStoreConfig();
mapStoreCfg.setClassName("com.hazelcast.examples.DummyStore").setEnabled(true);
mapCfg.setMapStoreConfig(mapStoreCfg);
NearCacheConfig nearCacheConfig = new NearCacheConfig();
nearCacheConfig.setMaxSize(1000).setMaxIdleSeconds(120).setTimeToLiveSeconds(300);
mapCfg.setNearCacheConfig(nearCacheConfig);
cfg.addMapConfig(mapCfg);
Configオブジェクトを作成した後で、あなたはそれを新しいHazelcastインスタンスの作成に使用する事ができます。
HazelcastInstance hazelcast = Hazelcast.newHazelcastInstance(cfg);
...
名前付きのHazelcastインスタンス(HazelcastInstance with a name)
◆名前付きのHazelcastインスタンスを作成するには、Configオブジェクトにインスタンス名をセットする必要があります。
Config cfg = new Config();
config.setInstanceName('my-instance');
Hazelcast.newHazelcastInstance(config);
◆名前を指定してHazelcastインスタンスを取得する方法
Hazelcast.getHazelcastInstanceByName('my-instance')
◆すべてのHazelcastインスタンスの取得する方法
Hazelcast.getAllHazelcastInstances();