Hi Alex,
do you have some publicly available project so that we can discuss a
real code?
In general, if you want to integrate Weld servlet with a custom servlet
container:
1. Implement org.jboss.weld.environment.servlet.Container, e.g.
GrizzlyContainer
- Container#touch() should return true if a specific container is
detected
- Container#initialize() and Container#destroy() can be used to
init/cleanup the container
- note that ContainerContext#getManager() returns a BeanManager which
could be used later, e.g. for dependency injection; you can also obtain
a BeanManager from the servlet context - see for example [1]
2. Implement a container specific "injection support"
- each servlet container should provide its own SPI - you should
implement this SPI so that injection into servlets, listeners and
filters is supported; see for example [2] how undertow support is
implemented
3. There is no need to "connect" EnhancedListener in any way. It should
be registeded automatically. However, if you're trying to run an
embedded servlet container you will need to register
org.jboss.weld.environment.servlet.Listener manually.
Martin
[1]
https://github.com/weld/core/blob/master/environments/servlet/core/src/ma...
[2]
https://github.com/weld/core/blob/master/environments/servlet/core/src/ma...
Dne 18.5.2018 v 19:52 Alex Sviridov napsal(a):
Hi all
Could anyone explain how to connect WebappContext that implements
ServletContext, to
Weld servlet env? I've read the code, but still can't understand how to
connect SomeContainer,
that implements servlet.Container, EnhancedListener and Grizzly
WebappContext? Could anyone
describe main principles how to do it? I would be very thankful.
--
Best regards, Alex Sviridov
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev
--
Martin Kouba
Senior Software Engineer
Red Hat, Czech Republic