• Views
  • Iteration Report
  • My Iteration Report
  •  
OMERO.server
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • Last Change
  • Annotate
  • Revision Log

root/trunk/components/server/resources/ome/services/services.xml

Revision 2996, 7.0 kB (checked in by jmoore, 3 months ago)

ticket:1114 - Fix for timeToLive leaks in SessionCache

  • New strategy for OmeroContext.publishEvent() (r2605, r2654)
  • Added "updateInterval" to SessionCache
  • Removed "needsUpdate" from SessionCache
  • Refactoring MockFixture & test.xml for a complicated blitz test
  • Property svn:keywords set to Id
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3<!--
4#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5#
6# $Id$
7#
8# Copyright 2006 University of Dundee. All rights reserved.
9# Use is subject to license terms supplied in LICENSE.txt
10#
11#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12-->
13
14<!--
15#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16# Written by:  Josh Moore <josh.moore@gmx.de>
17#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18-->
19
20<!--
21
22        Configuration for services.
23        TODO add log4j configuration (e.g. update intervals)
24
25-->
26
27
28<beans>
29
30<!--
31  HOOKS : These beans are used to
32-->
33
34  <bean id="dbPatchCheck"
35     class="ome.services.util.DBPatchCheck"
36     init-method="start" lazy-init="false">
37     <property name="simpleJdbcTemplate" ref="unsafeJdbcTemplate"/>
38  </bean>
39
40  <bean id="serverVersionCheck"
41     class="ome.services.util.ServerVersionCheck"
42     init-method="start" destroy-method="stop" lazy-init="false"/>
43
44  <bean id="upgradeCheck"
45     class="ome.system.UpgradeCheck"
46     init-method="run" lazy-init="false">
47     <constructor-arg index="0" value="${omero.upgrades.url}"/>
48     <constructor-arg index="1" value="${omero.version}"/>
49     <constructor-arg index="2" value="server"/>
50  </bean>
51
52<!--
53  Aspects/Interceptors which catch "managed-" calls to our service methods
54  =======================================================================
55  Possibilities are: tracing, logging, security, transactions, etc.
56-->
57
58    <bean id="statelessInterceptors" class="java.util.ArrayList">
59        <constructor-arg>
60            <list>
61                <value>serviceHandler</value>
62                <value>proxyHandler</value>
63                <value>transactionHandler</value>
64                <value>hibernateHandler</value>
65                <value>eventHandler</value>
66            </list>
67        </constructor-arg>
68    </bean>
69   
70    <bean id="selfManagingService" abstract="true"
71        class="org.springframework.aop.framework.ProxyFactoryBean">
72        <description>
73        A self managed service, which must take care to properly create
74        sessions and transactions before using any other services. This
75        can be achieved by properly using the Executor.Work interface.
76       
77        See the "executor" bean.
78        </description>
79        <property name="interceptorNames">
80            <list>
81                <value>serviceHandler</value>
82            </list>
83        </property>
84    </bean>
85   
86        <bean id="managedService" abstract="true"
87                class="org.springframework.aop.framework.ProxyFactoryBean">
88                <property name="interceptorNames" ref="statelessInterceptors"/>
89        </bean>
90
91        <bean id="managedStatefulService" abstract="true"
92                class="org.springframework.aop.framework.ProxyFactoryBean">
93                <property name="interceptorNames">
94                        <list>
95                                <value>serviceHandler</value>
96                                <value>proxyHandler</value>
97                                <value>transactionHandler</value>
98                                <value>sessionHandler</value>
99                                <value>eventHandler</value>
100                        </list>
101                </property>
102        </bean>
103        <bean
104                       id="serviceHandler"
105                    class="ome.services.util.ServiceHandler"
106                lazy-init="true">
107                <constructor-arg ref="currentDetails"/>
108        </bean>
109
110        <bean id="profile"
111                class="org.springframework.aop.interceptor.JamonPerformanceMonitorInterceptor"/>
112
113<!--
114  Service Levels
115  =======================================================================
116  Abstract definitions of services which can be used when configuring
117  concrete beans. Note: these Spring definitions can have a possibly
118  separate inheritance hierarchy to that defined in Java. When defining
119  a parent bean for a concrete service, be sure that all required properties
120  are (A) filled by the abstract Spring definition and (B) available on the
121  Java class.
122-->
123
124  <bean id="level1" abstract="true">
125    <property name="queryFactory"      ref="queryFactory"/>
126    <property name="hibernateTemplate" ref="hibernateTemplate"/>
127  </bean>
128
129  <bean id="level2" abstract="true">
130    <property name="queryFactory"   ref="queryFactory"/>
131    <property name="updateService"      ref="internal-ome.api.IUpdate"/>
132    <property name="queryService"       ref="internal-ome.api.IQuery"/>
133    <property name="extendedMetadata" ref="extendedMetadata"/>
134    <property name="securitySystem" ref="securitySystem"/>
135  </bean>
136
137  <bean id="level3" abstract="true">
138    <property name="queryFactory"   ref="queryFactory"/>
139    <property name="pixelsService"  ref="internal-ome.api.IPixels"/>
140    <property name="pojosService"       ref="internal-ome.api.IPojos"/>
141  </bean>
142
143  <bean id="stateful" abstract="true" class="ome.services.AbstractStatefulBean">
144    <property name="queryService" ref="internal-ome.api.IQuery"/>
145    <property name="securitySystem" ref="securitySystem"/>
146  </bean>
147
148  <bean name="binary" abstract="true">
149    <property name="pixelsMetadata" ref="internal-ome.api.IPixels"/>
150    <property name="pixelsData"     ref="/OMERO/Pixels"/>
151  </bean>
152
153  <bean name="filesystem"  abstract="true">
154    <constructor-arg value="${omero.data.dir}"/>
155  </bean>
156
157<!--
158  Shared resources
159  =======================================================================
160-->
161
162  <bean id="executor" class="ome.services.util.Executor$Impl">
163    <constructor-arg ref="currentDetails"/>
164    <constructor-arg ref="transactionTemplate"/>
165    <constructor-arg ref="hibernateTemplate"/>
166    <constructor-arg ref="statelessInterceptors"/>
167  </bean>
168
169  <bean id="queryFactory" class="ome.services.query.QueryFactory">
170    <constructor-arg>
171      <list>
172        <bean class="ome.services.query.ClassQuerySource"/>
173        <bean class="ome.services.query.StringQuerySource"/>
174      </list>
175    </constructor-arg>
176  </bean>
177 
178  <bean id="scheduler" class="ome.services.scheduler.SchedulerFactoryBean"
179    depends-on="sessionManager">
180    <!-- In order to slow down the scheduler background tasks, we are now
181    starting it active but waiting on session-manager to accept logins,
182    then it can start processing  -->
183    <property name="autoStartup" value="true"/>
184    <property name="schedulerName" value="OMERO.scheduler"/>
185    <property name="jobDetails">
186      <list>
187        <ref bean="process-jobs-run" />
188      </list>
189    </property>
190    <property name="triggers">
191      <list>
192        <ref bean="fullTextIndexerTrigger"/>
193      </list>
194
195    <!--Disabling trigger, since context is not properly initialized
196     property name="triggers">
197      <list>
198        <ref bean="process-jobs-every-30-seconds" />
199      </list>
200    </property-->
201
202    </property>
203  </bean>
204
205  <!-- internal- prefix because the definition is used for self-configuration.
206  see BeanHelper.configure and OmeroContext.applyBeanPropertyValues. -->
207  <bean id="internal-ome.services.util.OmeroAroundInvokeName" lazy-init="true"
208     class="ome.services.util.OmeroAroundInvoke">
209        <property name="queryFactory" ref="queryFactory"/>
210        <property name="securitySystem" ref="securitySystem"/>
211  </bean>
212
213</beans>
Note: See TracBrowser for help on using the browser.

Download in other formats:

  • Plain Text
  • Original Format

Trac Powered

Powered by Trac 0.11
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/