当前位置: 编程技术>移动开发
本页文章导读:
▪缓存的处置 缓存的处理
缓存的处理
/**
* $Id$
* Copyright 2009-2010 Oak Pacific Interactive. All rights reserved.
*/
package com.xiaonei.wap.fuxi.service.impl;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commo.........
▪ Andorid Ubuntu 11.4 中装配sun-java5-jdk Andorid Ubuntu 11.4 中安装sun-java5-jdk
由于Ubuntu 高版本不再支持sun-java5-jdk,所以使用自带的更新工具是无法更新到 sun-java5-jdk的,因此需要手动添加更新源,我使用的是 163的镜像源,速度很快
.........
▪ 普遍的广泛的规定发给发的 广泛的广泛的规定发给发的
给法国的风格的风格
......
[1]缓存的处置
来源: 互联网 发布时间: 2014-02-18
缓存的处理
缓存的处理
缓存的处理
/** * $Id$ * Copyright 2009-2010 Oak Pacific Interactive. All rights reserved. */ package com.xiaonei.wap.fuxi.service.impl; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import com.renren.xcache.XCache; import com.xiaonei.wap.framework.cache.XCacheManager2; import com.xiaonei.wap.fuxi.dao.IUserAccessFlowDAO; import com.xiaonei.wap.fuxi.model.UserAccessFlow; import com.xiaonei.wap.fuxi.service.IUserAccessService; /** * * @author <a href="mailto:qiao.wang@renren-inc.com">王侨</a> * @createTime 2011-7-21下午02:37:12 */ public class UserAccessServiceImpl extends BaseBusinessService implements IUserAccessService, InitializingBean { /** * Logger for this class */ private final Log logger = LogFactory.getLog(UserAccessServiceImpl.class); private static final String CACHE_TYPE_USER_ACCESS_FLOW = "user_access_flow"; // user access缓存时间,默认1天 private int userAccessDefaultCacheTime = XCache.EXPIRE_DAY * 1; @Autowired private IUserAccessFlowDAO userAccessFlowDAO; /** * 基础方法,根据 userId获取访问基本信息 * * @param userId * @return */ private UserAccessFlow getUserAccessFlow(int userId) { if (userId < 0) { return null; } //从缓存中取 XCacheManager2 cache = XCacheManager2.getCacheManager(CACHE_TYPE_USER_ACCESS_FLOW); UserAccessFlow userAccessFlow = cache.get(String.valueOf(userId), UserAccessFlow.class); if (userAccessFlow == null) { userAccessFlow = loadUserAccessFlowFromDb(userId); } return userAccessFlow; } /** * 从db中取一条userAccessFlow,放入缓存 * * @param userId * @return */ private UserAccessFlow loadUserAccessFlowFromDb(int userId) { UserAccessFlow userAccessFlow = userAccessFlowDAO.find(userId); if (userAccessFlow == null) { return null; } String key = String.valueOf(userId); //存入缓存 XCacheManager2 cache = XCacheManager2.getCacheManager(CACHE_TYPE_USER_ACCESS_FLOW); cache.save(key, userAccessFlow, UserAccessFlow.class, userAccessDefaultCacheTime); return userAccessFlow; } /** * 基础方法,向db中存入一条记录 * * @param userId * @param access * @return */ private long createUserAccess(int userId, int access) { if (userId < 0) { //取不到userId返回新版 return 0; } //第一次访问,db中无记录,将access,存入db UserAccessFlow userAccessFlow = buildUserAccessFlow(userId, access); if (userAccessFlow == null) { return 0; } long result = 0; try { result = userAccessFlowDAO.create(userAccessFlow); //新增数据后删除缓存 //XCacheManager2 cache = XCacheManager2.getCacheManager(CACHE_TYPE_USER_ACCESS_FLOW); //cache.delete(String.valueOf(userId), UserAccessFlow.class); } catch (Exception e) { logger.error("creatUserAccessFlow error, userId:" + userAccessFlow.getUserId(), e); } return result; } /** * 返回access的值0,旧版;1新版 * * @param userId * @param access */ @Override public int getUserAccess(int userId, int access) { if (userId < 0) { //取不到userId返回新版 return 1; } UserAccessFlow userAccess = getUserAccessFlow(userId); // 第一次访问,db中无记录,将access,存入db if (userAccess == null) { createUserAccess(userId, access); return access; } return userAccess.getAccess(); } @Override public int updateUserAccess(int userId, int access) { if (userId < 0) { //取不到userId返回新版 return 0; } UserAccessFlow userAccessFlow = buildUserAccessFlow(userId, access); if (userAccessFlow == null) { return 0; } int result = 0; try { //更新数据之前删除缓存 //XCacheManager2 cache = XCacheManager2.getCacheManager(CACHE_TYPE_USER_ACCESS_FLOW); //cache.delete(String.valueOf(userId), UserAccessFlow.class); result = userAccessFlowDAO.update(userAccessFlow); } catch (Exception e) { logger.error("updateUserAccessFlow error, userId:" + userAccessFlow.getUserId(), e); } return result; } /** * @param userId * @param access * @return */ private UserAccessFlow buildUserAccessFlow(int userId, int access) { UserAccessFlow userAccessFlow = new UserAccessFlow(); userAccessFlow.setAccess(access); userAccessFlow.setUserId(userId); userAccessFlow.setAddTime(new Date()); return userAccessFlow; } @Override public void afterPropertiesSet() throws Exception { Assert.notNull(userAccessFlowDAO, "userAccessFlowDAO is required!"); } }
[2] Andorid Ubuntu 11.4 中装配sun-java5-jdk
来源: 互联网 发布时间: 2014-02-18
Andorid Ubuntu 11.4 中安装sun-java5-jdk
由于Ubuntu 高版本不再支持sun-java5-jdk,所以使用自带的更新工具是无法更新到 sun-java5-jdk的,因此需要手动添加更新源,我使用的是 163的镜像源,速度很快
步骤如下:
1.运行命令 sudo gedit /etc/apt/sources.list
2.打开 sources.list 后在最后添加 deb http://mirrors.163.com/ubuntu/ hardy main multiverse 保存关闭
3.运行命令 sudo apt-get update
4.运行命令 sudo apt-get install sun-java5-jdk 就可以下载安装 java5
Ubuntu官方的文档如下:
如果你正在运行 Ubuntu,请尽量使用像 aptitude 或者 synaptic 一样的软件包管理器,代替人工手动操作的方式从这个网页下载并安装软件包。
您可以使用以下列表中的任何一个源镜像只要往您的 /etc/apt/sources.list 文件中像下面这样添加一行:
deb http://ubuntu.mirror.cambrium.nl/ubuntu/ hardy main multiverse
请使用最终确定的源镜像替换 ubuntu.mirror.cambrium.nl/ubuntu/ 。
[3] 普遍的广泛的规定发给发的
来源: 互联网 发布时间: 2014-02-18
广泛的广泛的规定发给发的
给法国的风格的风格
给法国的风格的风格
最新技术文章: