Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2

    
3
<beans xmlns="http://www.springframework.org/schema/beans"
4
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
       xmlns:jaxws="http://cxf.apache.org/jaxws"
6
       xmlns:template="http://dnetlib.eu/springbeans/template"
7
       xmlns:t="http://dnetlib.eu/springbeans/t"
8
       xmlns:tx="http://www.springframework.org/schema/tx"
9

    
10
       xsi:schemaLocation="
11
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
12
        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
13
		http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd
14
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"
15
       default-autowire="no">
16

    
17
    <bean id="stats.dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
18
        <property name="driverClassName" value="${services.statsManager.db.driverClassName}"/>
19
        <property name="url" value="${services.statsManager.db.url}"/>
20
        <property name="username" value="${services.statsManager.db.username}"/>
21
        <property name="password" value="${services.statsManager.db.password}"/>
22
        <property name="maxIdle" value="10"/>
23
        <property name="maxActive" value="100"/>
24
        <property name="maxWait" value="10000"/>
25
        <property name="validationQuery" value="SELECT 1;"/>
26
        <property name="testOnBorrow" value="true"/>
27
        <property name="testOnReturn" value="true"/>
28
        <property name="testWhileIdle" value="true"/>
29
        <property name="timeBetweenEvictionRunsMillis" value="1200000"/>
30
        <property name="minEvictableIdleTimeMillis" value="1800000"/>
31
        <property name="numTestsPerEvictionRun" value="5"/>
32
        <property name="poolPreparedStatements" value="true"/>
33
        <property name="defaultAutoCommit" value="true"/>
34
    </bean>
35

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

    
42
    </bean>
43

    
44
    <bean id="validator" class="eu.dnetlib.data.statsmanager.Validator">
45
        <property name="validationQueriesFile" value="${services.statsManager.validationQueriesFile}"/>
46
        <property name="dataSource" ref="stats.dataSource"/>
47
        <property name="shadowSearchURL" value="${services.statsManager.shadowSearchServiceURL}"/>
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

    
158
    <tx:annotation-driven transaction-manager="stats.txManager"/>
159
    <bean id="stats.txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
160
        <property name="dataSource" ref="stats.dataSource"/>
161
    </bean>
162
</beans>
(2-2/3)