[jboss-dev-forums] [Design the new POJO MicroContainer] - getInstanceClassFactory in ManagedObjectFactory
alesj
do-not-reply at jboss.com
Thu Oct 18 10:57:59 EDT 2007
Is this expeced behaviour:
I'm running some tests for BeanMetaDataICF:
| ManagedObjectFactory factory = ManagedObjectFactory.getInstance();
| BeanInstanceClassFactory instanceClassFactory = new BeanInstanceClassFactory();
| factory.setInstanceClassFactory(AbstractBeanMetaData.class, instanceClassFactory);
|
Which adds InstanceClassFactory for AbstractBeanMetaData.class.
But then I was getting weird NPE exception in BeanManagedDeploymentUnitTestCase.
AbstractManagedObjectFactory.getInstanceClassFactory was still holding weak ref for AbstractBeanMetaData.class, but the actual referent was null.
| public <T extends Serializable> InstanceClassFactory<T> getInstanceClassFactory(Class<T> clazz)
| {
| synchronized (instanceFactories)
| {
| WeakReference<InstanceClassFactory> weak = instanceFactories.get(clazz);
| if (weak != null)
| return weak.get();
| }
| return (InstanceClassFactory<T>)this;
| }
|
Adding try/finally to my BeanMDICF test did the trick.
| factory.setInstanceClassFactory(AbstractBeanMetaData.class, instanceClassFactory);
| try
| {
| ...
| }
| finally
| {
| factory.setInstanceClassFactory(AbstractBeanMetaData.class, null);
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4096598#4096598
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4096598
More information about the jboss-dev-forums
mailing list