改变 OsCache 缓存文件存储目录
2007-03-12 09:55
253 查看
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]一、修改 DiskPersistenceListener.java 文件:[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]package com.jh.xh.hibernate.oscache;[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]import com.opensymphony.oscache.plugins.diskpersistence.AbstractDiskPersistenceListener;[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]public class DiskPersistenceListener extends AbstractDiskPersistenceListener {[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] private static final long serialVersionUID = 1L;[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] private static final String CHARS_TO_CONVERT = "./\\ :;\"\'_?";[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] public char[] getCacheFileName(String key) { // <1> protected 改为 public[/align]
[align=left] if ((key == null) || (key.length() == 0)) {[/align]
[align=left] throw new IllegalArgumentException("Invalid key '" + key[/align]
[align=left] + "' specified to getCacheFile.");[/align]
[align=left] }[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] char[] chars = key.toCharArray();[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] StringBuffer sb = new StringBuffer(chars.length + 10);[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] for (int i = 0; i < chars.length; i++) {[/align]
[align=left] char c = chars;[/align]
[align=left] int pos = [i]CHARS_TO_CONVERT.indexOf(c);[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] if (pos >= 0) {[/align]
[align=left] sb.append('_');[/align]
[align=left] sb.append(i);[/align]
[align=left] } else {[/align]
[align=left] sb.append(c);[/align]
[align=left] }[/align]
[align=left] if (i % 3 == 2) { // <2> 添加此行代码,每三个字符做为目录名;[/align]
[align=left] sb.append('/');[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] sb.append('0');[/align]
[align=left] char[] fileChars = new char[sb.length()];[/align]
[align=left] sb.getChars(0, fileChars.length, fileChars, 0);[/align]
[align=left] return fileChars;[/align]
[align=left] }[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] public static void main(String str[]) {[/align]
[align=left] System.out.println(new DiskPersistenceListener().getCacheFileName("12341dfkaklakasdfadklskadllkklasdf"));[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] }[/align]
[align=left]}[/align]
<!--[if !supportEmptyParas]--> <!--[endif]-->
<!--[if !supportEmptyParas]--> <!--[endif]-->
二、修改 oscache.properties 文件:
cache.persistence.class=com.jh.xh.hibernate.oscache.DiskPersistenceListener
<!--[if !supportEmptyParas]--> <!--[endif]-->本文出自 “霜之哀伤” 博客,请务必保留此出处http://maomao.blog.51cto.com/115985/20227
[align=left]一、修改 DiskPersistenceListener.java 文件:[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]package com.jh.xh.hibernate.oscache;[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]import com.opensymphony.oscache.plugins.diskpersistence.AbstractDiskPersistenceListener;[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left]public class DiskPersistenceListener extends AbstractDiskPersistenceListener {[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] private static final long serialVersionUID = 1L;[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] private static final String CHARS_TO_CONVERT = "./\\ :;\"\'_?";[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] public char[] getCacheFileName(String key) { // <1> protected 改为 public[/align]
[align=left] if ((key == null) || (key.length() == 0)) {[/align]
[align=left] throw new IllegalArgumentException("Invalid key '" + key[/align]
[align=left] + "' specified to getCacheFile.");[/align]
[align=left] }[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] char[] chars = key.toCharArray();[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] StringBuffer sb = new StringBuffer(chars.length + 10);[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] for (int i = 0; i < chars.length; i++) {[/align]
[align=left] char c = chars;[/align]
[align=left] int pos = [i]CHARS_TO_CONVERT.indexOf(c);[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] if (pos >= 0) {[/align]
[align=left] sb.append('_');[/align]
[align=left] sb.append(i);[/align]
[align=left] } else {[/align]
[align=left] sb.append(c);[/align]
[align=left] }[/align]
[align=left] if (i % 3 == 2) { // <2> 添加此行代码,每三个字符做为目录名;[/align]
[align=left] sb.append('/');[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] sb.append('0');[/align]
[align=left] char[] fileChars = new char[sb.length()];[/align]
[align=left] sb.getChars(0, fileChars.length, fileChars, 0);[/align]
[align=left] return fileChars;[/align]
[align=left] }[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] public static void main(String str[]) {[/align]
[align=left] System.out.println(new DiskPersistenceListener().getCacheFileName("12341dfkaklakasdfadklskadllkklasdf"));[/align]
[align=left]<!--[if !supportEmptyParas]--> <!--[endif]-->[/align]
[align=left] }[/align]
[align=left]}[/align]
<!--[if !supportEmptyParas]--> <!--[endif]-->
<!--[if !supportEmptyParas]--> <!--[endif]-->
二、修改 oscache.properties 文件:
cache.persistence.class=com.jh.xh.hibernate.oscache.DiskPersistenceListener
<!--[if !supportEmptyParas]--> <!--[endif]-->本文出自 “霜之哀伤” 博客,请务必保留此出处http://maomao.blog.51cto.com/115985/20227
相关文章推荐
- 改变chrome缓存文件目录
- 怎么修改Outlook2010 PST数据文件位置(默认邮件存储目录)
- 遍历指定目录,并存储目录内所有文件属性信息的php代码
- 【phpcms-v9】缓存目录caches下的各个文件的作用
- Emacs-003-Windows下寻找Emacs配置文件的默认存储目录
- [ios][swift]Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)
- 在/sys目录下建立一个文件,并且实现信息的读取和存储
- :chgrp命令(改变文件或目录所属的组)
- 指定目录下的java文件存储到一个Txt文本文件中
- android 内部缓存器(手机自带的存储空间中的当前包文件的路径)
- 自定义存储目录文件txt,写入文字并输出已输入的文字
- 解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
- Android数据存储之——操作raw和assets目录下的文件
- Windows10下更改网页缓存文件目录提高系统运行速度
- 【phpcms-v9】缓存目录caches下的各个文件的作用
- 使用tmpfs作缓存、临时文件存储加速
- 【phpcms-v9】缓存目录caches下的各个文件的作用
- MySQL: 改变Homebrew安装MySQL/MariaDB的数据库文件目录
- 手机内部文件存储——assets目录
- 改变文件或目录权限命令:chmod