All,
In discussion today w/ Jozef, we found that the way of
shutting down a container in the proposed SE API precluded the
notion that multiple containers could be running. While we're
not necessarily going to handle multiple containers right now,
we don't want to preclude the idea either. With that said,
there were three different approaches though up to handle how
to shutdown a launched container. it obivously would only
work with an SE booted container, but part of this does give a
pointer in how we may implement initialize.
Option 1 - Subclass CDI. The returned CDI instance when
bootstrapped would return this subclass of CDI that has
shutdown capability.
Option 2 - Add method to CDI. Add the shutdown method to
CDI directly, and throw an exception if called in an EE
environment.
Option 3 - Return a different object all together when
initializing. Return something else from initialize, e.g.
CDIContext, which has a shutdown method when you initialize.
That class would also have a getter for the CDI instance
backing it.
Let us know your thoughts.
Thanks,
John