/
eventHandlerContext.xml
153 lines (140 loc) · 7.7 KB
/
eventHandlerContext.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to Apereo under one or more contributor license
agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership.
Apereo licenses this file to you under the Apache License,
Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a
copy of the License at the following location:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<!-- ================================================================================
| This section of this file relates to handling portal events as they are fired.
+ ================================================================================== -->
<!--
| List of event filters to apply to all event listeners that handle newly fired events.
+-->
<util:list id="listenerEventFilters">
<!-- Can be used to filter events based on event type using an instanceof check -->
<bean class="org.apereo.portal.spring.context.ClassApplicationEventFilter">
<property name="supportedEvents">
<list>
<value>org.apereo.portal.events.PortalEvent</value>
</list>
</property>
<!-- Can configure a list of events to ignore based on event type using an instanceof check. For example
if you are using Google Analytics, you can ignore most PortletExecutionEvents (retain
PortletActionExecutionEvent for logging Search Events for the search terms) and some other Events.
You may want to retain login, logout, layout changes, Portlet hung, and tenant events.
Note that the PortletExecutionEvents include information about time to execute the portlet event
(action, render, event, and resource events) which could be helpful to report on times that
individual portlets are taking to do their operations. At the moment though there are currently
no reports shipping in uPortal to aggregate and report on that information (you could write it and
contribute it though!). It is an example of information that Google Analytics would not currently
report on.
<property name="ignoredEvents">
<list>
<value>org.apereo.portal.events.PortletEventExecutionEvent</value>
<!- - <value>org.apereo.portal.events.PortletActionExecutionEvent</value> retain for Search terms - ->
<value>org.apereo.portal.events.PortletRenderExecutionEvent</value>
<value>org.apereo.portal.events.PortletRenderHeaderExecutionEvent</value>
<value>org.apereo.portal.events.PortletResourceExecutionEvent</value>
<value>org.apereo.portal.events.PortalRenderEvent</value>
</list>
</property>
-->
</bean>
<!-- Can be used to filter events based on who generated the event
<bean class="org.apereo.portal.events.handlers.UserFilteringPortalEventHandler">
<property name="ignoredUserNamePatterns">
<list>
<value>user\..*</value>
<value>vptest-user.*</value>
</list>
</property>
<property name="supportGuest" value="true" />
</bean>
-->
</util:list>
<!--
| Event Listeners, these are beans that implement the Spring ApplicationListener interface to handle application
| events. Most of these beans also extend from FilteringApplicationListener which allows for a list of
| ApplicationEventFilters to be configured.
+-->
<!--
<bean class="org.apereo.portal.spring.context.LoggingEventHandler">
<property name="applicationEventFilters" ref="listenerEventFilters" />
</bean>
-->
<!--
| Queues raw events that pass the filter criteria for storing into the database.
+-->
<bean id="portalEventDaoQueuingEventHandler" class="org.apereo.portal.events.handlers.db.PortalEventDaoQueuingEventHandler">
<property name="applicationEventFilters" ref="listenerEventFilters" />
</bean>
<!-- ================================================================================
| This section of this file relates to the aggregation of persisted portal events
+ ================================================================================== -->
<!--
| List of event filters to apply to all event aggregators. Used to ignore certain events
| during aggregation, such as events from monitoring tools.
+-->
<util:list id="aggregatorEventFilters">
<bean class="org.apereo.portal.events.handlers.UserFilteringPortalEventHandler">
<!-- Uncomment to ignore specific users
<property name="ignoredUserNames">
<list>
<value>ovis.webiso</value>
</list>
</property>
-->
<!-- Uncomment to ignore username patterns
<property name="ignoredUserNamePatterns">
<list>
<value>user\..*</value>
<value>vptest-user.*</value>
<value>portal\..*</value>
</list>
</property>
-->
</bean>
</util:list>
<!--
| Event Aggregators - These run in a single thread on a single node in the portal cluster. They are used to iterate
| through all events stored by the portalEventDaoQueuingEventHandler.
|
| All beans that implement IPortalEventAggregator are used during aggregation
+-->
<!-- Useful for debugging, logs each event as it is processed by the aggregation system
<bean id="loggingPortalEventAggregator" class="org.apereo.portal.events.aggr.LoggingPortalEventAggregator" />
-->
<bean id="portletExecutionAggregatorAll" class="org.apereo.portal.events.aggr.portletexec.PortletExecutionAggregator"/>
<bean id="portletExecutionAggregatorAction" class="org.apereo.portal.events.aggr.portletexec.PortletExecutionAggregator">
<property name="executionType" value="ACTION" />
</bean>
<bean id="portletExecutionAggregatorEvent" class="org.apereo.portal.events.aggr.portletexec.PortletExecutionAggregator">
<property name="executionType" value="EVENT" />
</bean>
<bean id="portletExecutionAggregatorRender" class="org.apereo.portal.events.aggr.portletexec.PortletExecutionAggregator">
<property name="executionType" value="RENDER" />
</bean>
<bean id="portletExecutionAggregatorResource" class="org.apereo.portal.events.aggr.portletexec.PortletExecutionAggregator">
<property name="executionType" value="RESOURCE" />
</bean>
</beans>