root/trunk/components/server/resources/ome/services/service-ome.api.Search.xml
| Revision 2750, 4.1 kB (checked in by jmoore, 5 months ago) |
|---|
| 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 2008 Glencoe Software, Inc. 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 at glencoesoftware.com |
| 17 | #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 18 | --> |
| 19 | |
| 20 | <beans> |
| 21 | |
| 22 | <bean singleton="false" parent="stateful" |
| 23 | id="internal-ome.api.Search" |
| 24 | class="ome.services.SearchBean"> |
| 25 | <property name="executor" ref="executor"/> |
| 26 | <property name="analyzer" value="${omero.search.analyzer}"/> |
| 27 | <property name="maxClauseCount" value="${omero.search.maxclause}"/> |
| 28 | </bean> |
| 29 | |
| 30 | <bean id="managed-ome.api.Search" parent="selfManagingService" singleton="false"> |
| 31 | <property name="proxyInterfaces" value="ome.api.Search,ome.api.local.Destroy"/> |
| 32 | <property name="target" ref="internal-ome.api.Search"/> |
| 33 | </bean> |
| 34 | |
| 35 | <!-- Trigger for running lucene --> |
| 36 | |
| 37 | <bean id="fullTextThread" class="ome.services.fulltext.FullTextThread" |
| 38 | init-method="start" destroy-method="stop"> |
| 39 | <constructor-arg ref="sessionManager"/> |
| 40 | <constructor-arg ref="executor"/> |
| 41 | <constructor-arg ref="fullTextIndexer"/> |
| 42 | <constructor-arg ref="fullTextBridge"/> |
| 43 | </bean> |
| 44 | |
| 45 | <bean id="fullTextIndexer" class="ome.services.fulltext.FullTextIndexer"> |
| 46 | <constructor-arg ref="eventLogLoader"/> |
| 47 | <property name="repetitions" value="${omero.search.repetitions}"/> |
| 48 | </bean> |
| 49 | |
| 50 | <bean id="fullTextBridge" class="ome.services.fulltext.FullTextBridge"> |
| 51 | <constructor-arg ref="fileParsers"/> |
| 52 | <constructor-arg ref="/OMERO/Files"/> |
| 53 | <constructor-arg value="${omero.search.bridges}"/> |
| 54 | </bean> |
| 55 | |
| 56 | <!-- Use "*" as a wildcard parser --> |
| 57 | <bean id="fileParsers" class="java.util.HashMap"> |
| 58 | <constructor-arg> |
| 59 | <map> |
| 60 | <entry key="text/plain" value-ref="fileParser"/> |
| 61 | <entry key="text/csv" value-ref="fileParser"/> |
| 62 | <entry key="text/xml" value-ref="fileParser"/> |
| 63 | <entry key="application/pdf" value-ref="pdfParser"/> |
| 64 | </map> |
| 65 | </constructor-arg> |
| 66 | </bean> |
| 67 | |
| 68 | <bean id="fileParser" class="ome.services.fulltext.FileParser"/> |
| 69 | <bean id="pdfParser" class="ome.services.fulltext.PdfParser"/> |
| 70 | |
| 71 | <alias name="persistentEventLogLoader" alias="eventLogLoader"/> |
| 72 | |
| 73 | <bean id="persistentEventLogLoader" class="ome.services.fulltext.PersistentEventLogLoader"> |
| 74 | <property name="queryService" ref="internal-ome.api.LocalQuery"/> |
| 75 | <property name="template" ref="simpleJdbcTemplate"/> |
| 76 | <property name="key" value="PersistentEventLogLoader.v2.current_id"/> |
| 77 | <property name="query" value="select value from configuration where name = ?"/> |
| 78 | <property name="insert" value="insert into configuration (name, value) values (?,?)"/> |
| 79 | <property name="update" value="update configuration set value = ? where name = ?"/> |
| 80 | <property name="delete" value="delete from configuration where name = ?"/> |
| 81 | <property name="types" ref="internal-ome.api.ITypes"/> |
| 82 | <property name="batchSize" value="${omero.search.batch}"/> |
| 83 | <property name="excludes" value="${omero.search.excludes}"/> |
| 84 | </bean> |
| 85 | |
| 86 | <bean id="fullTextThreadRun" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
| 87 | <property name="targetObject" ref="fullTextThread" /> |
| 88 | <property name="targetMethod" value="run" /> |
| 89 | <!-- FullTextThread now handles locking properly itself, so we will allow |
| 90 | concurrent execution. Quartz will now let multiple jobs through and each |
| 91 | FullTextThread can discard itself as it sees fit (via construction) --> |
| 92 | <property name="concurrent" value="true" /> |
| 93 | </bean> |
| 94 | |
| 95 | <bean id="fullTextIndexerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> |
| 96 | <property name="jobDetail" ref="fullTextThreadRun" /> |
| 97 | <property name="cronExpression" value="${omero.search.cron}" /> |
| 98 | </bean> |
| 99 | |
| 100 | </beans> |
Note: See TracBrowser
for help on using the browser.
