TreeCacheTesterBean.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.test.cache.bean; import org.jboss.cache.CacheException; import org.jboss.cache.TreeCache; import org.jboss.cache.lock.IsolationLevel; import javax.ejb.CreateException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; import java.util.Map; import java.util.Set; import java.util.Vector; /** * Proxy to the TreeCache MBean. Mainly used to be able to transport transactions from a test * client to a TreeCache. * * @version $Revision: 1.15.2.1 $ * @ejb.bean type="Stateful" * name="test/TreeCacheTester" * jndi-name="ejb/test/TreeCacheTester" * view-type="remote" * @ejb.transaction type="Supports" */ public class TreeCacheTesterBean implements SessionBean { TreeCache cache = null; /** * @throws CreateException * @ejb.create-method */ public void ejbCreate() throws CreateException { log("I'm being created"); } /** * @param cluster_name * @param props * @param caching_mode * @throws CreateException * @ejb.create-method */ public void ejbCreate(String cluster_name, String props, int caching_mode) throws CreateException { try { // cache=new TreeCache(cluster_name, props, 10000); cache = new TreeCache(); cache.setClusterName(cluster_name); cache.setClusterProperties(props); cache.setCacheMode(caching_mode); cache.setTransactionManagerLookupClass("org.jboss.cache.JBossTransactionManagerLookup"); cache.startService(); } catch (Exception e) { throw new CreateException(e.toString()); } } // /** // * // * @param name // * @ejb.create-method // */ // public void ejbCreate(String name) throws CreateException { // MBeanServer server=null; // ObjectName cache_service; // // try { // this.name=name; // cache_service=ObjectName.getInstance(name); // // // is this the right way to get hold of the JBoss MBeanServer ? // List servers=MBeanServerFactory.findMBeanServer(null); // if(servers == null || servers.size() == 0) // throw new CreateException("TreeCacheTesterBean.ejbCreate(): no MBeanServers found"); // server=(MBeanServer)servers.get(0); // cache=(TreeCacheMBean)MBeanProxy.create(TreeCacheMBean.class, cache_service, server); // } // catch(Exception ex) { // throw new CreateException(ex.toString()); // } // } public void ejbActivate() { } public void ejbPassivate() { } public void ejbRemove() { log("I'm being removed"); if (cache != null) { cache.stopService(); cache = null; } } public void setSessionContext(SessionContext ctx) { } /** * @return * @ejb.interface-method */ public Vector getMembers() { return cache.getMembers(); } /** * @param mode * @ejb.interface-method */ public void setCacheMode(int mode) throws Exception { cache.setCacheMode(mode); } /** * @param level * @ejb.interface-method */ public void setIsolationLevel(IsolationLevel level) { cache.setIsolationLevel(level); } /** * @param fqn * @return * @ejb.interface-method */ public Set getKeys(String fqn) throws CacheException { return cache.getKeys(fqn); } /** * @param fqn * @param key * @return * @ejb.interface-method */ public Object get(String fqn, String key) throws CacheException { return cache.get(fqn, key); } /** * @param fqn * @return * @ejb.interface-method */ public boolean exists(String fqn) { return cache.exists(fqn); } /** * @param fqn * @param data * @throws Exception * @ejb.interface-method */ public void put(String fqn, Map data) throws Exception { cache.put(fqn, data); } /** * @param fqn * @param key * @param value * @return * @throws Exception * @ejb.interface-method */ public Object put(String fqn, String key, Object value) throws Exception { return cache.put(fqn, key, value); } /** * @param fqn * @throws Exception * @ejb.interface-method */ public void remove(String fqn) throws Exception { cache.remove(fqn); } /** * @param fqn * @param key * @return * @throws Exception * @ejb.interface-method */ public Object remove(String fqn, String key) throws Exception { return cache.remove(fqn, key); } /** * @param fqn * @ejb.interface-method */ public void releaseAllLocks(String fqn) { cache.releaseAllLocks(fqn); } /** * @param fqn * @return * @ejb.interface-method */ public String print(String fqn) { return cache.print(fqn); } /** * @param fqn * @return * @ejb.interface-method */ public Set getChildrenNames(String fqn) throws CacheException { return cache.getChildrenNames(fqn); } /** * @return * @ejb.interface-method */ public String printDetails() { return cache.printDetails(); } /** * @return * @ejb.interface-method */ public String printLockInfo() { return cache.printLockInfo(); } /** * @ejb.interface-method * @param members * @param method * @param args * @param synchronous * @param exclude_self * @param timeout * @return * @throws Exception */ // public List callRemoteMethods(Vector members, Method method, Object[] args, // boolean synchronous, boolean exclude_self, // long timeout) throws Exception { // return cache.callRemoteMethods(members, method, args, synchronous, // exclude_self, timeout); // } /** * @param members * @param method_name * @param types * @param args * @param synchronous * @param exclude_self * @param timeout * @return * @throws Exception * @ejb.interface-method */ // public List callRemoteMethods(Vector members, String method_name, Class[] types, // Object[] args, boolean synchronous, // boolean exclude_self, long timeout) throws Exception { // return cache.callRemoteMethods(members, method_name, types, args, // synchronous, exclude_self, timeout); // } private void log(String msg) { System.out.println("-- [" + Thread.currentThread().getName() + "]: " + msg); } }
TreeCacheTesterBean.java |