在Restlet中表单实例化时间

时间:2011-10-04 06:51:14

标签: rest restlet

我是Restlet框架的新手,我在服务器资源的post方法中遇到以下时间问题。 我的帖子方法代码

@Post
    public Representation represent(Representation entity){
        try{
            //Thread.sleep(1000);
            long start = System.currentTimeMillis();
            Form aForm = new Form(getRequestEntity());
            System.err.println("FORM Instantiation TIME: " + (System.currentTimeMillis()-start));
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return new StringRepresentation("hello");
    }

在不同的路径上,我得到的输出是1900-1999 ms。但是如果我取消注释Thread.sleep(1000),那么时间输出是900-999 ms。任何人都可以确认在实例化Form对象时发生了什么,以及为什么时间总是1900+ ms。排除这个时间问题对我来说很重要,因为我必须实现基于令牌的身份验证以减少post方法处理时间。

1 个答案:

答案 0 :(得分:0)

很抱歉迟到的回复。我使用的restlet版本是2.0.7 这是详细信息

public static void main(String[] args) throws Exception {
        Component component = new Component();
        component.getServers().add(Protocol.HTTP, 8182); 
        VirtualHost aHost = component.getDefaultHost();
        aHost.attach("/sample", new MyApplication());
        component.getLogger().setLevel(Level.OFF);
        component.start();
        System.err.println("REST SERVICE STARTED ON PORT NUMBER 8182...");
    }

我在本地运行此应用程序,而不是在任何Web / App Server中运行。