Merge branch 'master' of github.com:ashvayka/thingsboard
This commit is contained in:
commit
ceb9ba2704
@ -112,7 +112,7 @@ buildDeb {
|
|||||||
|
|
||||||
archiveName = "${pkgName}.deb"
|
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}.conf")
|
||||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml")
|
configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml")
|
||||||
|
|||||||
@ -169,8 +169,17 @@ cache:
|
|||||||
# Enable/disable cache functionality.
|
# Enable/disable cache functionality.
|
||||||
enabled: "${CACHE_ENABLED:true}"
|
enabled: "${CACHE_ENABLED:true}"
|
||||||
device_credentials:
|
device_credentials:
|
||||||
# default time to store device credentials in cache, in seconds
|
# Default time to store device credentials in cache, in seconds
|
||||||
time_to_live: "${DEVICE_CREDENTIAL_CACHE_TTL:3600}"
|
time_to_live: "${CACHE_DEVICE_CREDENTIAL_TTL:3600}"
|
||||||
# default maximum size of device credentials cache
|
# Maximum size of the map. When maximum size is reached, the map is evicted based on the policy defined.
|
||||||
max_size: "${DEVICE_CREDENTIAL_CACHE_MAX_SIZE:1000000}"
|
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;
|
package org.thingsboard.server.dao.cache;
|
||||||
|
|
||||||
import com.hazelcast.config.Config;
|
import com.hazelcast.config.*;
|
||||||
import com.hazelcast.config.DiscoveryStrategyConfig;
|
|
||||||
import com.hazelcast.config.MapConfig;
|
|
||||||
import com.hazelcast.config.MaxSizeConfig;
|
|
||||||
import com.hazelcast.core.Hazelcast;
|
import com.hazelcast.core.Hazelcast;
|
||||||
import com.hazelcast.core.HazelcastInstance;
|
import com.hazelcast.core.HazelcastInstance;
|
||||||
import com.hazelcast.instance.GroupProperty;
|
import com.hazelcast.instance.GroupProperty;
|
||||||
@ -41,10 +38,13 @@ public class ServiceCacheConfiguration {
|
|||||||
|
|
||||||
private static final String HAZELCAST_CLUSTER_NAME = "hazelcast";
|
private static final String HAZELCAST_CLUSTER_NAME = "hazelcast";
|
||||||
|
|
||||||
@Value("${cache.device_credentials.max_size}")
|
@Value("${cache.device_credentials.max_size.size}")
|
||||||
private Integer deviceCredentialsCacheMaxSize;
|
private Integer cacheDeviceCredentialsMaxSizeSize;
|
||||||
|
@Value("${cache.device_credentials.max_size.policy}")
|
||||||
|
private String cacheDeviceCredentialsMaxSizePolicy;
|
||||||
@Value("${cache.device_credentials.time_to_live}")
|
@Value("${cache.device_credentials.time_to_live}")
|
||||||
private Integer deviceCredentialsCacheTTL;
|
private Integer cacheDeviceCredentialsTTL;
|
||||||
|
|
||||||
|
|
||||||
@Value("${zk.enabled}")
|
@Value("${zk.enabled}")
|
||||||
private boolean zkEnabled;
|
private boolean zkEnabled;
|
||||||
@ -69,8 +69,13 @@ public class ServiceCacheConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MapConfig deviceCredentialsCacheConfig = new MapConfig(CacheConstants.DEVICE_CREDENTIALS_CACHE);
|
MapConfig deviceCredentialsCacheConfig = new MapConfig(CacheConstants.DEVICE_CREDENTIALS_CACHE);
|
||||||
deviceCredentialsCacheConfig.setTimeToLiveSeconds(deviceCredentialsCacheTTL);
|
deviceCredentialsCacheConfig.setTimeToLiveSeconds(cacheDeviceCredentialsTTL);
|
||||||
deviceCredentialsCacheConfig.setMaxSizeConfig(new MaxSizeConfig(deviceCredentialsCacheMaxSize, MaxSizeConfig.MaxSizePolicy.PER_NODE));
|
deviceCredentialsCacheConfig.setEvictionPolicy(EvictionPolicy.LRU);
|
||||||
|
deviceCredentialsCacheConfig.setMaxSizeConfig(
|
||||||
|
new MaxSizeConfig(
|
||||||
|
cacheDeviceCredentialsMaxSizeSize,
|
||||||
|
MaxSizeConfig.MaxSizePolicy.valueOf(cacheDeviceCredentialsMaxSizePolicy))
|
||||||
|
);
|
||||||
config.addMapConfig(deviceCredentialsCacheConfig);
|
config.addMapConfig(deviceCredentialsCacheConfig);
|
||||||
|
|
||||||
return Hazelcast.newHazelcastInstance(config);
|
return Hazelcast.newHazelcastInstance(config);
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
cache.enabled=false
|
cache.enabled=false
|
||||||
cache.device_credentials.time_to_live=3600
|
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.enabled=false
|
||||||
zk.url=localhost:2181
|
zk.url=localhost:2181
|
||||||
|
|||||||
@ -26,18 +26,18 @@ services:
|
|||||||
links:
|
links:
|
||||||
- cassandra:db
|
- cassandra:db
|
||||||
- zookeeper:zk
|
- zookeeper:zk
|
||||||
- db-schema:db-schema
|
- thingsboard-db-schema:thingsboard-db-schema
|
||||||
volumes:
|
volumes:
|
||||||
- "../application/target/thingsboard.deb:/root/thingsboard.deb"
|
- "../application/target/thingsboard.deb:/root/thingsboard.deb"
|
||||||
env_file:
|
env_file:
|
||||||
- thingsboard.env
|
- thingsboard.env
|
||||||
entrypoint: ./run_web_app.sh
|
entrypoint: ./run_thingsboard.sh
|
||||||
db-schema:
|
thingsboard-db-schema:
|
||||||
build: db-schema
|
build: thingsboard-db-schema
|
||||||
links:
|
links:
|
||||||
- cassandra:db
|
- cassandra:db
|
||||||
env_file:
|
env_file:
|
||||||
- db-schema.env
|
- thingsboard-db-schema.env
|
||||||
volumes:
|
volumes:
|
||||||
- "../dao/src/main/resources/schema.cql:/root/schema.cql"
|
- "../dao/src/main/resources/schema.cql:/root/schema.cql"
|
||||||
- "../dao/src/main/resources/demo-data.cql:/root/demo-data.cql"
|
- "../dao/src/main/resources/demo-data.cql:/root/demo-data.cql"
|
||||||
|
|||||||
@ -14,10 +14,10 @@
|
|||||||
# limitations under the License.
|
# 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
|
WORKDIR /root
|
||||||
|
|||||||
@ -21,16 +21,24 @@ dpkg -i /root/thingsboard.deb
|
|||||||
reachable=0
|
reachable=0
|
||||||
while [ $reachable -eq 0 ];
|
while [ $reachable -eq 0 ];
|
||||||
do
|
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
|
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 ];
|
if [ "$?" -ne 0 ];
|
||||||
then
|
then
|
||||||
echo "db-schema container completed!"
|
echo "thingsboard-db-schema container completed!"
|
||||||
reachable=1
|
reachable=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Starting 'Thingsboard' service..."
|
# Copying env variables into conf files
|
||||||
thingsboard start
|
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