Wednesday, April 8, 2009

Spring Config

Web.xml

  • Context Param
<.context-param.>
<.param-name.>contextConfigLocation<./param-name.>
<.value.>/WEB-INF/spring/applicationContext.xml<./param-value.>
<./context-param.>
<.context-param.>
<.param-name>log4jExposeWebAppRoot<./param-name>
<.param-value>false<./param-value..>
<./context-param.>



  • Dispatcher Servlet
<.servlet>
<.servlet-name.>searchApp<./servlet-name.>
<.servlet-class.>com.ea.sw.search.web.servlet.SearchDispatcherServlet<./servlet-class.>
<.servlet-class.>org.springframework.web.servlet.DispatcherServlet<./servlet-class.>
<.init-param.>
<.param-name.>contextConfigLocation<./param-name.>
<.param-value.>/WEB-INF/spring/webContext.xml<./param-value.>
<./init-param.>
<.load-on-startup.>1<./load-on-startup.>
<./servlet.>




WebContext.xml
  • URL Mapping
<.bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping".>
<.property name="mappings".>
<.props.>
<.prop key="/all">allSearchSequentialController<./prop.>
<./props>
<./property.>
<.property name="alwaysUseFullPath".>
<.value>true<./value.>
<./property.>
<./bean.>

  • ArrayList
<.bean id="handlers" class="java.util.ArrayList".>
<.constructor-arg.>
<.list.>
<.ref bean="groupSearchHandler"/.>
<.ref bean="mediaSearchHandler"/.>
<.ref bean="personaSearchHandler"/.>
<./list.>
<./constructor-arg.>
<./bean.>

  • ArrayList - Load Properties
<.bean id="locations" class="java.util.ArrayList".>
<.constructor-arg.>
<.list.>
<.value.>classpath:default.properties<./value.>
<.value.>classpath:index.properties<./value.>
<./list.>
<./constructor-arg.>
<./bean.>

  • Property Placeholder Config
<.bean id="placeholderConfig" class="com.ea.sw.search.spring.CustomPropertyPlaceHolderConfigurer".>
<.property name="locations" ref="locations"/.>
<./bean.>

  • Application Properties
<.bean id="appProperties" class="com.ea.sw.search.util.AppProperties".>
<.property name="properties".>
<.bean class="org.springframework.beans.factory.config.PropertiesFactoryBean".>
<.property name="locations" ref="locations"/.>
<./bean.>
<./property.>
<./bean.>
  • Map
<.bean id="dateMap" class="java.util.HashMap".>
<.constructor-arg.>
<.map.>
<.entry key="m".><.value>MINUTE<./value.><./entry.>
<.entry key="h".><.value>HOUR<./value.><./entry.>
<.entry key="d".><.value>DAY<./value.><./entry.>
<.entry key="y".><.value>YEAR<./value.><./entry.>
<./map.>
<./constructor-arg.>
<./bean.>

  • Data Source
<.bean id="searchDS" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource".>
<.property name="driverClassName".><.value.>${jdbc.driverClassName}<./value.><./property.>
<.property name="url".><.value.>${jdbc.url}<./value.><./property.>
<.property name="username".><.value.>${jdbc.username}<./value.><./property.>
<.property name="password".><.value.>${jdbc.password}<./value.><./property.>
<./bean.>

  • JDBC Templae
<.bean id="searchJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate".>
<.property name="dataSource" ref="searchDS"/.>
<.property name="fetchSize" value="${jdbc.fetch.size}"/.>
<./bean.>

  • Scheduler Configurations
<.bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean".>
<.property name="triggers".>
<.list.>
<.ref bean="mediaIndexTrigger" /.>
<./list.>
<./property.>
<./bean.>

<.bean id="mediaIndexTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean".>
<.property name="startDelay" value="${media.index.start}" /.>
<.property name="repeatInterval" value="${media.cron.interval}" /.>
<.property name="jobDetail".>
<.bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean".>
<.property name="targetObject" ref="mediaIndex" /.>
<.property name="targetMethod" value="index" /.>
<.property name="concurrent" value="false" /.>
<./bean.>
<./property.>
<./bean.>

<.bean id="mediaIndex" class="com.ea.sw.search.indexer.impl.DefaultIndexImpl".>
<./bean.>

No comments:

Post a Comment