[
https://issues.jboss.org/browse/RTGOV-289?page=com.atlassian.jira.plugin....
]
Gary Brown commented on RTGOV-289:
----------------------------------
Issues:
- need registration of epn, etc to be performed before server up, so blocking may be
necessary unless another approach can be found
- could use a shared state approach for the 'singleton' components, so multiple
copies could be injected in different archives, rather than relying on a single singleton
being created by the container and having to obtain a reference to it
- however this approach means that EPN, ACS, IP (etc) archives would need to contain all
of the relevant dependencies to resolve the beans - so for reducing
dependencies/clutter/platform specific etc, it would be better if (for example) the EPN
loader could obtain a reference to a previously initialized EventProcessorManager
- current use of Singleton annotation has a problem, in that if BeanManager is used to
obtain bean, then using the create method appears to create a new bean instance,
regardless of the singleton annotation
Improve mechanism for obtainng core components where injection not
possible
---------------------------------------------------------------------------
Key: RTGOV-289
URL:
https://issues.jboss.org/browse/RTGOV-289
Project: RTGov (Run Time Governance)
Issue Type: Enhancement
Reporter: Gary Brown
Assignee: Gary Brown
Fix For: 2.0.0.M1
Currently components within the overlord-rtgov.war can use CDI injection to resolve
references.
However there are other places where the core components need to be accessed, that are
outside this war, and therefore cannot benefit from CDI.
The current approach is to gets these components to register themselves with an
'accessor' class that manages a singleton reference. The problem is that due to
startup initialisation order ambiguity, if the singleton has not been set, the caller must
be blocked for a period of time.
Rather than block the deployer, it would be better to find an asynchronous approach to
resolve these references.
Previously EJBs were being used to provide access to these components - and with the
injection of those EJB resource, the dependencies were automatically managed by the
container. However use of EJBs resulted in client proxies, which affected performance.
Need to rethink how these references are resolved in a way that is generally applicable.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira