All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.spring.osgi-container.framework-context.xml Maven / Gradle / Ivy

Go to download

Adds an OSGi container to alfresco repository supporting dynamic code reloading, classpath isolation and a bunch of other useful features

There is a newer version: 3.1.0
Show newest version
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

	<description>Configures OSGi framework and related services.</description>

	<bean id="osgi.container.Configuration" class="com.github.dynamicextensionsalfresco.osgi.Configuration">
		<description>Specifies the global OSGI container configuration.</description>
		<property name="frameworkRestartEnabled" value="${osgi.container.restartable:true}" />
		<property name="hotDeployEnabled" value="${osgi.container.hot-deploy:true}" />
		<property name="repositoryBundlesEnabled" value="${osgi.container.repository-bundles:true}" />
		<property name="storageDirectory" value="${osgi.container.storage-directory:#{null}}" />

		<!-- DISABLE by default, see: https://github.com/xenit-eu/dynamic-extensions-for-alfresco/issues/281 -->
		<property name="systemPackageCacheMode" value="${osgi.container.system-package-cache.mode:DISABLE}" />
	</bean>

	<bean id="osgi.container.FrameworkConfiguration" class="com.github.dynamicextensionsalfresco.osgi.FrameworkConfiguration">
		<property name="configuration" ref="osgi.container.Configuration" />
		<property name="additionalSystemPackages" ref="osgi.container.SystemPackages">
			<description>Refers to the system package configuration.</description>
		</property>
	</bean>

	<bean id="osgi.container.Framework" class="com.github.dynamicextensionsalfresco.osgi.felix.FelixFrameworkFactoryBean">
		<property name="frameworkConfiguration" ref="osgi.container.FrameworkConfiguration" />
	</bean>

	<bean id="osgi.container.ServiceBundleContextRegistrar" class="com.github.dynamicextensionsalfresco.osgi.ServiceBundleContextRegistrar">
		<description>
			Registers the host application services with the OSGi Framework.
		</description>
		<property name="descriptorService" ref="DescriptorService" />
		<property name="serviceDefinitions" ref="osgi.container.HostServices" />
		<property name="servicePropertiesProviders">
			<list>
				<bean class="com.github.dynamicextensionsalfresco.osgi.HostApplicationServicePropertiesProvider">
					<description>
						Adds a "hostApplication" property to each host application service registered as an OSGi service.
					</description>
					<property name="hostApplication" value="alfresco" />
				</bean>
			</list>
		</property>
	</bean>

	<bean id="osgi.container.ApplicationContextBundleContextRegistrar" class="com.github.dynamicextensionsalfresco.osgi.ApplicationContextBundleContextRegistrar">
		<description>Registers this application context as an OSGi service.</description>
	</bean>

	<bean id="osgi.container.FrameworkManager" class="com.github.dynamicextensionsalfresco.osgi.DefaultFrameworkManager" init-method="initialize"
		destroy-method="destroy">
		<description>
			Manages the lifecycle of the OSGi Framework and registers services and listeners.
		</description>
		<constructor-arg name="framework" ref="osgi.container.Framework"/>
		<constructor-arg name="bundleContextRegistrars">
			<list>
				<ref bean="osgi.container.ServiceBundleContextRegistrar" />
				<ref bean="osgi.container.ApplicationContextBundleContextRegistrar" />
			</list>
		</constructor-arg>
		<constructor-arg name="repositoryStoreService" ref="osgi.container.RepositoryStoreService" />
		<constructor-arg name="contentService" ref="contentService" />
		<constructor-arg name="configuration" ref="osgi.container.Configuration" />
		<constructor-arg name="blueprintBundlesLocation" value="classpath:/alfresco/module/%module.id%/blueprint-bundles/*.jar" />
		<constructor-arg name="standardBundlesLocation" value="classpath:/alfresco/module/%module.id%/standard-bundles/*.jar" />
		<constructor-arg name="customBundlesLocation" value="classpath*:/dynamic-extensions/bundles/*.jar" />
	</bean>

	<bean id="osgi.container.RepositoryStoreService" class="com.github.dynamicextensionsalfresco.osgi.RepositoryStoreService">
		<property name="namespacePrefixResolver" ref="namespaceService" />
		<property name="nodeService" ref="nodeService" />
		<property name="fileFolderService" ref="fileFolderService" />
        <property name="permissionService" ref="permissionService" />
		<property name="baseFolderDescription">
			<value>
				Dynamic Extensions for Alfresco. https://github.com/xenit-eu/dynamic-extensions-for-alfresco
			</value>
		</property>
		<property name="bundleFolderDescription">
			<value>
				Dynamic Extension OSGi bundle JARs.
			</value>
		</property>
		<property name="configurationFolderDescription">
			<value>
				Configuration files for Dynamic Extensions.
			</value>
		</property>
	</bean>


</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy