1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3
|
xmlns:jaxws="http://cxf.apache.org/jaxws"
|
4
|
xmlns:p="http://www.springframework.org/schema/p"
|
5
|
xmlns:http="http://cxf.apache.org/transports/http/configuration"
|
6
|
xmlns="http://www.springframework.org/schema/beans"
|
7
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
8
|
http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
|
9
|
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
|
10
|
<!-- beans -->
|
11
|
<bean id="msroService" class="eu.dnetlib.msro.MSROServiceImpl"
|
12
|
init-method="start" destroy-method="stop"
|
13
|
p:notificationHandler-ref="msroNotificationHandlerChain"/>
|
14
|
|
15
|
<bean id="msroNotificationHandlerChain"
|
16
|
class="eu.dnetlib.enabling.tools.blackboard.NotificationHandlerChainImpl">
|
17
|
<property name="handlerExecutor">
|
18
|
<bean class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"
|
19
|
p:corePoolSize="32" p:keepAliveSeconds="3600" p:queueCapacity="0"/>
|
20
|
</property>
|
21
|
<property name="handlers">
|
22
|
<list>
|
23
|
<ref bean="msroBlackboardNotificationHandler"/>
|
24
|
</list>
|
25
|
</property>
|
26
|
</bean>
|
27
|
|
28
|
<bean id="msroNodeHelper" class="eu.dnetlib.msro.workflows.util.NodeHelper"/>
|
29
|
|
30
|
<bean id="msroProcessRegistry" class="eu.dnetlib.msro.workflows.procs.ProcessRegistry"
|
31
|
p:maxSize="${msro.wf.registry.maxSize}"/>
|
32
|
|
33
|
<bean id="msroProcessFactory" class="eu.dnetlib.msro.workflows.procs.ProcessFactory"/>
|
34
|
|
35
|
<bean id="msroGraphLoader"
|
36
|
class="eu.dnetlib.msro.workflows.graph.GraphLoader"
|
37
|
p:nodeHelper-ref="msroNodeHelper"/>
|
38
|
|
39
|
|
40
|
<bean id="msroWorkflowExecutor" class="eu.dnetlib.msro.workflows.procs.WorkflowExecutor"
|
41
|
p:graphLoader-ref="msroGraphLoader"
|
42
|
p:processFactory-ref="msroProcessFactory"
|
43
|
p:processRegistry-ref="msroProcessRegistry"
|
44
|
p:processEngine-ref="msroProcessEngine"
|
45
|
init-method="init">
|
46
|
|
47
|
</bean>
|
48
|
|
49
|
<bean id="msroProcessEngine" class="eu.dnetlib.msro.workflows.procs.ProcessEngine"
|
50
|
p:nodeHelper-ref="msroNodeHelper"
|
51
|
p:dnetLogger-ref="msroWorkflowLogger"/>
|
52
|
|
53
|
|
54
|
<bean id="workflowsConstants" class="eu.dnetlib.msro.workflows.util.WorkflowsConstants"
|
55
|
init-method="init"
|
56
|
p:datasourceProtocolsJson="${msro.wf.ui.dataprovider.protocols}"
|
57
|
p:datasourceTypologiesJson="${msro.wf.ui.dataprovider.typologies}">
|
58
|
</bean>
|
59
|
|
60
|
<bean id="msroBlackboardNotificationHandler"
|
61
|
class="eu.dnetlib.enabling.tools.blackboard.DeletingBlackboardNotificationHandler"
|
62
|
p:blackboardHandler-ref="blackboardClientHandler"/>
|
63
|
|
64
|
|
65
|
<bean id="msroJobSchedulerAccessor"
|
66
|
class="org.springframework.scheduling.quartz.SchedulerAccessorBean"
|
67
|
p:scheduler-ref="jobScheduler">
|
68
|
<property name="triggers">
|
69
|
<list>
|
70
|
<bean class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"
|
71
|
p:startDelay="6000" p:repeatCount="0">
|
72
|
<property name="jobDetail">
|
73
|
<bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
|
74
|
p:targetObject-ref="msroBlackboardSubscriber" p:targetMethod="subscribeAll"/>
|
75
|
</property>
|
76
|
</bean>
|
77
|
<bean class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"
|
78
|
p:startDelay="${msro.wf.scheduler.startDelay}" p:repeatInterval="${msro.wf.scheduler.repeatInterval}">
|
79
|
<property name="jobDetail">
|
80
|
<bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
|
81
|
p:targetObject-ref="msroScheduledWorkflowLauncher" p:targetMethod="verifySheduledWorkflows"/>
|
82
|
</property>
|
83
|
</bean>
|
84
|
<bean class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"
|
85
|
p:startDelay="${msro.wf.mail.thread.startDelay}" p:repeatInterval="${msro.wf.mail.thread.repeatInterval}">
|
86
|
<property name="jobDetail">
|
87
|
<bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
|
88
|
p:targetObject-ref="msroMailDispatcher" p:targetMethod="processMailQueue"/>
|
89
|
</property>
|
90
|
</bean>
|
91
|
</list>
|
92
|
</property>
|
93
|
</bean>
|
94
|
|
95
|
<bean id="msroBlackboardSubscriber" class="eu.dnetlib.msro.workflows.nodes.blackboard.BlackboardSubscriber"
|
96
|
p:endpoint-ref="msroServiceEndpoint"/>
|
97
|
|
98
|
<bean id="msroScheduledWorkflowLauncher" class="eu.dnetlib.msro.cron.ScheduledWorkflowLauncher"
|
99
|
p:processRegistry-ref="msroProcessRegistry" p:workflowExecutor-ref="msroWorkflowExecutor"
|
100
|
p:windowSize="${msro.wf.scheduler.window.size}"/>
|
101
|
|
102
|
|
103
|
<bean id="msroWorkflowLogger" class="eu.dnetlib.msro.logging.DnetLogger"
|
104
|
p:name="${msro.wf.logger.name}" p:indexConf="${msro.wf.logger.index.conf}"/>
|
105
|
|
106
|
<bean id="msroMailDispatcher" class="eu.dnetlib.msro.notification.EmailDispatcher"
|
107
|
p:from="${msro.wf.mail.from}" p:fromName="${msro.wf.mail.fromName}" p:cc="${msro.wf.mail.cc}"
|
108
|
p:smtpHost="${msro.wf.mail.smtp.host}" p:smtpPort="${msro.wf.mail.smtp.port}" p:smtpUser="${msro.wf.mail.smtp.user}"
|
109
|
p:smtpPassword="${msro.wf.mail.smtp.password}"
|
110
|
p:baseUrl="${msro.wf.mail.message.baseUrl}" p:infrastructure="${msro.wf.mail.message.infrastructure}"/>
|
111
|
|
112
|
|
113
|
<!-- endpoints -->
|
114
|
<jaxws:endpoint id="msroServiceEndpoint" implementor="#msroService"
|
115
|
implementorClass="eu.dnetlib.rmi.manager.MSROService"
|
116
|
address="/msro"/>
|
117
|
|
118
|
|
119
|
</beans>
|