mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #968 from sameeragunarathne/master
fixes https://github.com/wso2/product-iots/issues/1417
This commit is contained in:
commit
455f56405b
@ -26,6 +26,7 @@ public class DeviceCacheConfiguration {
|
|||||||
|
|
||||||
private boolean isEnabled;
|
private boolean isEnabled;
|
||||||
private int expiryTime;
|
private int expiryTime;
|
||||||
|
private long capacity;
|
||||||
|
|
||||||
@XmlElement(name = "Enable", required = true)
|
@XmlElement(name = "Enable", required = true)
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
@ -44,4 +45,13 @@ public class DeviceCacheConfiguration {
|
|||||||
public void setExpiryTime(int expiryTime) {
|
public void setExpiryTime(int expiryTime) {
|
||||||
this.expiryTime = expiryTime;
|
this.expiryTime = expiryTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "Capacity", required = true)
|
||||||
|
public long getCapacity() {
|
||||||
|
return capacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCapacity(long capacity) {
|
||||||
|
this.capacity = capacity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import org.apache.commons.logging.Log;
|
|||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.wso2.carbon.base.MultitenantConstants;
|
import org.wso2.carbon.base.MultitenantConstants;
|
||||||
|
import org.wso2.carbon.caching.impl.CacheImpl;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
|
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
@ -492,6 +493,7 @@ public final class DeviceManagerUtil {
|
|||||||
public static void initializeDeviceCache() {
|
public static void initializeDeviceCache() {
|
||||||
DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig();
|
DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig();
|
||||||
int deviceCacheExpiry = config.getDeviceCacheConfiguration().getExpiryTime();
|
int deviceCacheExpiry = config.getDeviceCacheConfiguration().getExpiryTime();
|
||||||
|
long deviceCacheCapacity = config.getDeviceCacheConfiguration().getCapacity();
|
||||||
CacheManager manager = getCacheManager();
|
CacheManager manager = getCacheManager();
|
||||||
if (config.getDeviceCacheConfiguration().isEnabled()) {
|
if (config.getDeviceCacheConfiguration().isEnabled()) {
|
||||||
if(!isDeviceCacheInitialized) {
|
if(!isDeviceCacheInitialized) {
|
||||||
@ -502,6 +504,10 @@ public final class DeviceManagerUtil {
|
|||||||
setExpiry(CacheConfiguration.ExpiryType.MODIFIED, new CacheConfiguration.Duration(TimeUnit.SECONDS,
|
setExpiry(CacheConfiguration.ExpiryType.MODIFIED, new CacheConfiguration.Duration(TimeUnit.SECONDS,
|
||||||
deviceCacheExpiry)).setExpiry(CacheConfiguration.ExpiryType.ACCESSED, new CacheConfiguration.
|
deviceCacheExpiry)).setExpiry(CacheConfiguration.ExpiryType.ACCESSED, new CacheConfiguration.
|
||||||
Duration(TimeUnit.SECONDS, deviceCacheExpiry)).setStoreByValue(true).build();
|
Duration(TimeUnit.SECONDS, deviceCacheExpiry)).setStoreByValue(true).build();
|
||||||
|
if(deviceCacheCapacity > 0 ) {
|
||||||
|
((CacheImpl)(manager.<DeviceCacheKey, Device>getCache(DeviceManagementConstants.DEVICE_CACHE))).
|
||||||
|
setCapacity(deviceCacheCapacity);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
manager.<DeviceCacheKey, Device>getCache(DeviceManagementConstants.DEVICE_CACHE);
|
manager.<DeviceCacheKey, Device>getCache(DeviceManagementConstants.DEVICE_CACHE);
|
||||||
}
|
}
|
||||||
@ -512,6 +518,8 @@ public final class DeviceManagerUtil {
|
|||||||
setExpiry(CacheConfiguration.ExpiryType.MODIFIED, new CacheConfiguration.Duration(TimeUnit.SECONDS,
|
setExpiry(CacheConfiguration.ExpiryType.MODIFIED, new CacheConfiguration.Duration(TimeUnit.SECONDS,
|
||||||
deviceCacheExpiry)).setExpiry(CacheConfiguration.ExpiryType.ACCESSED, new CacheConfiguration.
|
deviceCacheExpiry)).setExpiry(CacheConfiguration.ExpiryType.ACCESSED, new CacheConfiguration.
|
||||||
Duration(TimeUnit.SECONDS, deviceCacheExpiry)).setStoreByValue(true).build();
|
Duration(TimeUnit.SECONDS, deviceCacheExpiry)).setStoreByValue(true).build();
|
||||||
|
((CacheImpl)(manager.<DeviceCacheKey, Device>getCache(DeviceManagementConstants.DEVICE_CACHE))).
|
||||||
|
setCapacity(deviceCacheCapacity);
|
||||||
} else {
|
} else {
|
||||||
Caching.getCacheManager().<DeviceCacheKey, Device>getCache(DeviceManagementConstants.DEVICE_CACHE);
|
Caching.getCacheManager().<DeviceCacheKey, Device>getCache(DeviceManagementConstants.DEVICE_CACHE);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,6 +77,7 @@
|
|||||||
<DeviceCacheConfiguration>
|
<DeviceCacheConfiguration>
|
||||||
<Enable>true</Enable>
|
<Enable>true</Enable>
|
||||||
<ExpiryTime>600</ExpiryTime>
|
<ExpiryTime>600</ExpiryTime>
|
||||||
|
<Capacity>10000</Capacity>
|
||||||
</DeviceCacheConfiguration>
|
</DeviceCacheConfiguration>
|
||||||
<CertificateCacheConfiguration>
|
<CertificateCacheConfiguration>
|
||||||
<Enable>true</Enable>
|
<Enable>true</Enable>
|
||||||
|
|||||||
@ -9,6 +9,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE (
|
|||||||
)ENGINE = InnoDB;
|
)ENGINE = InnoDB;
|
||||||
|
|
||||||
CREATE INDEX IDX_DEVICE_TYPE ON DM_DEVICE_TYPE (NAME, PROVIDER_TENANT_ID);
|
CREATE INDEX IDX_DEVICE_TYPE ON DM_DEVICE_TYPE (NAME, PROVIDER_TENANT_ID);
|
||||||
|
CREATE INDEX IDX_DEVICE_NAME ON DM_DEVICE_TYPE (NAME);
|
||||||
|
CREATE INDEX IDX_DEVICE_TYPE_DEVICE_NAME ON DM_DEVICE_TYPE(ID, NAME);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS DM_GROUP (
|
CREATE TABLE IF NOT EXISTS DM_GROUP (
|
||||||
ID INTEGER AUTO_INCREMENT NOT NULL,
|
ID INTEGER AUTO_INCREMENT NOT NULL,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user