0

我在哪里可以在 Restlet Web 应用程序中嵌入启动初始化代码,而不使用 ServletContextListener?

我希望将我的 Restlet 透明地部署到 JBoss/Tomcat 之类的 Web 服务器上,并希望摆脱 Listener 中的初始化逻辑 - 以便能够方便地将其部署在 Web 服务器之外,如果需要的话- 绝对不适合大量生产使用,但它仍然很有价值。

将它插入到org.restlet.Component构造函数中会确保它只执行一次吗?那是放置它的正确位置吗?

public class MyComponent extends org.restlet.Component
{
  public MyComponent() //constructor
  {
    //insert initialization code here that should run ONLY ONCE?

    this.getDefaultHost().attach(new MyApplication()); // MyApplication extends org.restlet.Application
  }
}

我浏览了文档并查看了类似的帖子:RESTlet 启动初始化已弃用?但我仍然不确定这是否是正确的方法。如果可能的话,我想删除对监听器的依赖。

4

1 回答 1

1

使用 Component 的构造函数是进行初始化处理的好地方,您可以确保这样的处理只执行一次。

您可以注意到组件的方法 start / stop 也可以在您的情况下使用。不要忘记在其中调用 super 方法。当您启动/停止通常执行一次的组件时会调用这些方法...

希望它可以帮助你。蒂埃里

于 2012-03-16T09:09:16.297 回答