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

spring.admin-system-context.xml Maven / Gradle / Ivy

The 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"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	xmlns:hz="http://www.hazelcast.com/schema/spring"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
		http://www.hazelcast.com/schema/spring http://www.hazelcast.com/schema/spring/hazelcast-spring.xsd">

    <!-- Beans Declarations -->
    
    <context:property-placeholder location="file:${bdb.config.path}/admin.properties" />
    <context:annotation-config />

    <bean id="mbeanServer" class="java.lang.management.ManagementFactory" factory-method="getPlatformMBeanServer"/>
    <context:mbean-export server="mbeanServer" default-domain="com.bagri.db"/>
    
	<bean id="authManager" class="com.bagri.server.hazelcast.security.BagriJMXAuthenticator">
		<property name="userManager" ref="userService"/>
	</bean>

	<hz:hazelcast id="hzInstance">
		<hz:config>
			<hz:spring-aware/>
			<hz:instance-name>hzInstance</hz:instance-name>
			<hz:group name="system" password="syspwd"/>
			<hz:management-center url="http://localhost:8080/mancenter" enabled="false"/>
			<hz:properties>
				<hz:property name="hazelcast.jmx">true</hz:property>
				<hz:property name="hazelcast.jmx.detailed">true</hz:property>
				<hz:property name="hazelcast.logging.type">slf4j</hz:property>
				<hz:property name="hazelcast.rest.enabled">false</hz:property>
				<hz:property name="hazelcast.memcache.enabled">false</hz:property>
			</hz:properties>
			<hz:network port="${bdb.cluster.port:3331}" port-auto-increment="true">
				<hz:outbound-ports>
					<hz:ports>3330-3430</hz:ports> 
				</hz:outbound-ports>
				<hz:join>
					<hz:multicast enabled="${bdb.cluster.multicast.enabled:false}" multicast-timeout-seconds="${bdb.cluster.connect.timeout:10}">
						<!--hz:trusted-interfaces>
							<hz:interface>${bdb.cluster.members}</hz:interface>
						</hz:trusted-interfaces-->   
					</hz:multicast>					
				    <hz:tcp-ip enabled="${bdb.cluster.tcp.enabled:true}" connection-timeout-seconds="${bdb.cluster.connect.timeout:10}">
					<hz:members>${bdb.cluster.members:localhost}</hz:members>
				    </hz:tcp-ip>
				    <hz:aws enabled="${bdb.cluster.aws.enabled:false}" connection-timeout-seconds="${bdb.cluster.connect.timeout:10}"/>
				</hz:join>
			</hz:network>

			<hz:executor-service name="sys-exec-pool" pool-size="${bdb.cluster.thread.pool:8}" />

			<hz:map name="sys-formats">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="dataFormatCacheStore"/>
			</hz:map>

			<hz:map name="sys-stores">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="dataStoreCacheStore"/>
			</hz:map>

			<hz:map name="sys-modules">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="moduleCacheStore"/>
			</hz:map>

			<hz:map name="sys-libraries">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="libraryCacheStore"/>
			</hz:map>

			<hz:map name="sys-nodes">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="nodeCacheStore"/>
			</hz:map>
			
			<hz:map name="sys-schemas">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="schemaCacheStore"/>
			</hz:map>

			<hz:map name="sys-roles">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="roleCacheStore"/>
			</hz:map>
			
			<hz:map name="sys-users">
				<hz:map-store enabled="true" write-delay-seconds="10" initial-mode="EAGER" implementation="userCacheStore"/>
			</hz:map>
			
			<hz:serialization>
				<hz:data-serializable-factories>
					<!--hz:data-serializable-factory factory-id="1000" class-name="com.bagri.client.hazelcast.serialize.DomainSerializationFactoryImpl"/-->
					<hz:data-serializable-factory factory-id="2000" class-name="com.bagri.server.hazelcast.serialize.SystemSerializationFactory"/>
					<hz:data-serializable-factory factory-id="3000" class-name="com.bagri.server.hazelcast.serialize.TaskSerializationFactory"/>
				</hz:data-serializable-factories>
				<!--hz:portable-factories>
					<hz:portable-factory factory-id="1" class-name="com.bagri.client.hazelcast.serialize.XDMPortableFactory"/>
				</hz:portable-factories-->
				<hz:serializers>
					<hz:serializer type-class="com.bagri.core.system.DataType" class-name="com.bagri.client.hazelcast.serialize.system.DataTypeSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Module" class-name="com.bagri.client.hazelcast.serialize.system.ModuleSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Library" class-name="com.bagri.client.hazelcast.serialize.system.LibrarySerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Function" class-name="com.bagri.client.hazelcast.serialize.system.FunctionSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Parameter" class-name="com.bagri.client.hazelcast.serialize.system.ParameterSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Node" class-name="com.bagri.client.hazelcast.serialize.system.NodeSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Schema" class-name="com.bagri.client.hazelcast.serialize.system.SchemaSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Collection" class-name="com.bagri.client.hazelcast.serialize.system.CollectionSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Fragment" class-name="com.bagri.client.hazelcast.serialize.system.FragmentSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Resource" class-name="com.bagri.client.hazelcast.serialize.system.ResourceSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Index" class-name="com.bagri.client.hazelcast.serialize.system.IndexSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Role" class-name="com.bagri.client.hazelcast.serialize.system.RoleSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.User" class-name="com.bagri.client.hazelcast.serialize.system.UserSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.Permission" class-name="com.bagri.client.hazelcast.serialize.system.PermissionSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.TriggerAction" class-name="com.bagri.client.hazelcast.serialize.system.TriggerActionSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.JavaTrigger" class-name="com.bagri.client.hazelcast.serialize.system.JavaTriggerSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.XQueryTrigger" class-name="com.bagri.client.hazelcast.serialize.system.XQueryTriggerSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.DataFormat" class-name="com.bagri.client.hazelcast.serialize.system.DataFormatSerializer"/>
					<hz:serializer type-class="com.bagri.core.system.DataStore" class-name="com.bagri.client.hazelcast.serialize.system.DataStoreSerializer"/>
				</hz:serializers>
			</hz:serialization>
			<hz:member-attributes>
				<hz:attribute name="bdb.cluster.login">${bdb.cluster.login:admin}</hz:attribute>
				<hz:attribute name="bdb.cluster.admin.port">${bdb.cluster.admin.port:3330}</hz:attribute>
				<hz:attribute name="bdb.cluster.node.name">${bdb.cluster.node.name:admin}</hz:attribute>
				<hz:attribute name="bdb.cluster.node.role">admin</hz:attribute>
				<hz:attribute name="bdb.cluster.node.schemas">${bdb.cluster.node.schemas:}</hz:attribute>
			</hz:member-attributes>
		</hz:config>
	</hz:hazelcast>

	<hz:map id="sys-formats" name="sys-formats" instance-ref="hzInstance"/>
	<hz:map id="sys-stores" name="sys-stores" instance-ref="hzInstance"/>
	<hz:map id="sys-modules" name="sys-modules" instance-ref="hzInstance"/>
	<hz:map id="sys-libraries" name="sys-libraries" instance-ref="hzInstance"/>
	<hz:map id="sys-nodes" name="sys-nodes" instance-ref="hzInstance"/>
	<hz:map id="sys-schemas" name="sys-schemas" instance-ref="hzInstance"/>
	<hz:map id="sys-roles" name="sys-roles" instance-ref="hzInstance"/>
	<hz:map id="sys-users" name="sys-users" instance-ref="hzInstance"/>

	<hz:executorService id="sys-exec-pool" name="sys-exec-pool" instance-ref="hzInstance"/>

	<bean id="configService" class="com.bagri.server.hazelcast.config.SystemConfig">
		<constructor-arg value="${bdb.config.filename}" />
	</bean>

	<bean id="moduleCacheStore" class="com.bagri.server.hazelcast.store.system.ModuleCacheStore">
		<property name="entityManagement" ref="configService"/>
	</bean>

	<bean id="libraryCacheStore" class="com.bagri.server.hazelcast.store.system.LibraryCacheStore">
		<property name="entityManagement" ref="configService"/>
	</bean>

	<bean id="schemaCacheStore" class="com.bagri.server.hazelcast.store.system.SchemaCacheStore">
		<property name="entityManagement" ref="configService"/>
	</bean>

	<bean id="nodeCacheStore" class="com.bagri.server.hazelcast.store.system.NodeCacheStore">
		<property name="entityManagement" ref="configService"/>
	</bean>

	<bean id="dataFormatCacheStore" class="com.bagri.server.hazelcast.store.system.DataFormatCacheStore">
		<property name="entityManagement" ref="configService"/>
	</bean>

	<bean id="dataStoreCacheStore" class="com.bagri.server.hazelcast.store.system.DataStoreCacheStore">
		<property name="entityManagement" ref="configService"/>
	</bean>

	<bean id="accessService" class="com.bagri.server.hazelcast.config.AccessConfig">
		<constructor-arg value="${bdb.access.filename}" />
	</bean>

	<bean id="roleCacheStore" class="com.bagri.server.hazelcast.store.system.RoleCacheStore">
		<property name="entityManagement" ref="accessService"/>
	</bean>

	<bean id="userCacheStore" class="com.bagri.server.hazelcast.store.system.UserCacheStore">
		<property name="entityManagement" ref="accessService"/>
	</bean>

	<bean id="xqCompiler" class="com.bagri.xquery.saxon.XQCompilerImpl"/>

	<bean id="dataFormatService" class="com.bagri.server.hazelcast.management.DataFormatManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-formats"/>
	</bean>

	<bean id="dataStoreService" class="com.bagri.server.hazelcast.management.DataStoreManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-stores"/>
	</bean>

	<bean id="moduleService" class="com.bagri.server.hazelcast.management.ModuleManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-modules"/>
		<property name="XQCompiler" ref="xqCompiler"/>
	</bean>

	<bean id="libraryService" class="com.bagri.server.hazelcast.management.LibraryManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-libraries"/>
		<property name="XQCompiler" ref="xqCompiler"/>
	</bean>

	<bean id="clusterService" class="com.bagri.server.hazelcast.management.ClusterManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-nodes"/>
	</bean>

	<bean id="schemaService" class="com.bagri.server.hazelcast.management.SchemaManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-schemas"/>
		<property name="clusterService" ref="clusterService"/>
		<property name="execService" ref="sys-exec-pool"/>
		<property name="restService" ref="restServer"/>
		<property name="userService" ref="userService"/>
		<property name="defaultProperties">
			<props>
				<prop key="bdb.schema.password"></prop>
				<!--prop key="bdb.schema.members">${bdb.schema.default.members}</prop-->
				<prop key="bdb.schema.ports.first">${bdb.schema.default.ports.first}</prop>
				<prop key="bdb.schema.ports.last">${bdb.schema.default.ports.last}</prop>
				<prop key="bdb.schema.thread.pool">${bdb.schema.default.thread.pool}</prop>
				<prop key="bdb.schema.store.type">${bdb.schema.default.store.type}</prop>
				<prop key="bdb.schema.store.tx.buffer.size">${bdb.schema.default.store.tx.buffer.size}</prop>
				<prop key="bdb.schema.buffer.size">${bdb.schema.default.buffer.size}</prop>
				<prop key="bdb.schema.partition.count">${bdb.schema.default.partition.count}</prop>
				<prop key="bdb.schema.population.size">${bdb.schema.default.population.size}</prop>
				<prop key="bdb.schema.population.buffer.size">${bdb.schema.default.population.buffer.size}</prop>
				<prop key="bdb.schema.transaction.timeout">${bdb.schema.default.transaction.timeout}</prop>
			</props>
		</property>
	</bean>

	<bean id="topService" class="com.bagri.server.hazelcast.management.TopologyManagement">
		<constructor-arg ref="hzInstance" />
		<property name="execService" ref="sys-exec-pool"/>
	</bean>

	<bean id="roleService" class="com.bagri.server.hazelcast.management.RoleManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-roles"/>
	</bean>

	<bean id="userService" class="com.bagri.server.hazelcast.management.UserManagement">
		<constructor-arg ref="hzInstance" />
		<property name="entityCache" ref="sys-users"/>
	</bean>

	<bean id="repoProviderService" class="com.bagri.server.hazelcast.impl.RepositoryProviderImpl">
		<property name="moduleManagement" ref="moduleService"/>
		<property name="schemaManagement" ref="schemaService"/>
	</bean>

	<bean id="restServer" class="com.bagri.rest.BagriRestServer" destroy-method="stop">
		<constructor-arg ref="repoProviderService" />
		<constructor-arg ref="xqCompiler" />
		<constructor-arg>
            <props>
                <prop key="bdb.rest.jmx">${bdb.rest.jmx:true}</prop>
                <prop key="bdb.rest.port">${bdb.rest.port:3030}</prop>
                <prop key="bdb.rest.auth.port">${bdb.rest.auth.port:3443}</prop>
            </props>
		</constructor-arg>
	</bean>

</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy