-
Bug
-
Resolution: Won't Do
-
Major
-
3.0-beta-1
-
None
-
None
In resteasy-cdi-ejb-test, I've got a test that looks at the interaction of
decorators, interceptors, interceptor decorators, etc. Each of these
leaves a record of its execution, and the test does three things:
1) uploads an entity,
2) retrieves the entity, and
3) calls a resource test method that compares the actual sequence of
provider executions with the expected sequence.
The entity I'm sending back and forth is a JAXB Book class which is read by
@Provider
@Consumes(Constants.MEDIA_TYPE_TEST_XML)
public class BookReader implements MessageBodyReader<Book>
{
...
@Inject private Logger log;
...
The test is failing because, in the old Resteasy client framework, the
second step leads to some decorator, etc., executions on the client side
when BookReader.readFrom() is called, while, in the new framework, that
isn't happening. The reason for the different behavior is that CDI is not acting
on the client side. In particular, the ResteasyProviderFactory in the
client framework is using the default ConstructorInjector and the server
side is using CdiConstructorInjector.