我在OSGI环境中运行Servlets,具体来说,我使用Karaf和Pax Web / Jetty。
我很高兴使用BundleActivator来实例化servlet并使用HttpService注册它们。我喜欢它的是它通过连接ServiceTracker为我提供了一种非常简单的方法来处理依赖注入。
但是,对于某些事情,我只能找到有关如何通过经典web.xml配置进行设置的文档。具体来说,我错过了transport-guarantee
指令的等价物,我。即告诉HttpService,在某些URL上,它应该坚持使用HTTPS并在必要时重定向客户端。
或者,如果我像往常一样使用web.xml
描述符文件,但仍然可以方便而简单地将servlet连接到我的OSGi服务,我会很好。
答案 0 :(得分:0)
现在我说这是一个仅限web.xml的功能。可能想要打开新的功能请求。关于在Servlet中注入OSGi服务。如果您将应用程序与Pax CDI结合使用,则可以通过CDI方式注入OSGi服务。
@WebServlet(urlPatterns = "/myServlet")
public class MyServlet extends HttpServlet {
@Inject
@OsgiService
private AnotherService service;
...