0

I've been looking for documentation on WELD-SE's classpath scanner API, but haven't been able to find any. I'm trying to discover POJOs with custom annotations in the spirit of the Servlet, WebSocket and JAX-RS APIs. Is there any way to do this with WELD?

I realize that there are already libraries that do classpath scanning, such as Scannotation, FastClasspathScanner, Corn-CPS, etc., but I'm trying to keep this project lean and don't mind tight integration with WELD.

KG6ZVP
  • 3,610
  • 4
  • 26
  • 45

1 Answers1

1

Weld doesn't have any such API. The scanner Weld uses is not "general-enough" for this. It is rather CDI-specific as it focuses on discovering bean archives.

If the POJOs you are looking for are in fact CDI beans, you could simply write a CDI extension and observe ProcessAnnotatedType<?> phase which will notify you of all AnnotatedTypes CDI picks up. This can be further narrowed down using @WithAnnotations to only select AT with given annotations.

In certain environments, Weld also allows to work with Jandex which is something you could perhaps use as a different tool.

Siliarus
  • 6,393
  • 1
  • 14
  • 30