package com.huawei.support.navigation.dao;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import com.huawei.support.cache.ICassCache;
import com.huawei.support.cache.impl.CacheConfigReader;
import com.huawei.support.cache.impl.CassCache;
import com.huawei.support.exception.ApplicationException;
@Service("navigationDaoCache")
public class NavigationDaoCache
{
private static Log sLog = LogFactory.getLog(CassCache.class);
private final static String CACHE_FUNCTION = "support.navigation.navigationdaocache";
private final static String NODE_DOC_LIST = ".node_doc_list";
private final static String NAVIGATOIN_CACHE = "navigationCache";
private boolean IS_USE_CACHE = true;
private final static long CACHE_LIFE_CYCLE = 10 * 60 * 1000;
@Autowired
@Qualifier("navigationDao")
private NavigationDao navigationDao;
@Autowired
@Qualifier("cassCache")
private ICassCache cache;
public NavigationDaoCache() throws ApplicationException
{
// 从配置文件中读取是否使用缓存的配置
IS_USE_CACHE = Boolean.parseBoolean(CacheConfigReader.getInstance()
.getPropertyFromBinding(NAVIGATOIN_CACHE));
}
/**
* 清除缓存对象数据
*/
public void clearCache() throws ApplicationException
{
try
{
Class c = this.getClass();
Method[] methods = c.getMethods();
for (int i = 0; i < methods.length; i++)
{
Method method = methods[i];
String methodStr = methods[i].getName();
if (method.getModifiers() == 1 && methodStr.startsWith("get"))
{
String cacheAreaName = CACHE_FUNCTION + "." + methodStr;
cache.remove(cacheAreaName);
}
}
}
catch (Exception e)
{
e.printStackTrace();
throw new ApplicationException(" clearCache error", e);
}
}
分享到:
相关推荐
4. `conf`:配置文件,如`cassandra.yaml`,用于设置Cassandra实例的行为。 5. `lib`:依赖的外部库文件。 6. `doc`:项目文档,包括用户指南和技术参考。 7. `scripts`:启动、停止和管理Cassandra的脚本。 ...
4. 集群部署与监控:可能包含Storm集群的配置和管理,以及Cassandra的集群扩展和监控工具的使用。 5. 故障恢复与容错机制:讲解Storm和Cassandra如何处理节点故障,保证服务连续性和数据一致性。 通过对这些源码的...
每个示例都应该是可读的,外部引用最少。 它们应该按顺序阅读(并试用),因为它们是相互建立的。 例子 聚合并保存 演示简单的连接和聚合。 为开发环境硬编码,连接到本地主机。 数据迁移 这是使用 Spark 在 ...
总的来说,Cassandra-Unit是一个强大的工具,它简化了在Junit测试中使用Cassandra的过程,提高了测试的质量和效率。通过深入理解其工作原理和使用方法,开发者能够更好地利用Cassandra进行高效、可靠的单元测试,...
1. **简单集成**:Apollon提供了一个简洁的API,使得Java开发者能够轻松地将Cassandra数据库集成到他们的应用中,无需关心底层的分布式系统细节。 2. **本地运行**:通过嵌入式模式,Apollon允许开发者在不启动独立...
1. **客户端协议解析**:这部分处理Cassandra与外部客户端之间的通信。当前版本中,Cassandra支持Avro和Thrift两种客户端接口,通过Socket协议作为网络层通信标准,再在此基础上封装一层应用层协议。这一设计确保了...
使用Apache Cassandra支持数据的长期持久性。 目录 安装 先决条件是 14.x和npm版本>=6.14 。 要安装流媒体经纪人: npm install streamr-broker --global 跑 将代理节点作为完整Streamr堆栈的一部分运行很方便。 ...
REST API示例 服务具有配置文件,其中包含: 服务端口监听 Cassandra服务器的地址 键空间名称。 如果不存在这样的密钥空间,则应用程序将创建带有必要表的新密钥空间。 外部依存关系: : 日志将写入标准输出。 ...
1. **源代码文件**:以.java为扩展名的文件,包含了Cassandra Monitor的实现,使用Java编程语言编写。这些文件通常按模块组织,如数据收集器、日志处理器、报警服务等。 2. **配置文件**:如cassandra.yaml或其他...
1. **自动配置**:Spring Boot 的一大亮点就是自动配置。它根据项目中的依赖来自动配置 beans。例如,如果项目中有 JPA 的依赖,Spring Boot 将会自动配置数据源、JPA 实现(如 Hibernate)和相应的事务管理器。 2....
1. **自动配置**:Spring Boot的核心特性之一是自动配置。基于`@SpringBootApplication`注解的类,框架会根据项目中的依赖自动配置Bean。例如,如果项目中有JDBC的依赖,那么Spring Boot会自动配置数据源和...
- **1.4.2 多实例MySQL启动与关闭方法示例** - 对于每个实例,使用类似的方法启动服务。 - 关闭时,需指定具体的实例名称或端口号。 #### 1.5 生产环境关闭MySQL的命令 在生产环境中,应避免使用强制命令关闭...
VMware是一款广泛使用的虚拟机软件,允许我们在一台物理机器上运行多个独立的操作系统实例。在VMware的官方网站(https://www.vmware.com/cn.html)上可以下载到适合您系统的最新版本。安装过程通常包括以下步骤: 1...
在Spark SQL 1.2版本中,一个重要的更新是引入了外部数据源API(External Data Source API)。这一API允许开发者定义新的输入源,极大地增强了Spark SQL处理不同格式数据的能力。以下是一些关键点: - **新特性**:...
Lagom-scala-sbt-standalone 构建一个Lagom项目(在Scala中)以在Lightbend Production Suite(aka ConductR)之外运行的基本示例。 它最初是从lagom-scala模板( sbt new lagom/lagom-scala.g8 )创建的,具有以下...
另一个示例是一个服务定期扫描远程hbase进行某些分析的情况。 由于服务之间相互依赖于彼此的数据存储,因此最终导致这些服务之间的紧密耦合。 如果您拥有主机服务,请考虑将数据从hbase移至cassandra hbase ,而...
- **从外部存储系统创建**:可以利用`textFile`等方法从HDFS、Cassandra、HBase等外部存储系统创建RDD。 ```scala val rdd2 = sc.textFile("hdfs://node1.itcast.cn:9000/words.txt") ``` #### RDD编程API - **...
- **1.1.6 初始化存储库**:Sqoop 使用一个外部存储库来存储作业和用户信息。 - **1.1.7 服务器生命周期管理**:了解如何启动、停止和管理 Sqoop 服务器。 - **1.2 客户端安装**:客户端可以安装在集群中的多个...
- 使用Spring Boot Admin进行应用实例的远程监控。 12. **部署和运行**: - 打包SpringBoot应用为可执行的JAR或WAR文件。 - 在Docker容器中部署SpringBoot应用。 - 使用云平台如Heroku、AWS Elastic Beanstalk...