3

ehcacheリモートサーバーでクリアするにはどうすればよいですか?

私のアプリケーションはステージング環境(ホスト111.22.3.44とポート)で実行されており、特定のアプリケーションに接続してアプリをクリア17000できるユーティリティメソッドを作成したいと考えています。このユーティリティは、LinuxだけでなくWindowsでも機能するはずです。host:portehcache

JConsole.exeステージサーバーで作成されたのキャッシュをフラッシュするためにユーティリティを使用しますehcacheが、プログラムで実行する必要がある状況があります。

4

1 に答える 1

5

Hurrey...:)ehcacheリモート環境でクリアするためのソリューションを入手しました。ehcacheここでは、ホスト名とポートで指定された特定のリモートマシンからフラッシュするJavaユーティリティメソッドを作成しました。

public void flushEhcache() throws IOException, NamingException,  MalformedObjectNameException, NullPointerException, AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException {
    String host = "111.22.3.44";
    String port = "16000";
    JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"
        + host + ":" + port + "/jmxrmi");
    JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
    MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();        
    ObjectName beanName = new ObjectName("net.sf.ehcache:type=CacheManager,name=Your  Application Name Here");        
    mbsc.invoke(beanName, "clearAll", new Object[0], new String[0]);
    System.out.println("Flushed out ehcache succesfully");
}
于 2012-10-03T13:20:32.253 に答える