Hi Aaron, A custom scanner can not be needed since our exclusion config can be enough.
The closer of a tree of bean manager working not bad i know is the hierarchy of bean managers for ears in tomee. The idea is to skip parent beans during scanning and add them back after. Can be done through a portable extension if you can find the environment setup somehow. Le mar. 30 oct. 2018 22:46, Aaron Anderson <[email protected]> a écrit : > Hi All, > > I would like to build a Cloud based application server using Apache > OpenWebBeans and Apache Ignite. I would like to use the OpenWebBeans JavaSE > container to build a modular application server using CDI extensions, bean > discovery, injection, etc. which is straight forward. However as part of > the application jar files will be deployed to Apache Ignite and I would > like to build a custom classloader to load and unload these applications at > runtime similar to to Tomcat and how it deploys and undeploys web > applications. My first thought is to build a custom application classloader > that would load from the application jar file(s) first and then delegate to > the parent class load which would shield access to most of the server class > loader except for some exceptions like OpenWebBeans and API classes. > However I think there are some challenges to this approach: > > 1) There would be multiple OpenWebBeans contexts, the server container and > then multiple application containers. As long as OpenWebBeans is loaded > from the application classloader and the CDI API is loaded at the server > level and delegated down to the application level there should be no > container conflicts, right? > > 2) I would like to shield the server classloader as much as possible from > the application classloader to avoid duplicate class scanning. Are there > any OpenWebBeans properties I could set on the application WebBeansContext > to ignore or include specific jars? Should I build my own extension of the > ScannerService or use the org.apache.webbeans.scanExclusionPaths > configuration? > > 3) In some cases I would like to bridge the server CDI container to the > application CDI container to provide API implementations. For instance if > there is an API interface called Foo with an implementation Bar both in the > server container I would like for the application's CDI container to be > aware of the Foo interface and have it be injectable but behind the scenes > an instance in the server's CDI container would handle the requests. Has > anything like this been done before? Are there any OpenWebBeans SPI > interfaces that I should look into implementing for this bridging logic? > > Thanks! > > Aaron > >
