3rd Party Service admin (OpenOffice, SWFTools, ImageMagick)

- All supporting classes moved out to thirdparty subsystem
- Open Office service automatically started if available
- All utility locations editable via JMX (and subsystem can be reinitialized with new values without rebooting tomcat)
- New ContentTransformerWorker interface introduced in order to allow separation between ContentTransformer registry and third party utilities
- Existing JMX query capabilities preserved


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13860 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Dave Ward
2009-04-06 16:31:33 +00:00
parent 132fdb81cb
commit a166add97f
31 changed files with 966 additions and 559 deletions

View File

@@ -129,16 +129,19 @@ public class DefaultManagedApplicationContextFactory extends AbstractLifecycleBe
{
"classpath*:alfresco/subsystems/" + this.beanName + "/*-context.xml"
}, false, this.parent);
// Add all the post processors of the parent, e.g. to make sure system placeholders get expanded properly
for (Object postProcessor : this.parent.getBeansOfType(BeanFactoryPostProcessor.class).values())
{
this.applicationContext.addBeanFactoryPostProcessor((BeanFactoryPostProcessor) postProcessor);
}
// Add a property placeholder configurer, with the subsystem-scoped default properties
PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
configurer.setProperties(this.properties);
configurer.setIgnoreUnresolvablePlaceholders(true);
this.applicationContext.addBeanFactoryPostProcessor(configurer);
// Add all the post processors of the parent, e.g. to make sure system placeholders get expanded properly
for (Object postProcessor : this.parent.getBeansOfType(BeanFactoryPostProcessor.class).values())
{
this.applicationContext.addBeanFactoryPostProcessor((BeanFactoryPostProcessor) postProcessor);
}
this.applicationContext.setClassLoader(parent.getClassLoader());
this.applicationContext.refresh();
}

View File

@@ -87,6 +87,16 @@ public class ManagedSubsystemProxyFactory extends ProxyFactoryBean
}));
}
@SuppressWarnings("unchecked")
@Override
public void setInterfaces(Class[] interfaces)
{
super.setInterfaces(interfaces);
// Make it possible to export the object via JMX
setTargetClass(getObjectType());
}
/**
* Sets the source application context factory.
*