Commit ceb9ba2704776853da6768245fd4655b6871bcf1
Merge branch 'master' of github.com:ashvayka/thingsboard
Showing
10 changed files
with
50 additions
and
27 deletions
@@ -112,7 +112,7 @@ buildDeb { | @@ -112,7 +112,7 @@ buildDeb { | ||
112 | 112 | ||
113 | archiveName = "${pkgName}.deb" | 113 | archiveName = "${pkgName}.deb" |
114 | 114 | ||
115 | - requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer") | 115 | + requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") |
116 | 116 | ||
117 | configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") | 117 | configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") |
118 | configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") | 118 | configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") |
@@ -169,8 +169,17 @@ cache: | @@ -169,8 +169,17 @@ cache: | ||
169 | # Enable/disable cache functionality. | 169 | # Enable/disable cache functionality. |
170 | enabled: "${CACHE_ENABLED:true}" | 170 | enabled: "${CACHE_ENABLED:true}" |
171 | device_credentials: | 171 | device_credentials: |
172 | - # default time to store device credentials in cache, in seconds | ||
173 | - time_to_live: "${DEVICE_CREDENTIAL_CACHE_TTL:3600}" | ||
174 | - # default maximum size of device credentials cache | ||
175 | - max_size: "${DEVICE_CREDENTIAL_CACHE_MAX_SIZE:1000000}" | 172 | + # Default time to store device credentials in cache, in seconds |
173 | + time_to_live: "${CACHE_DEVICE_CREDENTIAL_TTL:3600}" | ||
174 | + # Maximum size of the map. When maximum size is reached, the map is evicted based on the policy defined. | ||
175 | + max_size: | ||
176 | + # Max size policy options: | ||
177 | + # PER_NODE: Maximum number of map entries in each JVM. | ||
178 | + # PER_PARTITION: Maximum number of map entries within each partition. | ||
179 | + # USED_HEAP_SIZE: Maximum used heap size in megabytes for each JVM. | ||
180 | + # USED_HEAP_PERCENTAGE: Maximum used heap size percentage for each JVM. | ||
181 | + # FREE_HEAP_SIZE: Minimum free heap size in megabytes for each JVM. | ||
182 | + # FREE_HEAP_PERCENTAGE: Minimum free heap size percentage for each JVM. | ||
183 | + policy: "${CACHE_DEVICE_CREDENTIAL_MAX_SIZE_POLICY:PER_NODE}" | ||
184 | + size: "${CACHE_DEVICE_CREDENTIAL_MAX_SIZE_SIZE:1000000}" | ||
176 | 185 |
@@ -15,10 +15,7 @@ | @@ -15,10 +15,7 @@ | ||
15 | */ | 15 | */ |
16 | package org.thingsboard.server.dao.cache; | 16 | package org.thingsboard.server.dao.cache; |
17 | 17 | ||
18 | -import com.hazelcast.config.Config; | ||
19 | -import com.hazelcast.config.DiscoveryStrategyConfig; | ||
20 | -import com.hazelcast.config.MapConfig; | ||
21 | -import com.hazelcast.config.MaxSizeConfig; | 18 | +import com.hazelcast.config.*; |
22 | import com.hazelcast.core.Hazelcast; | 19 | import com.hazelcast.core.Hazelcast; |
23 | import com.hazelcast.core.HazelcastInstance; | 20 | import com.hazelcast.core.HazelcastInstance; |
24 | import com.hazelcast.instance.GroupProperty; | 21 | import com.hazelcast.instance.GroupProperty; |
@@ -41,10 +38,13 @@ public class ServiceCacheConfiguration { | @@ -41,10 +38,13 @@ public class ServiceCacheConfiguration { | ||
41 | 38 | ||
42 | private static final String HAZELCAST_CLUSTER_NAME = "hazelcast"; | 39 | private static final String HAZELCAST_CLUSTER_NAME = "hazelcast"; |
43 | 40 | ||
44 | - @Value("${cache.device_credentials.max_size}") | ||
45 | - private Integer deviceCredentialsCacheMaxSize; | 41 | + @Value("${cache.device_credentials.max_size.size}") |
42 | + private Integer cacheDeviceCredentialsMaxSizeSize; | ||
43 | + @Value("${cache.device_credentials.max_size.policy}") | ||
44 | + private String cacheDeviceCredentialsMaxSizePolicy; | ||
46 | @Value("${cache.device_credentials.time_to_live}") | 45 | @Value("${cache.device_credentials.time_to_live}") |
47 | - private Integer deviceCredentialsCacheTTL; | 46 | + private Integer cacheDeviceCredentialsTTL; |
47 | + | ||
48 | 48 | ||
49 | @Value("${zk.enabled}") | 49 | @Value("${zk.enabled}") |
50 | private boolean zkEnabled; | 50 | private boolean zkEnabled; |
@@ -69,8 +69,13 @@ public class ServiceCacheConfiguration { | @@ -69,8 +69,13 @@ public class ServiceCacheConfiguration { | ||
69 | } | 69 | } |
70 | 70 | ||
71 | MapConfig deviceCredentialsCacheConfig = new MapConfig(CacheConstants.DEVICE_CREDENTIALS_CACHE); | 71 | MapConfig deviceCredentialsCacheConfig = new MapConfig(CacheConstants.DEVICE_CREDENTIALS_CACHE); |
72 | - deviceCredentialsCacheConfig.setTimeToLiveSeconds(deviceCredentialsCacheTTL); | ||
73 | - deviceCredentialsCacheConfig.setMaxSizeConfig(new MaxSizeConfig(deviceCredentialsCacheMaxSize, MaxSizeConfig.MaxSizePolicy.PER_NODE)); | 72 | + deviceCredentialsCacheConfig.setTimeToLiveSeconds(cacheDeviceCredentialsTTL); |
73 | + deviceCredentialsCacheConfig.setEvictionPolicy(EvictionPolicy.LRU); | ||
74 | + deviceCredentialsCacheConfig.setMaxSizeConfig( | ||
75 | + new MaxSizeConfig( | ||
76 | + cacheDeviceCredentialsMaxSizeSize, | ||
77 | + MaxSizeConfig.MaxSizePolicy.valueOf(cacheDeviceCredentialsMaxSizePolicy)) | ||
78 | + ); | ||
74 | config.addMapConfig(deviceCredentialsCacheConfig); | 79 | config.addMapConfig(deviceCredentialsCacheConfig); |
75 | 80 | ||
76 | return Hazelcast.newHazelcastInstance(config); | 81 | return Hazelcast.newHazelcastInstance(config); |
1 | cache.enabled=false | 1 | cache.enabled=false |
2 | cache.device_credentials.time_to_live=3600 | 2 | cache.device_credentials.time_to_live=3600 |
3 | -cache.device_credentials.max_size=1000000 | 3 | +cache.device_credentials.max_size.size=1000000 |
4 | +cache.device_credentials.max_size.policy=PER_NODE | ||
4 | 5 | ||
5 | zk.enabled=false | 6 | zk.enabled=false |
6 | zk.url=localhost:2181 | 7 | zk.url=localhost:2181 |
@@ -26,18 +26,18 @@ services: | @@ -26,18 +26,18 @@ services: | ||
26 | links: | 26 | links: |
27 | - cassandra:db | 27 | - cassandra:db |
28 | - zookeeper:zk | 28 | - zookeeper:zk |
29 | - - db-schema:db-schema | 29 | + - thingsboard-db-schema:thingsboard-db-schema |
30 | volumes: | 30 | volumes: |
31 | - "../application/target/thingsboard.deb:/root/thingsboard.deb" | 31 | - "../application/target/thingsboard.deb:/root/thingsboard.deb" |
32 | env_file: | 32 | env_file: |
33 | - thingsboard.env | 33 | - thingsboard.env |
34 | - entrypoint: ./run_web_app.sh | ||
35 | - db-schema: | ||
36 | - build: db-schema | 34 | + entrypoint: ./run_thingsboard.sh |
35 | + thingsboard-db-schema: | ||
36 | + build: thingsboard-db-schema | ||
37 | links: | 37 | links: |
38 | - cassandra:db | 38 | - cassandra:db |
39 | env_file: | 39 | env_file: |
40 | - - db-schema.env | 40 | + - thingsboard-db-schema.env |
41 | volumes: | 41 | volumes: |
42 | - "../dao/src/main/resources/schema.cql:/root/schema.cql" | 42 | - "../dao/src/main/resources/schema.cql:/root/schema.cql" |
43 | - "../dao/src/main/resources/demo-data.cql:/root/demo-data.cql" | 43 | - "../dao/src/main/resources/demo-data.cql:/root/demo-data.cql" |
docker/thingsboard-db-schema.env
renamed from
docker/db-schema.env
docker/thingsboard-db-schema/Dockerfile
renamed from
docker/db-schema/Dockerfile
docker/thingsboard-db-schema/install_schema.sh
renamed from
docker/db-schema/install_schema.sh
@@ -14,10 +14,10 @@ | @@ -14,10 +14,10 @@ | ||
14 | # limitations under the License. | 14 | # limitations under the License. |
15 | # | 15 | # |
16 | 16 | ||
17 | -FROM java:8-jre | 17 | +FROM openjdk:8-jre |
18 | 18 | ||
19 | -ADD run_web_app.sh /root/run_web_app.sh | 19 | +ADD run_thingsboard.sh /root/run_thingsboard.sh |
20 | 20 | ||
21 | -RUN chmod +x /root/run_web_app.sh | 21 | +RUN chmod +x /root/run_thingsboard.sh |
22 | 22 | ||
23 | WORKDIR /root | 23 | WORKDIR /root |
docker/thingsboard/run_thingsboard.sh
renamed from
docker/thingsboard/run_web_app.sh
@@ -21,16 +21,24 @@ dpkg -i /root/thingsboard.deb | @@ -21,16 +21,24 @@ dpkg -i /root/thingsboard.deb | ||
21 | reachable=0 | 21 | reachable=0 |
22 | while [ $reachable -eq 0 ]; | 22 | while [ $reachable -eq 0 ]; |
23 | do | 23 | do |
24 | - echo "db-schema container is still in progress. waiting until it completed..." | 24 | + echo "thingsboard-db-schema container is still in progress. waiting until it completed..." |
25 | sleep 3 | 25 | sleep 3 |
26 | - ping -q -c 1 db-schema > /dev/null 2>&1 | 26 | + ping -q -c 1 thingsboard-db-schema > /dev/null 2>&1 |
27 | if [ "$?" -ne 0 ]; | 27 | if [ "$?" -ne 0 ]; |
28 | then | 28 | then |
29 | - echo "db-schema container completed!" | 29 | + echo "thingsboard-db-schema container completed!" |
30 | reachable=1 | 30 | reachable=1 |
31 | fi | 31 | fi |
32 | done | 32 | done |
33 | 33 | ||
34 | +# Copying env variables into conf files | ||
35 | +printenv | while read x; do echo export $x; done >> /usr/share/thingsboard/conf/thingsboard.conf | ||
36 | + | ||
37 | +cat /usr/share/thingsboard/conf/thingsboard.conf | ||
38 | + | ||
34 | echo "Starting 'Thingsboard' service..." | 39 | echo "Starting 'Thingsboard' service..." |
35 | -thingsboard start | 40 | +service thingsboard start |
36 | 41 | ||
42 | +# Wait until log file is created | ||
43 | +sleep 3 | ||
44 | +tail -f /var/log/thingsboard/thingsboard.log |