[
https://issues.jboss.org/browse/SOLDER-50?page=com.atlassian.jira.plugin....
]
Dan Allen commented on SOLDER-50:
---------------------------------
The issue that I have with isBeanManagerAvailable() is that when I call getBeanManager(),
I pay the tax of looking it up again (when using the static BeanManagerAccessor). I have
to use that in cases where extension isn't an option. Though, I could instead do:
BeanManagerAware locator = new BeanManagerAware();
if (locator.isBeanManagerAvailable())
{
BeanManager beanManager = locator.getBeanManager();
beanManager.fireEvent(payload);
}
In this context, the name of the class seems silly. It should probably be
BeanManagerLocator. In fact, maybe we just do away with the static methods.
Throw a specialized exception when BeanManagerAware cannot resolve
BeanManager
------------------------------------------------------------------------------
Key: SOLDER-50
URL:
https://issues.jboss.org/browse/SOLDER-50
Project: Seam Solder
Issue Type: Feature Request
Components: Core
Reporter: Dan Allen
Assignee: Lincoln Baxter III
Priority: Minor
The BeanManagerAware#getBeanManager() method currently throws an IllegalArgumentException
when the BeanManager cannot be found by any provider. Because this exception is so
generic, it's dangerous to bundle the lookup with other code because you aren't
sure whether the IllegalArgumentException came from the BeanManager lookup or from a
subsequent call, as in:
try {
BeanManager beanManager = BeanManagerAccessor.getBeanManager();
beanManager.fireEvent(payload);
}
catch (IllegalArgumentException e) {
// what caused this?
}
Introduce a specialized checked exception for this unique failure. The proposed name is
BeanManagerNotAvailable (or BeanManagerNotFound)
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira