commit
84bbd412db
@ -112,7 +112,7 @@ buildDeb {
|
||||
|
||||
archiveName = "${pkgName}.deb"
|
||||
|
||||
requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer")
|
||||
requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless")
|
||||
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf")
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml")
|
||||
|
||||
@ -169,8 +169,17 @@ cache:
|
||||
# Enable/disable cache functionality.
|
||||
enabled: "${CACHE_ENABLED:true}"
|
||||
device_credentials:
|
||||
# default time to store device credentials in cache, in seconds
|
||||
time_to_live: "${DEVICE_CREDENTIAL_CACHE_TTL:3600}"
|
||||
# default maximum size of device credentials cache
|
||||
max_size: "${DEVICE_CREDENTIAL_CACHE_MAX_SIZE:1000000}"
|
||||
# Default time to store device credentials in cache, in seconds
|
||||
time_to_live: "${CACHE_DEVICE_CREDENTIAL_TTL:3600}"
|
||||
# Maximum size of the map. When maximum size is reached, the map is evicted based on the policy defined.
|
||||
max_size:
|
||||
# Max size policy options:
|
||||
# PER_NODE: Maximum number of map entries in each JVM.
|
||||
# PER_PARTITION: Maximum number of map entries within each partition.
|
||||
# USED_HEAP_SIZE: Maximum used heap size in megabytes for each JVM.
|
||||
# USED_HEAP_PERCENTAGE: Maximum used heap size percentage for each JVM.
|
||||
# FREE_HEAP_SIZE: Minimum free heap size in megabytes for each JVM.
|
||||
# FREE_HEAP_PERCENTAGE: Minimum free heap size percentage for each JVM.
|
||||
policy: "${CACHE_DEVICE_CREDENTIAL_MAX_SIZE_POLICY:PER_NODE}"
|
||||
size: "${CACHE_DEVICE_CREDENTIAL_MAX_SIZE_SIZE:1000000}"
|
||||
|
||||
|
||||
@ -15,10 +15,7 @@
|
||||
*/
|
||||
package org.thingsboard.server.dao.cache;
|
||||
|
||||
import com.hazelcast.config.Config;
|
||||
import com.hazelcast.config.DiscoveryStrategyConfig;
|
||||
import com.hazelcast.config.MapConfig;
|
||||
import com.hazelcast.config.MaxSizeConfig;
|
||||
import com.hazelcast.config.*;
|
||||
import com.hazelcast.core.Hazelcast;
|
||||
import com.hazelcast.core.HazelcastInstance;
|
||||
import com.hazelcast.instance.GroupProperty;
|
||||
@ -41,10 +38,13 @@ public class ServiceCacheConfiguration {
|
||||
|
||||
private static final String HAZELCAST_CLUSTER_NAME = "hazelcast";
|
||||
|
||||
@Value("${cache.device_credentials.max_size}")
|
||||
private Integer deviceCredentialsCacheMaxSize;
|
||||
@Value("${cache.device_credentials.max_size.size}")
|
||||
private Integer cacheDeviceCredentialsMaxSizeSize;
|
||||
@Value("${cache.device_credentials.max_size.policy}")
|
||||
private String cacheDeviceCredentialsMaxSizePolicy;
|
||||
@Value("${cache.device_credentials.time_to_live}")
|
||||
private Integer deviceCredentialsCacheTTL;
|
||||
private Integer cacheDeviceCredentialsTTL;
|
||||
|
||||
|
||||
@Value("${zk.enabled}")
|
||||
private boolean zkEnabled;
|
||||
@ -69,8 +69,13 @@ public class ServiceCacheConfiguration {
|
||||
}
|
||||
|
||||
MapConfig deviceCredentialsCacheConfig = new MapConfig(CacheConstants.DEVICE_CREDENTIALS_CACHE);
|
||||
deviceCredentialsCacheConfig.setTimeToLiveSeconds(deviceCredentialsCacheTTL);
|
||||
deviceCredentialsCacheConfig.setMaxSizeConfig(new MaxSizeConfig(deviceCredentialsCacheMaxSize, MaxSizeConfig.MaxSizePolicy.PER_NODE));
|
||||
deviceCredentialsCacheConfig.setTimeToLiveSeconds(cacheDeviceCredentialsTTL);
|
||||
deviceCredentialsCacheConfig.setEvictionPolicy(EvictionPolicy.LRU);
|
||||
deviceCredentialsCacheConfig.setMaxSizeConfig(
|
||||
new MaxSizeConfig(
|
||||
cacheDeviceCredentialsMaxSizeSize,
|
||||
MaxSizeConfig.MaxSizePolicy.valueOf(cacheDeviceCredentialsMaxSizePolicy))
|
||||
);
|
||||
config.addMapConfig(deviceCredentialsCacheConfig);
|
||||
|
||||
return Hazelcast.newHazelcastInstance(config);
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
cache.enabled=false
|
||||
cache.device_credentials.time_to_live=3600
|
||||
cache.device_credentials.max_size=1000000
|
||||
cache.device_credentials.max_size.size=1000000
|
||||
cache.device_credentials.max_size.policy=PER_NODE
|
||||
|
||||
zk.enabled=false
|
||||
zk.url=localhost:2181
|
||||
|
||||
@ -26,18 +26,18 @@ services:
|
||||
links:
|
||||
- cassandra:db
|
||||
- zookeeper:zk
|
||||
- db-schema:db-schema
|
||||
- thingsboard-db-schema:thingsboard-db-schema
|
||||
volumes:
|
||||
- "../application/target/thingsboard.deb:/root/thingsboard.deb"
|
||||
env_file:
|
||||
- thingsboard.env
|
||||
entrypoint: ./run_web_app.sh
|
||||
db-schema:
|
||||
build: db-schema
|
||||
entrypoint: ./run_thingsboard.sh
|
||||
thingsboard-db-schema:
|
||||
build: thingsboard-db-schema
|
||||
links:
|
||||
- cassandra:db
|
||||
env_file:
|
||||
- db-schema.env
|
||||
- thingsboard-db-schema.env
|
||||
volumes:
|
||||
- "../dao/src/main/resources/schema.cql:/root/schema.cql"
|
||||
- "../dao/src/main/resources/demo-data.cql:/root/demo-data.cql"
|
||||
|
||||
@ -14,10 +14,10 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
FROM java:8-jre
|
||||
FROM openjdk:8-jre
|
||||
|
||||
ADD run_web_app.sh /root/run_web_app.sh
|
||||
ADD run_thingsboard.sh /root/run_thingsboard.sh
|
||||
|
||||
RUN chmod +x /root/run_web_app.sh
|
||||
RUN chmod +x /root/run_thingsboard.sh
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
@ -21,16 +21,24 @@ dpkg -i /root/thingsboard.deb
|
||||
reachable=0
|
||||
while [ $reachable -eq 0 ];
|
||||
do
|
||||
echo "db-schema container is still in progress. waiting until it completed..."
|
||||
echo "thingsboard-db-schema container is still in progress. waiting until it completed..."
|
||||
sleep 3
|
||||
ping -q -c 1 db-schema > /dev/null 2>&1
|
||||
ping -q -c 1 thingsboard-db-schema > /dev/null 2>&1
|
||||
if [ "$?" -ne 0 ];
|
||||
then
|
||||
echo "db-schema container completed!"
|
||||
echo "thingsboard-db-schema container completed!"
|
||||
reachable=1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Starting 'Thingsboard' service..."
|
||||
thingsboard start
|
||||
# Copying env variables into conf files
|
||||
printenv | while read x; do echo export $x; done >> /usr/share/thingsboard/conf/thingsboard.conf
|
||||
|
||||
cat /usr/share/thingsboard/conf/thingsboard.conf
|
||||
|
||||
echo "Starting 'Thingsboard' service..."
|
||||
service thingsboard start
|
||||
|
||||
# Wait until log file is created
|
||||
sleep 3
|
||||
tail -f /var/log/thingsboard/thingsboard.log
|
||||
Loading…
x
Reference in New Issue
Block a user