如何在 java Web 应用程序中使用 memcached 客户端,特别是在 Struts 2 运行 on tomcat 中?
How to use memcached client in java web application specially in Struts 2 which is running on tomcat?
public class MemCacheClientInit {
static MemcachedClient mcc = null;
static String ipAdderss = "127.0.0.1";
static int port = 11211;
public static boolean isMemCacheInit = false;
public static MemcachedClient getInstance() {
if (mcc == null) {
try {
isMemCacheInit = initMemServer();
mcc = new MemcachedClient(new InetSocketAddress(ipAdderss, port));
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return mcc;
}
private static boolean initMemServer() {
try {
String[] servers = {"localhost:11211",};
Integer[] weights = {1};
SchoonerSockIOPool pool = SchoonerSockIOPool.getInstance();
pool.setServers(servers);
pool.setWeights(weights);
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);
pool.initialize();
pool.setHashingAlg(SchoonerSockIOPool.NEW_COMPAT_HASH);
return true;
}
catch (Exception ex) {
return false;
}
}
}
我 运行 这段代码直接来自我的 DAO 并在 Memcache 中设置对象,在上面的 InitMemServer
方法中的代码片段中,同时获取 SchoonerSockIOPool
的实例它正在抛出invocationTarget
异常。
I got the answer it was in the pom.xml
<dependency>
<groupId>spy</groupId>
<artifactId>spymemcached</artifactId>
<version>2.8.1</version>
<scope>provided</scope>
</dependency>
I have given scope as provided that should be compile.
public class MemCacheClientInit {
static MemcachedClient mcc = null;
static String ipAdderss = "127.0.0.1";
static int port = 11211;
public static boolean isMemCacheInit = false;
public static MemcachedClient getInstance() {
if (mcc == null) {
try {
isMemCacheInit = initMemServer();
mcc = new MemcachedClient(new InetSocketAddress(ipAdderss, port));
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return mcc;
}
private static boolean initMemServer() {
try {
String[] servers = {"localhost:11211",};
Integer[] weights = {1};
SchoonerSockIOPool pool = SchoonerSockIOPool.getInstance();
pool.setServers(servers);
pool.setWeights(weights);
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);
pool.initialize();
pool.setHashingAlg(SchoonerSockIOPool.NEW_COMPAT_HASH);
return true;
}
catch (Exception ex) {
return false;
}
}
}
我 运行 这段代码直接来自我的 DAO 并在 Memcache 中设置对象,在上面的 InitMemServer
方法中的代码片段中,同时获取 SchoonerSockIOPool
的实例它正在抛出invocationTarget
异常。
I got the answer it was in the pom.xml
<dependency>
<groupId>spy</groupId>
<artifactId>spymemcached</artifactId>
<version>2.8.1</version>
<scope>provided</scope>
</dependency>
I have given scope as provided that should be compile.