[
https://issues.jboss.org/browse/WFLY-11956?page=com.atlassian.jira.plugin...
]
Ronald Sigal commented on WFLY-11956:
-------------------------------------
Hi [~gunnar.morling], thanks for checking in. I agree that everything suggests that
getHelloGreeting() *should* be executed during validation of properties (well, once,
anyway). I.e., I agree that for the most part, we're not talking about a bug. Indeed,
my two configuration suggestions should be considered feature requests.
As far as I can see, there is no easy solution that we can offer, which sends us back to
the possibility of renaming the get methods. It reminds me of a joke my father used to
tell. A guy goes to the doctor and says, "Doc, it hurts when I raise my arm."
The doctor says, "So don't raise your arm."
Sorry, [~christian.zambrano], I don't mean to make light of the problem.
Two things that can, and should be done are:
1. RESTEasy should look for a @PostConstruct method and, in its presence, initiate
validation from JaxrsInjectionTarget.postConstruct().
2. The two calls to getHelloGreeting() should be investigated in Hibernate Validator.
Does anyone else have any suggestions?
@PostConstruct on @ApplicationScoped bean called too late in case
@Valid is annotated on a business method
----------------------------------------------------------------------------------------------------------
Key: WFLY-11956
URL:
https://issues.jboss.org/browse/WFLY-11956
Project: WildFly
Issue Type: Bug
Components: Bean Validation, REST
Affects Versions: 16.0.0.Final
Reporter: Joerg Baesner
Assignee: Ronald Sigal
Priority: Major
Attachments: logging.txt, playground.zip
Having a bean class with {{@ApplicationScoped}}, which has a {{@PostConstruct}} and is
implementing the following _Interface_:
{code}
@Path("/validated")
public interface ValidatedJaxRsInterface {
@GET
@Valid
@Produces(MediaType.APPLICATION_JSON)
GreetingModel getHelloGreeting();
}
{code}
will result in calling the {{getHelloGreeting}} method of the implementation class twice
*_before_* the {{@PostConstruct}} is getting executed.
This can be reproduced with the attached reproducer application...
--
This message was sent by Atlassian Jira
(v7.12.1#712002)