terracottaクラスタ初試行-helloword
3118 ワード
Terracotta兵馬俑集群-HelloWorld
一.目的:
2つの独立したプロセスに1つのリソースへの共同アクセスを実現させます.
二.まずdemoを書きます.
ソース:
2つのプロセスで実行すると,それぞれのことを処理し,少しも連絡がないことが明らかになった.
三.terracottaの取り付け
terracotta-3.7.7-2013-08-19_を実行16-03-48-installer.JArはインストールを行い、私はdディスクのterracottaディレクトリにインストールし、その後Mainクラスをmainにパッケージした.JAr、tc-configをもう一つ作成します.xmlファイル、ファイルの内容は以下の通りです.
最後にtc-config.xmlおよびmain.JArはterracottaのインストールディレクトリにコピーし、下図のようにします.
terracottaサービスの開始
インタフェースをオフにしないで、2つのcmdインタフェースを呼び出し、Mainを実行します.jar,
注意:terracotta-3.7.7-2013-08-19_16-03-48-installer.JArに必要なjdkバージョンは1.6です.エラーが正常に実行されなかった場合は、jdkバージョンを確認します.
上図に示すように、2つの独立したプロセスはcountのリソースに共同でアクセスできます.
terracotta-3.7.7-2013-08-19_16-03-48-installer.JAr無料ダウンロードアドレス:http://download.csdn.net/detail/qq_27063119/9712109
一.目的:
2つの独立したプロセスに1つのリソースへの共同アクセスを実現させます.
二.まずdemoを書きます.
ソース:
package simpleparallel;
public class Main implementsRunnable{
private Objectlock = newObject();
private int count = 0;
private static Main inst = new Main();
/**
* @param args
*/
public static void main(String[] args) {
new Thread(inst).start();
new Thread(inst).start();
}
public void run() {
//keep increasing count by one every fewseconds
while(true){
synchronized(lock){
count++;
System.out.println(Thread.currentThread().getName() +" increased count to:"+count);
}
try{
Thread.sleep((int)(5000*Math.random()));
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
2つのプロセスで実行すると,それぞれのことを処理し,少しも連絡がないことが明らかになった.
三.terracottaの取り付け
terracotta-3.7.7-2013-08-19_を実行16-03-48-installer.JArはインストールを行い、私はdディスクのterracottaディレクトリにインストールし、その後Mainクラスをmainにパッケージした.JAr、tc-configをもう一つ作成します.xmlファイル、ファイルの内容は以下の通りです.
<?xmlversion="1.0" encoding="UTF-8"?>
<tc:tc-configxmlns:tc="http://www.terracotta.org/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-6.xsd">
<servers>
<server host="%i"name="localhost">
<dso-port>9510</dso-port>
<jmx-port>9520</jmx-port>
<data>/terracotta/server-data</data>
<logs>/terracotta/server-logs</logs>
<statistics>/terracotta/cluster-statistics</statistics>
</server>
</servers>
<clients>
<logs>/terracotta/client-logs</logs>
</clients>
<application>
<dso>
<instrumented-classes>
<include>
<class-expression>simpleparallel.Main</class-expression>
</include>
</instrumented-classes>
<roots>
<root>
<field-name>simpleparallel.Main.inst</field-name>
</root>
</roots>
<locks>
<autolock>
<method-expression>voidsimpleparallel.Main.run()</method-expression>
<lock-level>write</lock-level>
</autolock>
</locks>
</dso>
</application>
</tc:tc-config>
最後にtc-config.xmlおよびmain.JArはterracottaのインストールディレクトリにコピーし、下図のようにします.
terracottaサービスの開始
インタフェースをオフにしないで、2つのcmdインタフェースを呼び出し、Mainを実行します.jar,
注意:terracotta-3.7.7-2013-08-19_16-03-48-installer.JArに必要なjdkバージョンは1.6です.エラーが正常に実行されなかった場合は、jdkバージョンを確認します.
上図に示すように、2つの独立したプロセスはcountのリソースに共同でアクセスできます.
terracotta-3.7.7-2013-08-19_16-03-48-installer.JAr無料ダウンロードアドレス:http://download.csdn.net/detail/qq_27063119/9712109