Just to explain in a hypothetical sense, if a bean has an @Create method and it in turn calls a method to fetch the date filed which has an @Future annotation, then the validation of date being a future date is omitted.
@Create
public void doInit(){
if (getDueDate()){
}
}
@Future
@NotNull
public Date getDueDate() {
return dueDate;
}
(1) Validation does not happen when you call a method, it must be used together with <s:validate/> or <s:validateAll/>.
(2) Yes, the EJB3 (and EJB1/2) spec says that interception does not occur when "this" is invoked.