Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<beans xmlns="http://www.springframework.org/schema/beans"
3
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
4
       xmlns:template="http://dnetlib.eu/springbeans/template"  xmlns:t="http://dnetlib.eu/springbeans/t"
5
       xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="
6
		http://www.springframework.org/schema/beans
7
		http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
8
        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
9
		http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd
10
		http://www.springframework.org/schema/tx
11
		http://www.springframework.org/schema/tx/spring-tx.xsd"
12
       default-autowire="byName" >
13
    <!--default-lazy-init="true"-->
14
    <bean id="statsdataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
15
        <property name="driverClassName" value="${services.statsManager.db.driverClassName}"/>
16
        <property name="url" value="${services.statsManager.db.url}"/>
17
        <property name="username" value="${services.statsManager.db.username}"/>
18
        <property name="password" value="${services.statsManager.db.password}"/>
19
        <property name="maxIdle" value="10"/>
20
        <property name="maxActive" value="100"/>
21
        <property name="maxWait" value="10000"/>
22
        <property name="validationQuery" value="SELECT 1;"/>
23
        <property name="testOnBorrow" value="true"/>
24
        <property name="testOnReturn" value="true"/>
25
        <property name="testWhileIdle" value="true"/>
26
        <property name="timeBetweenEvictionRunsMillis" value="1200000"/>
27
        <property name="minEvictableIdleTimeMillis" value="1800000"/>
28
        <property name="numTestsPerEvictionRun" value="5"/>
29
        <property name="poolPreparedStatements" value="true"/>
30
        <property name="defaultAutoCommit" value="true"/>
31
    </bean>
32

    
33

    
34
    <bean id="statsManager" class="eu.dnetlib.data.statsmanager.StatsManager">
35
        <property name="dataSource" ref="statsdataSource"/>
36
        <property name="prodCacheController" ref="prodCacheController"/>
37
        <property name="testCacheController" ref="testCacheController"/>
38
        <property name="validator" ref="validator"/>
39

    
40
    </bean>
41

    
42
    <bean id="validator" class="eu.dnetlib.data.statsmanager.Validator">
43
        <property name="validationQueriesFile" value="${services.statsManager.validationQueriesFile}"/>
44
        <property name="dataSource" ref="statsdataSource"/>
45
         <property name="shadowSearchURL" value="${services.statsManager.shadowSearchServiceURL}"/>
46
        <property name="schema" value="${services.statsManager.schema}"/>
47
        <property name="historySchema" value="${services.statsManager.historySchema}"/>
48

    
49
    </bean>
50

    
51

    
52
    <bean id="testcacheActions" class="java.util.HashMap">
53
        <constructor-arg>
54
            <map key-type="java.lang.String" value-type="java.net.URL">
55
                <entry key="refreshAll" value="${services.statsManager.actions.testURL}${services.statsManager.actions.refreshAll}"/>
56
                <entry key="refreshNums" value="${services.statsManager.actions.testURL}${services.statsManager.actions.refreshNums}"/>
57
                <entry key="refreshCharts" value="${services.statsManager.actions.testURL}${services.statsManager.actions.refreshCharts}"/>
58
                <entry key="promoteNums" value="${services.statsManager.actions.testURL}${services.statsManager.actions.promoteNums}"/>
59
                <entry key="promoteCharts" value="${services.statsManager.actions.testURL}${services.statsManager.actions.promoteCharts}"/>
60
                <entry key="promoteAll" value="${services.statsManager.actions.testURL}${services.statsManager.actions.promoteAll}"/>
61
                <entry key="refreshAll" value="${services.statsManager.actions.testURL}${services.statsManager.actions.refreshAll}"/>
62
                <entry key="backup" value="${services.statsManager.actions.testURL}${services.statsManager.actions.backup}"/>
63
                <entry key="migrate" value="${services.statsManager.actions.testURL}${services.statsManager.actions.migrate}"/>
64
                <entry key="restore" value="${services.statsManager.actions.testURL}${services.statsManager.actions.restore}"/>
65
             </map>
66
   </constructor-arg>
67
    </bean>
68

    
69
    <bean id="prodcacheActions" class="java.util.HashMap">
70
        <constructor-arg>
71
            <map key-type="java.lang.String" value-type="java.net.URL">
72
                <entry key="refreshAll" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.refreshAll}"/>
73
                <entry key="refreshNums" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.refreshNums}"/>
74
                <entry key="refreshCharts" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.refreshCharts}"/>
75
                <entry key="promoteNums" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.promoteNums}"/>
76
                <entry key="promoteCharts" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.promoteCharts}"/>
77
                <entry key="promoteAll" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.promoteAll}"/>
78
                <entry key="refreshAll" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.refreshAll}"/>
79
                <entry key="backup" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.backup}"/>
80
                <entry key="migrate" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.migrate}"/>
81
                <entry key="restore" value="${services.statsManager.actions.prodURL}${services.statsManager.actions.restore}"/>
82
            </map>
83
        </constructor-arg>
84
    </bean>
85

    
86

    
87
    <bean id="testCacheController" class="eu.dnetlib.data.statsmanager.CacheController">
88
        <property name="actions" ref="testcacheActions"/>
89
        <property name="httpsCredentials" value="${services.statsManager.testhttpsCredentials}"/>
90

    
91
    </bean>
92

    
93

    
94
    <bean id="prodCacheController" class="eu.dnetlib.data.statsmanager.CacheController">
95
        <property name="actions" ref="prodcacheActions"/>
96
        <property name="httpsCredentials" value="${services.statsManager.prodhttpsCredentials}"/>
97

    
98
    </bean>
99

    
100
    <bean id="blackboardHandler" class="eu.dnetlib.enabling.tools.blackboard.BlackboardHandlerImpl">
101
        <property name="registryLocator" ref="cnr.registryLocator"/>
102
        <property name="messageFactory">
103
            <bean class="eu.dnetlib.miscutils.jaxb.JaxbFactory">
104
                <constructor-arg value="eu.dnetlib.enabling.tools.blackboard.BlackboardMessageImpl"/>
105
            </bean>
106
        </property>
107
    </bean>
108

    
109
    <bean id="statsServiceBlackboardHandler" class="eu.dnetlib.data.statsmanager.StatsManagerServiceBlackboardHandler"
110
          lazy-init="true">
111
        <property name="statsManager" ref="statsManager"/>
112
        <property name="blackboardHandler" ref="blackboardHandler"/>
113
    </bean>
114

    
115
    <!--  the service bean -->
116
    <bean id="statsService"
117
          class="eu.dnetlib.data.statsmanager.StatsManagerServiceImpl"
118
          autowire="no">
119
        <property name="snManager" ref="snManager"/>
120
        <property name="serviceIdentity">
121
            <bean class="eu.dnetlib.utils.ServiceIdentityFactory"
122
                  factory-method="createIdentity">
123
                <constructor-arg value="${services.statsManager.serviceName}"/>
124
            </bean>
125
        </property>
126
        <property name="statsManagerServiceBlackboardHandler" ref="statsServiceBlackboardHandler"/>
127
    </bean>
128

    
129
    <!-- The web service bean -->
130
        <bean id="statsWebServiceImpl"
131
    class="eu.dnetlib.clients.data.statsmanager.ws.StatsManagerWebServiceImpl">
132
    <property name="service" ref="statsService"/>
133
    </bean>
134

    
135
    <!-- Service endpoint -->
136
    <jaxws:endpoint
137
            id="statsWebService"
138
            implementor="#statsWebServiceImpl"
139
            implementorClass="eu.dnetlib.clients.data.statsmanager.ws.StatsManagerWebService"
140
            address="/statsWebService"/>
141

    
142
    <template:instance name="nkua.serviceRegistrationManager"
143
                       t:name="statsServiceRegistrationManager"
144
                       t:service="statsService"
145
                       t:endpoint="statsWebService"
146
                       t:serviceRegistrator="statsServiceRegistrator"/>
147

    
148
    <bean id="statsServiceRegistrator" parent="serviceRegistrator">
149
    <property name="serviceProperties">
150
        <map>
151
            <entry key="Stats_db_Url" value="${services.statsManager.db.url}"/>
152

    
153
        </map>
154
    </property>
155
</bean>
156

    
157
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
158
        <property name="locations">
159
            <list>
160
                <!-- Default location inside war file -->
161
                <value>classpath:eu/dnetlib/data/statsmanager/springContext-statsManager.properties</value>
162
                <!--<value>classpath:dnet-override.properties</value>-->
163
                <!-- Environment specific location, a fixed path on server -->
164
                <!--<value>file:///var/lib/tomcat7/app.properties</value>-->
165
            </list>
166
        </property>
167
        <property name="ignoreResourceNotFound" value="true"/>
168
    </bean>
169

    
170

    
171
    <tx:annotation-driven transaction-manager="stats.txManager"/>
172
    <bean id="stats.txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
173
        <property name="dataSource" ref="statsdataSource"/>
174
    </bean>
175
</beans>
(2-2/4)