| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF 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 |
| |
| 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="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:tx="http://www.springframework.org/schema/tx" |
| xmlns:context="http://www.springframework.org/schema/context" |
| xmlns:jaxrs="http://cxf.apache.org/jaxrs" |
| xmlns:jaxws="http://cxf.apache.org/jaxws" |
| xsi:schemaLocation=" |
| http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd |
| http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd |
| http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd |
| http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd |
| http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd" |
| > |
| <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> |
| <property name="persistenceUnitName" value="openmeetings" /> |
| </bean> |
| <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> |
| <property name="entityManagerFactory" ref="entityManagerFactory" /> |
| </bean> |
| <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> |
| |
| <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> |
| <context:annotation-config /> |
| <context:component-scan base-package="org.apache.openmeetings" /> |
| |
| <!-- New Class for the Streaming Handlers --> |
| <bean id="web.handler" class="org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter" /> |
| |
| <!-- Session configuration start --> |
| |
| <bean id="openmeetings.SessionManager" class="org.apache.openmeetings.core.session.SessionManager"> |
| <property name="cache"> |
| <!-- Memory based session cache by default --> |
| <ref bean="openmeetings.HashMapStore" /> |
| <!-- The following section should be used in clustering mode |
| <ref bean="openmeetings.DatabaseStore" /> |
| --> |
| </property> |
| </bean> |
| |
| <!-- Singleton for memory based cache --> |
| <bean id="openmeetings.HashMapStore" scope="singleton" class="org.apache.openmeetings.core.session.store.HashMapStore" /> |
| <!-- Database cache --> |
| <bean id="openmeetings.DatabaseStore" class="org.apache.openmeetings.core.session.store.DatabaseStore" /> |
| |
| <bean id="whiteBoardObjectListManagerById" scope="singleton" class="org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectListManagerById" /> |
| <!-- WhiteBoardObjectSyncManager can stay in the memory, even on cluster! --> |
| <bean id="whiteBoardObjectSyncManager" scope="singleton" class="org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectSyncManager" /> |
| |
| <!-- Cluster related config start --> |
| <bean id="openmeetings.ServerUtil" scope="singleton" class="org.apache.openmeetings.core.session.ServerUtil"> |
| <!-- Need to be uncommented and set to the real ID if in cluster mode |
| <property name="serverId" value="1" /> |
| --> |
| </bean> |
| |
| <!-- Start of Services --> |
| <bean id="xmlcrm.service" class="org.apache.openmeetings.core.remote.MainService" /> |
| <bean id="invitationservice.service" class="org.apache.openmeetings.core.remote.InvitationService" /> |
| <bean id="whiteboardservice.service" class="org.apache.openmeetings.core.remote.WhiteBoardService" /> |
| <bean id="userservice.service" class="org.apache.openmeetings.core.remote.UserService" /> |
| <bean id="fileservice.service" class="org.apache.openmeetings.core.remote.ConferenceLibrary" /> |
| <bean id="openmeetings.FileProcessor" class="org.apache.openmeetings.core.data.file.FileProcessor" /> |
| <bean id="openmeetings.FlvExplorerConverter" class="org.apache.openmeetings.core.converter.FlvExplorerConverter" /> |
| <bean id="conferenceservice.service" class="org.apache.openmeetings.core.remote.ConferenceService" /> |
| <bean id="recordingservice.service" class="org.apache.openmeetings.core.remote.RecordingService" /> |
| <bean id="mobile.service" class="org.apache.openmeetings.core.remote.MobileService" /> |
| <bean id="openmeetings.RecordingConverterTask" class="org.apache.openmeetings.core.data.record.converter.RecordingConverterTask" /> |
| <bean id="openmeetings.InterviewConverterTask" class="org.apache.openmeetings.core.data.record.converter.InterviewConverterTask" /> |
| <bean id="openmeetings.InterviewConverter" class="org.apache.openmeetings.core.converter.InterviewConverter" /> |
| <bean id="openmeetings.RecordingConverter" class="org.apache.openmeetings.core.converter.RecordingConverter" /> |
| <bean id="openmeetings.SlaveHTTPConnectionManager" class="org.apache.openmeetings.webservice.cluster.SlaveHTTPConnectionManager" /> |
| |
| <bean id="openmeetings.SessionClearJob" class="org.apache.openmeetings.service.quartz.scheduler.SessionClearJob"> |
| <property name="timeout" value="1800000"/><!-- 30 minutes --> |
| </bean> |
| <bean id="sessionClearJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
| <property name="targetObject"> |
| <ref bean="openmeetings.SessionClearJob" /> |
| </property> |
| <property name="targetMethod" value="doIt" /> |
| <property name="concurrent" value="false" /> |
| </bean> |
| <bean id="triggerSessionClear" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> |
| <property name="jobDetail"> |
| <!-- see the example of method invoking job above --> |
| <ref bean="sessionClearJob" /> |
| </property> |
| <property name="startDelay" value="5000"/><!-- 5 seconds --> |
| <property name="repeatInterval" value="300000" /><!-- repeat every 300 seconds == 5 minutes --> |
| </bean> |
| |
| <bean id="openmeetings.MeetingReminderJob" class="org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob" /> |
| <bean id="meetingReminderClear" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
| <property name="targetObject"> |
| <ref bean="openmeetings.MeetingReminderJob" /> |
| </property> |
| <property name="targetMethod" value="doIt"/> |
| <property name="concurrent" value="false" /> |
| </bean> |
| <bean id="triggerMeetingReminder" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> |
| <property name="jobDetail"> |
| <!-- see the example of method invoking job above --> |
| <ref bean="meetingReminderClear" /> |
| </property> |
| <property name="startDelay" value="5000"/><!-- 5 seconds --> |
| <property name="repeatInterval" value="100000"/><!-- repeat every 100 seconds --> |
| </bean> |
| <bean id="testSetupCleanupJob" class="org.apache.openmeetings.service.quartz.scheduler.TestSetupCleanupJob" /> |
| <bean id="testSetupCleanup" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
| <property name="targetObject"> |
| <ref bean="testSetupCleanupJob" /> |
| </property> |
| <property name="targetMethod" value="doIt"/> |
| <property name="concurrent" value="false" /> |
| </bean> |
| <bean id="triggerTestSetupCleanup" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> |
| <property name="jobDetail"> |
| <ref bean="testSetupCleanup" /> |
| </property> |
| <property name="startDelay" value="1800000"/><!-- 30 minutes --> |
| <property name="repeatInterval" value="1800000"/> <!-- 30 minutes --> |
| </bean> |
| |
| <!-- Mail related jobs --> |
| <bean id="mailHandler" class="org.apache.openmeetings.core.mail.MailHandler" /> |
| <bean id="resetSendingMailStatus" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
| <property name="targetObject"> |
| <ref bean="mailHandler" /> |
| </property> |
| <property name="targetMethod" value="resetSendingStatus"/> |
| <property name="concurrent" value="false" /> |
| </bean> |
| <bean id="triggerResetSendingMailStatus" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> |
| <property name="jobDetail"> |
| <ref bean="resetSendingMailStatus" /> |
| </property> |
| <property name="startDelay" value="60000"/> <!-- 1 minute --> |
| <property name="repeatInterval" value="900000"/> <!-- 15 minutes --> |
| </bean> |
| <bean id="sendMails" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
| <property name="targetObject"> |
| <ref bean="mailHandler" /> |
| </property> |
| <property name="targetMethod" value="sendMails"/> |
| <property name="concurrent" value="false" /> |
| </bean> |
| <bean id="triggerSendMails" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> |
| <property name="jobDetail"> |
| <ref bean="sendMails" /> |
| </property> |
| <property name="startDelay" value="60000"/> <!-- 1 minute --> |
| <property name="repeatInterval" value="60000"/> <!-- 1 minute --> |
| </bean> |
| |
| <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> |
| <property name="triggers"> |
| <list> |
| <ref bean="triggerSessionClear" /> |
| <ref bean="triggerMeetingReminder" /> |
| <ref bean="triggerTestSetupCleanup" /> |
| <ref bean="triggerResetSendingMailStatus" /> |
| <ref bean="triggerSendMails" /> |
| </list> |
| </property> |
| </bean> |
| <!-- End of Services --> |
| |
| <!-- Interface Transactional --> |
| <bean id="roommanagement" class="org.apache.openmeetings.core.data.conference.RoomManager" /> |
| <bean id="roomDao" class="org.apache.openmeetings.db.dao.room.RoomDao"/> |
| <bean id="sipDao" class="org.apache.openmeetings.db.dao.room.SipDao"> |
| <!-- Should be uncommented and updated with real values for Asterisk |
| <constructor-arg><value>127.0.0.1</value></constructor-arg> |
| <constructor-arg><value>5038</value></constructor-arg> |
| <constructor-arg><value>openmeetings</value></constructor-arg> |
| <constructor-arg><value>12345</value></constructor-arg> |
| <constructor-arg><value>10000</value></constructor-arg> |
| --> |
| </bean> |
| <bean id="invitationDao" class="org.apache.openmeetings.db.dao.room.InvitationDao" /> |
| <bean id="groupDao" class="org.apache.openmeetings.db.dao.user.GroupDao" /> |
| <bean id="groupUserDao" class="org.apache.openmeetings.db.dao.user.GroupUserDao" /> |
| <bean id="errorManagement" class="org.apache.openmeetings.db.dao.basic.ErrorDao" /> |
| <bean id="navimanagement" class="org.apache.openmeetings.db.dao.basic.NavigationDao" /> |
| <bean id="pollManagement" class="org.apache.openmeetings.db.dao.room.PollDao" /> |
| <bean id="labelDao" class="org.apache.openmeetings.db.dao.label.LabelDao" /> |
| <bean id="configurationDaoImpl" class="org.apache.openmeetings.db.dao.basic.ConfigurationDao" /> |
| <bean id="appointmentDao" class="org.apache.openmeetings.db.dao.calendar.AppointmentDao" /> |
| <bean id="appointmentLogic" class="org.apache.openmeetings.service.calendar.AppointmentLogic" /> |
| <bean id="sessionManagement" class="org.apache.openmeetings.db.dao.server.SessiondataDao" /> |
| <bean id="userManagement" class="org.apache.openmeetings.service.user.UserManager" /> |
| <bean id="roomModeratorDao" class="org.apache.openmeetings.db.dao.room.RoomModeratorDao" /> |
| <bean id="roomGroupDao" class="org.apache.openmeetings.db.dao.room.RoomGroupDao"/> |
| <bean id="conferenceLogDao" class="org.apache.openmeetings.db.dao.log.ConferenceLogDao" /> |
| <bean id="emailManagement" class="org.apache.openmeetings.service.mail.EmailManager" /> |
| <bean id="fileExplorerItemDao" class="org.apache.openmeetings.db.dao.file.FileExplorerItemDao" /> |
| <bean id="recordingDao" class="org.apache.openmeetings.db.dao.record.RecordingDao" /> |
| <bean id="recordingLogDao" class="org.apache.openmeetings.db.dao.record.RecordingLogDao" /> |
| <bean id="recordingMetaDataDao" class="org.apache.openmeetings.db.dao.record.RecordingMetaDataDao" /> |
| <bean id="recordingMetaDeltaDao" class="org.apache.openmeetings.db.dao.record.RecordingMetaDeltaDao" /> |
| <bean id="ldapConfigDao" class="org.apache.openmeetings.db.dao.server.LdapConfigDao" /> |
| <bean id="invitationManagement" class="org.apache.openmeetings.service.room.InvitationManager" /> |
| <bean id="meetingMemberDao" class="org.apache.openmeetings.db.dao.calendar.MeetingMemberDao" /> |
| <bean id="privateMessageFolderDao" class="org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao" /> |
| <bean id="privateMessageDao" class="org.apache.openmeetings.db.dao.user.PrivateMessageDao" /> |
| <bean id="soapLoginDao" class="org.apache.openmeetings.db.dao.server.SOAPLoginDao" /> |
| <bean id="userContactDao" class="org.apache.openmeetings.db.dao.user.UserContactDao" /> |
| <bean id="userDao" class="org.apache.openmeetings.db.dao.user.UserDao" /> |
| <bean id="serverDao" class="org.apache.openmeetings.db.dao.server.ServerDao" /> |
| <bean id="chatDao" class="org.apache.openmeetings.db.dao.basic.ChatDao" /> |
| <bean id="clientDao" class="org.apache.openmeetings.db.dao.room.ClientDao" /> |
| <bean id="mailMessageDao" class="org.apache.openmeetings.db.dao.basic.MailMessageDao" /> |
| <bean id="oauth2Dao" class="org.apache.openmeetings.db.dao.server.OAuth2Dao" /> |
| |
| <!-- No Interface --> |
| <bean id="generateImage" class="org.apache.openmeetings.core.converter.GenerateImage" /> |
| <bean id="generateThumbs" class="org.apache.openmeetings.core.converter.GenerateThumbs" /> |
| <bean id="generatePDF" class="org.apache.openmeetings.core.documents.GeneratePDF" /> |
| <bean id="smsHandler" class="org.apache.openmeetings.core.mail.SMSHandler" /> |
| <bean id="importInitvalues" class="org.apache.openmeetings.installation.ImportInitvalues" /> |
| <bean id="generateSWF" class="org.apache.openmeetings.core.converter.GenerateSWF" /> |
| <bean id="fileUtils" class="org.apache.openmeetings.core.data.file.FileUtils" /> |
| <bean id="ldapLoginManagement" class="org.apache.openmeetings.core.ldap.LdapLoginManagement" /> |
| <bean id="timezoneUtil" class="org.apache.openmeetings.db.util.TimezoneUtil" /> |
| <bean id="whiteboardManagement" class="org.apache.openmeetings.core.data.whiteboard.WhiteboardManager" /> |
| <bean id="backupExport" class="org.apache.openmeetings.backup.BackupExport" /> |
| <bean id="backupImport" class="org.apache.openmeetings.backup.BackupImport" /> |
| |
| <!-- Thread Executor --> |
| <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> |
| <property name="corePoolSize" value="5" /> |
| <property name="maxPoolSize" value="10" /> |
| <property name="queueCapacity" value="25" /> |
| </bean> |
| |
| <!-- CXF beans --> |
| <bean id="calendarWebService" class="org.apache.openmeetings.webservice.CalendarWebService" /> |
| <bean id="errorWebService" class="org.apache.openmeetings.webservice.ErrorWebService" /> |
| <bean id="fileWebService" class="org.apache.openmeetings.webservice.FileWebService" /> |
| <bean id="groupWebService" class="org.apache.openmeetings.webservice.GroupWebService" /> |
| <bean id="recordWebService" class="org.apache.openmeetings.webservice.RecordingWebService" /> |
| <bean id="roomWebService" class="org.apache.openmeetings.webservice.RoomWebService" /> |
| <bean id="serverWebService" class="org.apache.openmeetings.webservice.ServerWebService" /> |
| <bean id="userWebService" class="org.apache.openmeetings.webservice.UserWebService" /> |
| <bean id="netTestWebService" class="org.apache.openmeetings.webservice.NetTestWebService" /> |
| |
| <!-- (writeXsiType=false) --> |
| <jaxrs:server id="server" address="/"> |
| <jaxrs:serviceBeans> |
| <ref bean="calendarWebService"/> |
| <ref bean="errorWebService"/> |
| <ref bean="fileWebService"/> |
| <ref bean="groupWebService"/> |
| <ref bean="recordWebService"/> |
| <ref bean="roomWebService"/> |
| <ref bean="serverWebService"/> |
| <ref bean="userWebService"/> |
| <ref bean="netTestWebService"/> <!-- JaxRs only --> |
| </jaxrs:serviceBeans> |
| </jaxrs:server> |
| <jaxws:endpoint id="calendarServiceWS" address="/CalendarService" implementor="#calendarWebService"/> |
| <jaxws:endpoint id="errorServiceWS" address="/ErrorService" implementor="#errorWebService" /> |
| <jaxws:endpoint id="groupServiceWS" address="/GroupService" implementor="#groupWebService" /> |
| <jaxws:endpoint id="fileServiceWS" address="/FileService" implementor="#fileWebService" /> |
| <jaxws:endpoint id="recordServiceWS" address="/RecordService" implementor="#recordWebService" /> |
| <jaxws:endpoint id="roomServiceWS" address="/RoomService" implementor="#roomWebService" /> |
| <jaxws:endpoint id="serverServiceWS" address="/ServerService" implementor="#serverWebService" /> |
| <jaxws:endpoint id="userServiceWS" address="/UserService" implementor="#userWebService" /> |
| </beans> |