Project

General

Profile

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>
(3-3/4)