如何在 OSGi 中向 Jetty 提供 XML 配置文件(或如何在此类环境中配置 Jetty 日志记录)

How to provide XML config files to Jetty in OSGi (or how to configure jetty logging in such env)

我有 Equinox OSGi 容器和 Equinox HTTP Jetty 服务。 Equinox HTTP Jetty 服务使用系统属性来配置一些基本参数,例如侦听端口和 SSL 证书,但无法配置,例如 Jetty 日志记录。我该怎么做?

实际上我需要底层 Jetty 服务器的访问日志。

整个环境如下所示:

恐怕这不可能。 Jetty 以编程方式配置。您必须扩展 Equinox HTTP 服务实现并以编程方式将访问记录器添加到 Jetty。

如前所述,嵌入式模式下的 Jetty 无法做到这一点,但如果您使用 Pax-Web 作为中介层,您将获得那些易于使用的功能。不妨也看看 Apache Karaf 作为易于使用的 OSGi-Container 它也使用 Pax Web 作为 HttpService Provider。在这种情况下,Pax-Web 的另一个好处是,您还可以使用白板方法向其注册应用程序的 Servlet。 另请参阅 Jetty 可以 configured 与 Pax-Web

的方式