如何在 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.