2012-12-23 53 views
1

我想激活我的application.To春天的個人資料這樣做,春天檔案不默認活動的配置文件

我已經在web.xml中添加一個參數,可以激活默認的配置文件的工作。

<context-param> 
<param-name>spring.profiles.active</param-name> 
<param-value>dev</param-value> 
<context-param> 

這是我操作屬性的jdbc文件。 我jdbc.context.xml文件

<?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-3.1.xsd 
       http://www.springframework.org/schema/mvc 
       http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">  
    <context:property-placeholder location="/WEB-INF/classes/jdbc.properties" /> <!-- TODO: config for different profiles, http://www.javacodegeeks.com/2012/06/spring-31-profiles-and-tomcat.html --> 
    <beans profile="dev"> 
     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
      <property name="driverClass" value="${jdbc.driverClassName}"/> 
      <property name="jdbcUrl" value="${jdbc.url}"/> 
      <property name="user" value="${jdbc.username}"/> 
      <property name="password" value="${jdbc.password}"/> 
      </bean> 
     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
      <property name="dataSource"> 
       <ref bean="dataSource" /> 
      </property> 
      <property name="packagesToScan" value="com.i2sm.common" /> 
      <property name="hibernateProperties"> 
       <props> 
        <prop key="hibernate.dialect">${jdbc.hibernate.dialect}</prop> 
        <prop key="hibernate.show_sql">true</prop> 
       </props> 
      </property> 
     </bean> 
    </beans> 
</beans> 

但是,當我重新啓動我的Tomcat服務器,它拋出我下面的異常

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Sun Dec 23 00:57:22 GMT 2012]; root of context hierarchy 
     at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:337) 
     at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:324) 
     at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1030) 
     at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:993) 
     at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:548) 
     at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142) 
     at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4831) 
     at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5478) 
     at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
     at java.lang.Thread.run(Thread.java:722) 

    Any Suggestion? 

回答

1

我認爲你需要指定spring.profiles.default作爲context-param而不是spring.profiles.active

<context-param> 
    <param-name>spring.profiles.default</param-name> 
    <param-value>dev</param-value> 
</context-param> 

看這個questionrefer this

+0

BUt註釋配置文件(「開發」)不工作在類?任何建議 – user1030128