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