MemcachedUtil get时候报RuntimeException

z961652881 2015-05-19 02:30:16

java.lang.RuntimeException: Unable to find proto buffer class
at com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:775)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1056)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1765)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at com.schooner.MemCached.ObjectTransCoder.decode(Unknown Source)
at com.schooner.MemCached.AscIIClient.get(Unknown Source)
at com.schooner.MemCached.AscIIClient.get(Unknown Source)
at com.schooner.MemCached.AscIIClient.get(Unknown Source)
at com.danga.MemCached.MemCachedClient.get(Unknown Source)
at com.limboworks.lib.biz.util.JavaMemcachedUtil.get(JavaMemcachedUtil.java:106)
at test.com.soccer.biz.util.TestMemcachedUtil.main(TestMemcachedUtil.java:38)
Caused by: java.lang.ClassNotFoundException: com.soccer.biz.protocol.MsgProtos$MsgRes
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:768)
... 15 more


public static void main(String[] args) {
MemcachedUtil memcachedUtil = new JavaMemcachedUtil();
memcachedUtil.setServer("192.168.1.201:11211");
memcachedUtil.setWeight("3");
try {
memcachedUtil.init();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String key = "MSG_10012";
System.out.println(memcachedUtil.get(key));
}

这是初始化的时候,奇怪的是我在另一个项目里面复制过来的,原项目里的可以正常获取,而我新项目里的有数据时就报了上面的错误,两个项目里的MemcachedUtil 和JavaMemcachedUtil都一样,就是包名不一样
...全文
99 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
z961652881 2015-05-19
  • 打赏
  • 举报
回复

package com.masterofsoccer.manager.biz.util;

import java.util.Date;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;


public class JavaMemcachedUtil implements MemcachedUtil {

	/**memcached客户端单例*/
	private static MemCachedClient cachedClient = new MemCachedClient();
	
	public static final int DAY = 24 * 3600;
	public static final int HALF_DAY = 12 * 3600;

	private String server;
	private String weight;
	
	public void init() {
		String[] servers = server.split(",");
		String[] temps = weight.split(",");
		Integer[] weights = new Integer[temps.length];
		for(int i=0; i<temps.length; i++) {
			weights[i] = Integer.valueOf(temps[i]);
		}
		//获取连接池的实例
        SockIOPool pool = SockIOPool.getInstance();
        //服务器列表及其权重
        //String[] servers = {"192.168.1.50:11211"};
        //Integer[] weights = {3};
        //设置服务器信息
        pool.setServers(servers);
        pool.setWeights(weights);
        //设置初始连接数、最小连接数、最大连接数、最大处理时间
        pool.setInitConn(10);
        pool.setMinConn(10);
        pool.setMaxConn(1000);
        pool.setMaxIdle(1000*60*60);
        //设置连接池守护线程的睡眠时间
        pool.setMaintSleep(60);
        //设置TCP参数,连接超时
        pool.setNagle(false);
        pool.setSocketTO(60);
        pool.setSocketConnectTO(0);
        //初始化并启动连接池
        pool.initialize();
        //压缩设置,超过指定大小的都压缩
//		cachedClient.setCompressEnable(true);
//		cachedClient.setCompressThreshold(1024*1024);
	}
	public JavaMemcachedUtil(){
	}
    public String getServer() {
		return server;
	}
	public void setServer(String server) {
		this.server = server;
	}
    public String getWeight() {
		return weight;
	}
	public void setWeight(String weight) {
		this.weight = weight;
	}
/*	public boolean add(String key, Object value) {
        return cachedClient.add(key, value);
    }
    *//***
     * 加入缓存
     * @param key
     * @param value
     * @param expire 过期时间(秒)
     * @return
     *//*
    public boolean add(String key, Object value, Integer expire) {
        return cachedClient.add(key, value, new Date(expire * 1000));
    }*/
    public boolean put(String key, Object value) {
        return cachedClient.set(key, value);
    }
    /**
     * 加入缓存
     * @param key
     * @param value
     * @param expire 过期时间(秒)
     * @return
     */
    public boolean put(String key, Object value, int expire) {
        return cachedClient.set(key, value, new Date(expire * 1000));
    }
    public boolean replace(String key, Object value) {
        return cachedClient.replace(key, value);
    }
    /**
     * 覆盖缓存
     * @param key
     * @param value
     * @param expire 过期时间(秒)
     * @return
     */
    public boolean replace(String key, Object value, int expire) {
        return cachedClient.replace(key, value, new Date(expire * 1000));
    }
    public Object get(String key) {
        return cachedClient.get(key);
    }
    public boolean delete(String key) {
    	return cachedClient.delete(key);
    }

	
}

这是初始化的类

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧