jaxws/src/share/jaxws_classes/javax/annotation/PostConstruct.java
changeset 20590 b3b34e4344ce
parent 16791 fe5141eabb0e
child 25840 c2002453eec3
--- a/jaxws/src/share/jaxws_classes/javax/annotation/PostConstruct.java	Wed Jul 05 19:14:19 2017 +0200
+++ b/jaxws/src/share/jaxws_classes/javax/annotation/PostConstruct.java	Fri Oct 04 16:21:34 2013 +0100
@@ -38,12 +38,31 @@
  * if the class does not request any resources to be injected. Only one
  * method can be annotated with this annotation. The method on which the
  * PostConstruct annotation is applied MUST fulfill all of the following
- * criteria:<ul>
- * <li>The method MUST NOT have any parameters except in the case of EJB
+ * criteria:
+ * <p>
+ * <ul>
+ * <li>The method MUST NOT have any parameters except in the case of
  * interceptors in which case it takes an InvocationContext object as
- * defined by the EJB specification.</li>
- * <li>The return type of the method MUST be void.</li>
- * <li>The method MUST NOT throw a checked exception.</li>
+ * defined by the Interceptors specification.</li>
+ * <li>The method defined on an interceptor class MUST HAVE one of the
+ * following signatures:
+ * <p>
+ * void &#060;METHOD&#062;(InvocationContext)
+ * <p>
+ * Object &#060;METHOD&#062;(InvocationContext) throws Exception
+ * <p>
+ * <i>Note: A PostConstruct interceptor method must not throw application
+ * exceptions, but it may be declared to throw checked exceptions including
+ * the java.lang.Exception if the same interceptor method interposes on
+ * business or timeout methods in addition to lifecycle events. If a
+ * PostConstruct interceptor method returns a value, it is ignored by
+ * the container.</i>
+ * </li>
+ * <li>The method defined on a non-interceptor class MUST HAVE the
+ * following signature:
+ * <p>
+ * void &#060;METHOD&#062;()
+ * </li>
  * <li>The method on which PostConstruct is applied MAY be public, protected,
  * package private or private.</li>
  * <li>The method MUST NOT be static except for the application client.</li>