我们在更大的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的属性,但无法识别。
答案 0 :(得分:0)
您可以扩展VaadinServlet
并使用VaadinServletConfiguration
注释。
来自docs:
用于配置VaadinServlet子类的注释。为一个 VaadinServlet类有这个注释,定义的值是 在初始化期间读取并将使用 DeploymentConfiguration.getApplicationOrSystemProperty(String,String) 以及DeploymentConfiguration中的特定方法。在里面 web.xml中定义的params或@WebServlet注释 优先于此注释中定义的值。
你可以像这样使用它:
@VaadinServletConfiguration(productionMode = false)
public class MyAppServlet extends VaadinServlet {
}