001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.q2.qbean; 020 021import org.jpos.q2.QBeanSupport; 022import org.jpos.space.SpaceProxy; 023 024import javax.naming.InitialContext; 025import javax.naming.NamingException; 026import java.rmi.RemoteException; 027import java.util.Set; 028 029/** 030 * Remote Space Proxy Adaptor. 031 * 032 * @author Alwyn Schoeman 033 * @version $Revision$ $Date$ 034 */ 035 036public class SpaceProxyAdaptor 037 extends QBeanSupport 038 implements SpaceProxyAdaptorMBean 039{ 040 private SpaceProxy sp = null; 041 private String spaceName = null; 042 043 /** Default constructor. */ 044 public SpaceProxyAdaptor () { 045 super (); 046 } 047 048 protected void startService () throws RemoteException, NamingException { 049 if (spaceName == null) 050 sp = new SpaceProxy (); 051 else 052 sp = new SpaceProxy (spaceName); 053 InitialContext ctx = new InitialContext (); 054 ctx.rebind (getName (), sp); 055 } 056 057 protected void stopService () { 058 sp.shutdown (); 059 } 060 061 public synchronized void setSpaceName (String spaceName) { 062 this.spaceName = spaceName; 063 setAttr (getAttrs (), "spaceName", spaceName); 064 setModified (true); 065 } 066 067 public String getSpaceName () { 068 return spaceName; 069 } 070 071 public Set getKeys () { 072 return sp.getKeySet (); 073 } 074} 075 076