繁体   English   中英

春季例外汉德林生产与发展

[英]Spring Exception Handeling Production vs Development

我正在使用Spring MVC,我正在以这里描述的第一种方式处理异常: http//www.javacodegeeks.com/2013/06/spring-mvc-error-handling-flow.html

这基本上是将以下代码放在web.xml中

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/uncaughtException</location>
</error-page> 

现在,我需要为生产和开发制作两种类型的视图。 为了开发,我将打印完整的堆栈跟踪,为了生产,我会说:“发生了一些不好的事情,请稍后再试”。 我需要建议来区分生产和开发。 我正在使用apache maven进行编译,并且有一个标志“-Dbuild.type = dev”,表示它是一个开发编译。

任何帮助将不胜感激,谢谢。

看一下spring的Environment抽象,请参阅http://spring.io/blog/2011/02/11/spring-framework-3-1-m1-released/

您可以在生产和开发maven配置文件中放置一个变量,并将其映射到java bean。

这是配置文件位

<profiles>
    <profile>
        <id>prod</id>
        <properties>
            <system.serverType>PROD</system.serverType>
        </properties>
    </profile>
    <profile>
        <id>qa</id>
        <properties>
            <system.serverType>QA</system.serverType>
        </properties>
    </profile>
</profiles>

然后在/src/main/resources/applicationContext.xml中

<bean id="system" class="com.company.project.System" 
    p:serverType="${system.serverType}"
/>

然后,它将构建配置文件映射到您的java类。

public class System {
    public static enum ServerType {PROD, QA, DEV} 

    private ServerType serverType;
    public void setServerType(ServerType serverType) {
        this.serverType = serverType;
    }
    public ServerType getServerType() {
        return serverType;
    }

    public boolean isProduction() {
        return serverType == ServerType.PROD;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM