1.1 --- a/src/share/jaxws_classes/javax/annotation/PostConstruct.java Thu Sep 26 10:43:28 2013 -0700 1.2 +++ b/src/share/jaxws_classes/javax/annotation/PostConstruct.java Fri Oct 04 16:21:34 2013 +0100 1.3 @@ -38,12 +38,31 @@ 1.4 * if the class does not request any resources to be injected. Only one 1.5 * method can be annotated with this annotation. The method on which the 1.6 * PostConstruct annotation is applied MUST fulfill all of the following 1.7 - * criteria:<ul> 1.8 - * <li>The method MUST NOT have any parameters except in the case of EJB 1.9 + * criteria: 1.10 + * <p> 1.11 + * <ul> 1.12 + * <li>The method MUST NOT have any parameters except in the case of 1.13 * interceptors in which case it takes an InvocationContext object as 1.14 - * defined by the EJB specification.</li> 1.15 - * <li>The return type of the method MUST be void.</li> 1.16 - * <li>The method MUST NOT throw a checked exception.</li> 1.17 + * defined by the Interceptors specification.</li> 1.18 + * <li>The method defined on an interceptor class MUST HAVE one of the 1.19 + * following signatures: 1.20 + * <p> 1.21 + * void <METHOD>(InvocationContext) 1.22 + * <p> 1.23 + * Object <METHOD>(InvocationContext) throws Exception 1.24 + * <p> 1.25 + * <i>Note: A PostConstruct interceptor method must not throw application 1.26 + * exceptions, but it may be declared to throw checked exceptions including 1.27 + * the java.lang.Exception if the same interceptor method interposes on 1.28 + * business or timeout methods in addition to lifecycle events. If a 1.29 + * PostConstruct interceptor method returns a value, it is ignored by 1.30 + * the container.</i> 1.31 + * </li> 1.32 + * <li>The method defined on a non-interceptor class MUST HAVE the 1.33 + * following signature: 1.34 + * <p> 1.35 + * void <METHOD>() 1.36 + * </li> 1.37 * <li>The method on which PostConstruct is applied MAY be public, protected, 1.38 * package private or private.</li> 1.39 * <li>The method MUST NOT be static except for the application client.</li>