声明为Bean时设置VaadinServlet ProductonMode

时间:2017-06-15 15:11:13

标签: java vaadin7 karaf blueprint-osgi

我们在更大的OSGI(karaf 4)应用程序中使用Vaadin7并使用蓝图声明VaadinServlet:

<?xml version="1.0" encoding="UTF-8"?>
<blueprint default-activation="eager" xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<!-- Vaadin servlet serving static Vaadin resources -->
<service interface="javax.servlet.Servlet">
  <service-properties>
    <entry key="servlet-name" value="Vaadin Resources" />
    <entry key="alias" value="/VAADIN-ui" />
    <entry key="contextId" value="app-vaadin" />
  </service-properties>
  <bean class="com.vaadin.server.VaadinServlet" />
</service>

默认情况下,Vaadin在调试模式下运行,并且设置为ProductionMode,需要设置为true。这可以作为上下文参数完成,但应用程序不使用web.xml文件。我曾尝试将其设置为bean的属性,但无法识别。

1 个答案:

答案 0 :(得分:0)

您可以扩展VaadinServlet并使用VaadinServletConfiguration注释。

来自docs:

  

用于配置VaadinServlet子类的注释。为一个   VaadinServlet类有这个注释,定义的值是   在初始化期间读取并将使用   DeploymentConfiguration.getApplicationOrSystemProperty(String,String)   以及DeploymentConfiguration中的特定方法。在里面   web.xml中定义的params或@WebServlet注释   优先于此注释中定义的值。

你可以像这样使用它:

@VaadinServletConfiguration(productionMode = false)
public class MyAppServlet extends VaadinServlet {
}
相关问题