Я столкнулся со странной проблемой с моим приложением wildfly-swarm.У меня есть службы JAX-RS, Annotation и RequestFilter, определенные следующим образом:
FooService.java
@Path("/foo")
@RequestScoped
@Api(value = "foo")
public class FooService extends BaseService {
@GET
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(...)
@ApiResponses(...)
@Secured({UserGroup.USER})
public Response getBar(@ApiParam(...) @QueryParam("id") int id) {
return Response.ok("bar").build();
}
}
BaseService.java
public class BaseService {
...
}
Secured.java
@NameBinding
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(value = RetentionPolicy.RUNTIME)
public @interface Secured {
UserGroup[] value() default {};
}
FooFilter.java
@Secured
@Provider
@Priority(Priorities.AUTHENTICATION)
public class FooFilter extends BaseService implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext requestContext) {
...
}
}
Насколько я понимаю, FooFilter.filter () должен вызываться каждый раз, когда запрашивается GET / foo.С Wildfly 12 все работает просто отлично, но запуск моего приложения wildfly-swarm FooFilter.filter () никогда не вызывается.Любые предложения, почему?
Просто чтобы завершить, вот мои зависимости из моего файла POM.
<!-- Java EE 7 dependency -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- WildFly Swarm Fractions -->
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>cdi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>ejb</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.wildfly.swarm</groupId>
<artifactId>h2</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>transactions</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${version.mysql}</version>
</dependency>
Заранее спасибо!