org.apache.felix.mosgi.jmx.rmiconnector.mx4j.remote.rmi
Class RMIConnectionInvoker

java.lang.Object
  extended by org.apache.felix.mosgi.jmx.rmiconnector.mx4j.remote.rmi.RMIConnectionInvoker
All Implemented Interfaces:
Closeable, Remote, javax.management.remote.rmi.RMIConnection

public class RMIConnectionInvoker
extends Object
implements javax.management.remote.rmi.RMIConnection

An RMIConnection that "converts" remote calls to MBeanServer calls, performing unwrapping of parameters and/or the needed actions.

Version:
$Revision: 1.1.1.1 $
Author:
Simone Bordet, Brian Scully
See Also:
mx4j.remote.rmi.ClientInvoker

Constructor Summary
RMIConnectionInvoker(javax.management.MBeanServer server, ClassLoader defaultLoader, Map environment)
           
 
Method Summary
 void addNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegate)
           
 Integer[] addNotificationListeners(javax.management.ObjectName[] names, MarshalledObject[] filters, Subject[] delegates)
           
 void close()
           
 javax.management.ObjectInstance createMBean(String className, javax.management.ObjectName name, MarshalledObject params, String[] signature, Subject delegate)
           
 javax.management.ObjectInstance createMBean(String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegate)
           
 javax.management.ObjectInstance createMBean(String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, Subject delegate)
           
 javax.management.ObjectInstance createMBean(String className, javax.management.ObjectName name, Subject delegate)
           
 javax.management.remote.NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout)
           
 Object getAttribute(javax.management.ObjectName name, String attribute, Subject delegate)
           
 javax.management.AttributeList getAttributes(javax.management.ObjectName name, String[] attributes, Subject delegate)
           
 String getConnectionId()
           
 String getDefaultDomain(Subject delegate)
           
 String[] getDomains(Subject delegate)
           
 Integer getMBeanCount(Subject delegate)
           
 javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName name, Subject delegate)
           
 javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName name, Subject delegate)
           
 Object invoke(javax.management.ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegate)
           
 boolean isInstanceOf(javax.management.ObjectName name, String className, Subject delegate)
           
 boolean isRegistered(javax.management.ObjectName name, Subject delegate)
           
 Set queryMBeans(javax.management.ObjectName name, MarshalledObject query, Subject delegate)
           
 Set queryNames(javax.management.ObjectName name, MarshalledObject query, Subject delegate)
           
 void removeNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegate)
           
 void removeNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, Subject delegate)
           
 void removeNotificationListeners(javax.management.ObjectName name, Integer[] listenerIDs, Subject delegate)
           
 void setAttribute(javax.management.ObjectName name, MarshalledObject attribute, Subject delegate)
           
 javax.management.AttributeList setAttributes(javax.management.ObjectName name, MarshalledObject attributes, Subject delegate)
           
 void unregisterMBean(javax.management.ObjectName name, Subject delegate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RMIConnectionInvoker

public RMIConnectionInvoker(javax.management.MBeanServer server,
                            ClassLoader defaultLoader,
                            Map environment)
Method Detail

getConnectionId

public String getConnectionId()
                       throws IOException
Specified by:
getConnectionId in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Specified by:
close in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

createMBean

public javax.management.ObjectInstance createMBean(String className,
                                                   javax.management.ObjectName name,
                                                   Subject delegate)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException,
                                                   IOException
Specified by:
createMBean in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
IOException

createMBean

public javax.management.ObjectInstance createMBean(String className,
                                                   javax.management.ObjectName name,
                                                   javax.management.ObjectName loaderName,
                                                   Subject delegate)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException,
                                                   javax.management.InstanceNotFoundException,
                                                   IOException
Specified by:
createMBean in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
javax.management.InstanceNotFoundException
IOException

createMBean

public javax.management.ObjectInstance createMBean(String className,
                                                   javax.management.ObjectName name,
                                                   MarshalledObject params,
                                                   String[] signature,
                                                   Subject delegate)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException,
                                                   IOException
Specified by:
createMBean in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
IOException

createMBean

public javax.management.ObjectInstance createMBean(String className,
                                                   javax.management.ObjectName name,
                                                   javax.management.ObjectName loaderName,
                                                   MarshalledObject params,
                                                   String[] signature,
                                                   Subject delegate)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException,
                                                   javax.management.InstanceNotFoundException,
                                                   IOException
Specified by:
createMBean in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
javax.management.InstanceNotFoundException
IOException

unregisterMBean

public void unregisterMBean(javax.management.ObjectName name,
                            Subject delegate)
                     throws javax.management.InstanceNotFoundException,
                            javax.management.MBeanRegistrationException,
                            IOException
Specified by:
unregisterMBean in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.MBeanRegistrationException
IOException

getObjectInstance

public javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName name,
                                                         Subject delegate)
                                                  throws javax.management.InstanceNotFoundException,
                                                         IOException
Specified by:
getObjectInstance in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
IOException

queryMBeans

public Set queryMBeans(javax.management.ObjectName name,
                       MarshalledObject query,
                       Subject delegate)
                throws IOException
Specified by:
queryMBeans in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

queryNames

public Set queryNames(javax.management.ObjectName name,
                      MarshalledObject query,
                      Subject delegate)
               throws IOException
Specified by:
queryNames in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

isRegistered

public boolean isRegistered(javax.management.ObjectName name,
                            Subject delegate)
                     throws IOException
Specified by:
isRegistered in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

getMBeanCount

public Integer getMBeanCount(Subject delegate)
                      throws IOException
Specified by:
getMBeanCount in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

getAttribute

public Object getAttribute(javax.management.ObjectName name,
                           String attribute,
                           Subject delegate)
                    throws javax.management.MBeanException,
                           javax.management.AttributeNotFoundException,
                           javax.management.InstanceNotFoundException,
                           javax.management.ReflectionException,
                           IOException
Specified by:
getAttribute in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.MBeanException
javax.management.AttributeNotFoundException
javax.management.InstanceNotFoundException
javax.management.ReflectionException
IOException

getAttributes

public javax.management.AttributeList getAttributes(javax.management.ObjectName name,
                                                    String[] attributes,
                                                    Subject delegate)
                                             throws javax.management.InstanceNotFoundException,
                                                    javax.management.ReflectionException,
                                                    IOException
Specified by:
getAttributes in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.ReflectionException
IOException

setAttribute

public void setAttribute(javax.management.ObjectName name,
                         MarshalledObject attribute,
                         Subject delegate)
                  throws javax.management.InstanceNotFoundException,
                         javax.management.AttributeNotFoundException,
                         javax.management.InvalidAttributeValueException,
                         javax.management.MBeanException,
                         javax.management.ReflectionException,
                         IOException
Specified by:
setAttribute in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.AttributeNotFoundException
javax.management.InvalidAttributeValueException
javax.management.MBeanException
javax.management.ReflectionException
IOException

setAttributes

public javax.management.AttributeList setAttributes(javax.management.ObjectName name,
                                                    MarshalledObject attributes,
                                                    Subject delegate)
                                             throws javax.management.InstanceNotFoundException,
                                                    javax.management.ReflectionException,
                                                    IOException
Specified by:
setAttributes in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.ReflectionException
IOException

invoke

public Object invoke(javax.management.ObjectName name,
                     String operationName,
                     MarshalledObject params,
                     String[] signature,
                     Subject delegate)
              throws javax.management.InstanceNotFoundException,
                     javax.management.MBeanException,
                     javax.management.ReflectionException,
                     IOException
Specified by:
invoke in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.MBeanException
javax.management.ReflectionException
IOException

getDefaultDomain

public String getDefaultDomain(Subject delegate)
                        throws IOException
Specified by:
getDefaultDomain in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

getDomains

public String[] getDomains(Subject delegate)
                    throws IOException
Specified by:
getDomains in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException

getMBeanInfo

public javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName name,
                                               Subject delegate)
                                        throws javax.management.InstanceNotFoundException,
                                               javax.management.IntrospectionException,
                                               javax.management.ReflectionException,
                                               IOException
Specified by:
getMBeanInfo in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.IntrospectionException
javax.management.ReflectionException
IOException

isInstanceOf

public boolean isInstanceOf(javax.management.ObjectName name,
                            String className,
                            Subject delegate)
                     throws javax.management.InstanceNotFoundException,
                            IOException
Specified by:
isInstanceOf in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
IOException

addNotificationListener

public void addNotificationListener(javax.management.ObjectName name,
                                    javax.management.ObjectName listener,
                                    MarshalledObject filter,
                                    MarshalledObject handback,
                                    Subject delegate)
                             throws javax.management.InstanceNotFoundException,
                                    IOException
Specified by:
addNotificationListener in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
IOException

removeNotificationListener

public void removeNotificationListener(javax.management.ObjectName name,
                                       javax.management.ObjectName listener,
                                       Subject delegate)
                                throws javax.management.InstanceNotFoundException,
                                       javax.management.ListenerNotFoundException,
                                       IOException
Specified by:
removeNotificationListener in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
IOException

removeNotificationListener

public void removeNotificationListener(javax.management.ObjectName name,
                                       javax.management.ObjectName listener,
                                       MarshalledObject filter,
                                       MarshalledObject handback,
                                       Subject delegate)
                                throws javax.management.InstanceNotFoundException,
                                       javax.management.ListenerNotFoundException,
                                       IOException
Specified by:
removeNotificationListener in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
IOException

addNotificationListeners

public Integer[] addNotificationListeners(javax.management.ObjectName[] names,
                                          MarshalledObject[] filters,
                                          Subject[] delegates)
                                   throws javax.management.InstanceNotFoundException,
                                          IOException
Specified by:
addNotificationListeners in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
IOException

removeNotificationListeners

public void removeNotificationListeners(javax.management.ObjectName name,
                                        Integer[] listenerIDs,
                                        Subject delegate)
                                 throws javax.management.InstanceNotFoundException,
                                        javax.management.ListenerNotFoundException,
                                        IOException
Specified by:
removeNotificationListeners in interface javax.management.remote.rmi.RMIConnection
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
IOException

fetchNotifications

public javax.management.remote.NotificationResult fetchNotifications(long clientSequenceNumber,
                                                                     int maxNotifications,
                                                                     long timeout)
                                                              throws IOException
Specified by:
fetchNotifications in interface javax.management.remote.rmi.RMIConnection
Throws:
IOException


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.