[jboss-dev-forums] [Design the new POJO MicroContainer] - fromContext dependency regression
adrian@jboss.org
do-not-reply at jboss.com
Fri Apr 18 10:21:32 EDT 2008
I'm seeing a horrible regression in the fromContext dependency injection.
e.g. this config from the system-jmx tests in the appserver
| <?xml version="1.0" encoding="UTF-8"?>
|
| <deployment xmlns="urn:jboss:bean-deployer:2.0">
|
| <!-- The legacy JMX kernel -->
| <bean name="ServiceControllerLocator" class="org.jboss.test.system.controller.integration.support.ServiceControllerLocator" />
|
| <bean name="ServiceLifecycle" class="org.jboss.test.system.controller.integration.support.TestServiceControllerLifecycleCallback">
| <property name="mbeanServer">
| <inject bean="ServiceControllerLocator" property="mbeanServer"/>
| </property>
| <property name="serviceController">
| <inject bean="ServiceControllerLocator" property="serviceController"/>
| </property>
| </bean>
|
| <bean name="TransactionManager" class="org.jboss.test.system.controller.integration.support.MockTransactionManager">
| <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager", exposedInterface=org.jboss.test.system.controller.integration.support.MockTransactionManagerMBean.class, registerDirectly=true)</annotation>
| <property name="transactionTimeout">300</property>
| <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
| <install bean="ServiceLifecycle" method="install">
| <parameter><inject fromContext="context"/></parameter>
| </install>
| <uninstall bean="ServiceLifecycle" method="uninstall">
| <parameter><inject fromContext="context"/></parameter>
| </uninstall>
| </bean>
|
| </deployment>
|
is causing a circular dependency of the bean on itself.
| AbstractDependencyItem at e59e40{name=TransactionManager dependsOn=TransactionManager whenRequired=Installed dependentState=Installed resolved=false}
|
Each FromContext enumeration value should have an associated state
when it becomes valid. Most will be PreInstall, but some like BeanInfo
will Instantiated.
Something like:
[code
public enum FromContext
{
...
BEANINFO(FromContextDelegate.BEANINFO, ControllerState.INSTANTIATED),
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4145168#4145168
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4145168
More information about the jboss-dev-forums
mailing list