Mercurial > hg > Database > Christie
annotate src/main/java/christie/codegear/StartCodeGear.java @ 15:4e867538adb7
change DataGearManager to abstract class for delete static dataGears
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 14 Jan 2018 23:33:46 +0900 |
parents | bcd4f2c19185 |
children | 59fabebb67d8 |
rev | line source |
---|---|
1
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 package christie.codegear; |
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 |
13
bcd4f2c19185
don't work MessagePack unconvert for remote put
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
3 import christie.daemon.ChristieDaemon; |
bcd4f2c19185
don't work MessagePack unconvert for remote put
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
4 import christie.daemon.Config; |
bcd4f2c19185
don't work MessagePack unconvert for remote put
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
5 |
6
3dcfe63d6394
set type to DataGear by Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
6 import java.util.concurrent.ConcurrentHashMap; |
1
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 import java.util.concurrent.LinkedBlockingQueue; |
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 import java.util.concurrent.ThreadPoolExecutor; |
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 import java.util.concurrent.TimeUnit; |
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 |
7
21372a589bd3
add CodeGearExecutor
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
11 public abstract class StartCodeGear extends CodeGear{ |
15
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
12 static ConcurrentHashMap<String, CodeGearManager> cgms = new ConcurrentHashMap<>(); |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
13 static LinkedBlockingQueue<Runnable> taskQueue = new LinkedBlockingQueue<Runnable>(); |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
14 static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads |
2
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
15 Runtime.getRuntime().availableProcessors(), |
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
16 Integer.MAX_VALUE, // keepAliveTime |
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
17 TimeUnit.SECONDS, |
3
e3bb0eea73f2
resolve Annotation error and TestCodeGear is working
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
2
diff
changeset
|
18 taskQueue); |
13
bcd4f2c19185
don't work MessagePack unconvert for remote put
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
19 |
15
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
20 public StartCodeGear(CodeGearManager cgm){ |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
21 cgm.setup(this); |
13
bcd4f2c19185
don't work MessagePack unconvert for remote put
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
22 } |
2
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
23 |
15
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
24 public static CodeGearManager createCGM(String name, int localPort){ |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
25 if (cgms.containsKey(name)){ |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
26 throw new IllegalArgumentException("CGM name '" + name +"' is already used"); |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
27 } |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
28 |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
29 CodeGearManager cgm = new CodeGearManager(name, threadPoolExecutor, cgms, localPort); |
2
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
30 cgms.put(name, cgm); |
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
31 return cgm; |
1
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 } |
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 |
15
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
34 public static CodeGearManager createCGM(String name){ |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
35 return createCGM(name, 10000); |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
36 } |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
37 |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
38 public static CodeGearManager getCGM(String name){ |
2
bacdcb5e6dcf
change StartCodeGear static
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
39 return cgms.get(name); |
1
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 } |
5
5be6647b87d2
StartCodeGear implements Runnable to wait InputDataGear
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
41 |
15
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
42 @Override |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
43 protected void run(CodeGearManager cgm) {} |
4e867538adb7
change DataGearManager to abstract class for delete static dataGears
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
44 |
5
5be6647b87d2
StartCodeGear implements Runnable to wait InputDataGear
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
45 |
1
3ea61d0bfc34
add dependency proccess but not work
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 } |