1 17 18 package org.apache.geronimo.security.remoting.jmx; 19 20 import java.io.IOException ; 21 import java.net.URI ; 22 import java.net.URISyntaxException ; 23 import java.lang.reflect.Proxy ; 24 25 import org.apache.geronimo.security.jaas.server.JaasLoginServiceMBean; 26 27 28 33 public class JaasLoginServiceRemotingClient { 34 static public JaasLoginServiceMBean create(String host, int port) throws IllegalArgumentException { 35 URI target; 36 try { 37 target = new URI ("async", null, host, port, "/JMX", null, JaasLoginServiceRemotingServer.REQUIRED_OBJECT_NAME.getCanonicalName()); 38 return create(target); 39 } catch (URISyntaxException e) { 40 throw new IllegalArgumentException ("Bad host or port."); 41 } catch (IOException e) { 42 throw new RuntimeException ("IOException: "+e.getMessage(), e); 43 } 44 } 45 46 static public JaasLoginServiceMBean create(URI target) throws IOException , URISyntaxException { 47 48 ClassLoader cl = JaasLoginServiceMBean.class.getClassLoader(); 49 50 RequestChannelInterceptor remoteInterceptor = new RequestChannelInterceptor(target, cl); 52 Class [] interfaces = new Class []{JaasLoginServiceMBean.class}; 53 return (JaasLoginServiceMBean) Proxy.newProxyInstance(cl, interfaces, remoteInterceptor); 54 } 55 56 } 57 | Popular Tags |