Jakarta ee Glassfish 3.1:我是在开发环境中运行还是在生产环境中运行?

Jakarta ee Glassfish 3.1:我是在开发环境中运行还是在生产环境中运行?,jakarta-ee,deployment,glassfish,environment-variables,Jakarta Ee,Deployment,Glassfish,Environment Variables,JavaEE应用程序确定其是否在开发或生产Glassfish服务器上运行的最佳方法是什么?如果您使用的是jsf,请尝试以下方法: FacesContext fc = FacesContext.getCurrentInstance(); Application a = fc.getApplication(); if (a.getProjectStage() == ProjectStage.Development) { } 您可以为此使用JNDI。请执行以下操作: FacesContext fc

JavaEE应用程序确定其是否在开发或生产Glassfish服务器上运行的最佳方法是什么?

如果您使用的是jsf,请尝试以下方法:

FacesContext fc = FacesContext.getCurrentInstance(); 
Application a = fc.getApplication();
if (a.getProjectStage() == ProjectStage.Development) { }

您可以为此使用JNDI。请执行以下操作:

FacesContext fc = FacesContext.getCurrentInstance(); 
Application a = fc.getApplication();
if (a.getProjectStage() == ProjectStage.Development) { }
创建资源文件:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE resources PUBLIC "-//Sun Microsystems Inc.//DTD Application Server 9.0 Domain//EN" "*<install directory>/lib/dtds/sun-resources_1_3.dtd*">

<resources>
    <custom-resource 
        res-type="java.lang.Boolean" 
        jndi-name="production" 
        factory-class="org.glassfish.resources.custom.factory.PrimitivesAndStringFactory">
            <description>Determines, wether the Frontend is running in Production or not. AFTER CHANGING, FRONTEND NEEDS TO BE REDEPLOYED</description>
            <property name="value" value="true"/> <!-- Change the value as needed -->
    </custom-resource>

</resources>
如果需要区分更多环境,请使用字符串而不是布尔值


HTH

谢谢,但是我将GWT用于前端,然后将servlet和EJB用于后端。事实上,在GWT中很容易确定它是在开发模式下运行还是在生产模式下运行。但我需要在服务器端确定它。