-
public interface InvocationContext
Exposes context information about the intercepted invocation and operations that enable interceptor methods to control the behavior of the invocation chain.
@AroundInvoke public Object logInvocation(InvocationContext ctx) throws Exception { String class = ctx.getMethod().getDeclaringClass().getName(); String method = ctx.getMethod().getName(); Logger.global.entering(class, method, ctx.getParameters()); try { Object result = ctx.proceed(); Logger.global.exiting(class, method, result); return result; } catch (Exception e) { Logger.global.throwing(class, method, e); throw e; } }
- Since:
- Interceptors 1.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description Constructor<?>
getConstructor()
Returns the constructor of the target class for which the interceptor was invoked.Map<String,Object>
getContextData()
Enables an interceptor to retrieve or update the data associated with the invocation by another interceptor, business method,and/or webservices context in the invocation chain.Method
getMethod()
Returns the method of the target class for which the interceptor was invoked.Object[]
getParameters()
Returns the parameter values that will be passed to the method or constructor of the target class.Object
getTarget()
Returns the target instance.Object
getTimer()
Returns the timer object associated with a timeout method invocation on the target class, or a null value for method and lifecycle callback interceptor methods.Object
proceed()
Proceed to the next interceptor in the interceptor chain.void
setParameters(Object[] params)
Sets the parameter values that will be passed to the method or constructor of the target class.
-
-
-
Method Detail
-
getTarget
Object getTarget()
Returns the target instance. For theAroundConstruct
lifecycle callback interceptor method, the getTarget returnsnull
if called before theproceed()
method.- Returns:
- the target instance
-
getTimer
Object getTimer()
Returns the timer object associated with a timeout method invocation on the target class, or a null value for method and lifecycle callback interceptor methods. For example, when associated with an EJB component timeout, this method returnsTimer
- Returns:
- the timer object or a null value
- Since:
- Interceptors 1.1
-
getMethod
Method getMethod()
Returns the method of the target class for which the interceptor was invoked. In a lifecycle callback interceptor for which there is no corresponding lifecycle callback method on the target class or in theAroundConstruct
lifecycle callback interceptor method,getMethod
returns null.- Returns:
- the method, or a null value
-
getConstructor
Constructor<?> getConstructor()
Returns the constructor of the target class for which the interceptor was invoked. ForAroundConstruct
interceptor, the constructor of the target class is returned. For all other interceptors, a null value is returned.- Returns:
- the constructor, or a null value
-
getParameters
Object[] getParameters()
Returns the parameter values that will be passed to the method or constructor of the target class. IfsetParameters(java.lang.Object[])
has been called,getParameters
returns the values to which the parameters have been set.- Returns:
- the parameter values, as an array
- Throws:
IllegalStateException
- if invoked within a lifecycle callback method which is not anAroundConstruct
callback.
-
setParameters
void setParameters(Object[] params)
Sets the parameter values that will be passed to the method or constructor of the target class.- Parameters:
params
- the parameter values, as an array- Throws:
IllegalStateException
- if invoked within a lifecycle callback method which is not anAroundConstruct
callback.IllegalArgumentException
- if the types of the given parameter values do not match the types of the method or constructor parameters, or if the number of parameters supplied does not equal the number of method or constructor parameters (if the last parameter is a vararg parameter of typeT
, it is considered to be equivalent to a parameter of typeT[]
).
-
getContextData
Map<String,Object> getContextData()
Enables an interceptor to retrieve or update the data associated with the invocation by another interceptor, business method,and/or webservices context in the invocation chain. If interceptors are invoked as a result of the invocation on a web service endpoint, the returned value will be an instance of javax.xml.rpc.handler.MessageContext- Returns:
- the context data associated with this invocation or
lifecycle callback. If there is no context data, an
empty
Map<String,Object>
object will be returned.
-
proceed
Object proceed() throws Exception
Proceed to the next interceptor in the interceptor chain. For the around-invoke or around-timeout interceptor methods, the invocation of the last interceptor method in the chain causes the invocation of the target class method. ForAroundConstruct
lifecycle callback interceptor methods, the invocation of the last interceptor method in the chain causes the target instance to be created. For all other lifecycle callback interceptor methods, if there is no callback method defined on the target class, the invocation of proceed in the last interceptor method in the chain is a no-opReturn the result of the next method invoked, or a null value if the method has return type void.
- Returns:
- the return value of the next method in the chain
- Throws:
Exception
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 18/08/2025
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-javaee-rf-javax/interceptor/invocationcontext.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor dieser Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.