Public Member Functions | |
Object | invoke (Object proxy, Method method, Object[] args) throws Throwable |
Package Functions | |
void | setMethodsExcludedFromInvocationLogging (String[] excludedMethods) |
Static Package Functions | |
Object | createContainerSealant (Class corbaInterface, Object component, String name, boolean isOffShoot, Logger logger, ClassLoader componentContextCL, String[] methodNamesExcludedFromInvocationLogging) throws AcsJContainerEx |
Private Member Functions | |
ContainerSealant (Object componentImpl, String name, Logger logger, ClassLoader componentContextCL, boolean isOffShoot) | |
boolean | isExcludedFromInvocationLogging (String methodName) |
Throwable | unwindThrowableHierarchy (Throwable thr) |
Private Attributes | |
final String | m_name |
final Object | m_component |
final Logger | m_logger |
final ClassLoader | componentContextCL |
final boolean | isOffShoot |
final Set< String > | methodNamesExcludedFromInvocationLogging |
This sealant class is not only used for components, but also for offshoots from that component, if they follow the tie-approach.
Todo: let listeners register, and notify them of any intercepted call; they may either veto down the invocation, or simply trace the call. Any logging, security checks etc. should be done by such listeners in the future.
|
|
|
Creates a ContainerSealant and uses it as the invocation handler for the returned dynamic proxy which implements
|
|
Receives functional calls to the component.
|
|
Checks if an invoked method is known to be excluded from logging. This is always true for componentState, and for all methods that are set for no-logging. |
|
Disables automatic invocation logging for certain component or offshoot methods.
The method componentState gets always excluded, independently of For components, the method name must be given directly. For offshoots, method names must be qualified, see comment for ComponentHelper where component developers can specify these strings. TODO: check if calls to JBaci properties should be also excluded hard-coded. At the moment the component helper class must specify them explicitly, e.g. "OFFSHOOT::alma.ACS.ROstringSeq#get_sync". This is not intuitive because JBaci properties are not visibly offshoots for the user, this is only an ACS implementation choice.
|
|
Pops
|
|
|
|
|
|
|
|
|
|
|
|
|