40
我們正在使用RESTlet爲我們的項目做一個小的REST服務器。我們成立了一個類繼承Application
一堆路線:Restlet,CLAP,Ajax和塊超時
public static void createRestServer(ApplicationContext appCtx, String propertiesPath) throws Exception {
// Create a component
Component component = new Component();
component.getServers().add(Protocol.HTTP, 8081);
component.getClients().add(Protocol.FILE);
component.getClients().add(Protocol.CLAP);
Context context = component.getContext().createChildContext();
RestServer application = new RestServer(context);
application.getContext().getParameters().add("useForwardedForHeader", "true");
application.getContext().getAttributes().put("appCtx", appCtx);
application.getContext().getAttributes().put("file", propertiesPath);
// Attach the application to the component and start it
component.getDefaultHost().attach(application);
component.start();
}
private RestServer(Context context) {
super(context);
}
public synchronized Restlet createInboundRoot() {
Router router = new Router(getContext());
// we then have a bunch of these
router.attach("/accounts/{accountId}", AccountFetcher.class); //LIST Account level
// blah blah blah
// finally some stuff for static files:
//
Directory directory = new Directory(getContext(),
LocalReference.createClapReference(LocalReference.CLAP_CLASS, "/"));
directory.setIndexName("index.html");
router.attach("/", directory);
return router;
}
的問題:如果我要求的.js文件在JAR通過Ajax從網頁(也可通過CLAP加載從這個JAR ),它只會返回該文件的第一個7737字節,然後掛起。我無法讓它返回文件的其餘部分。它始終在完全相同的字節數後掛起。 1次50次。
任何想法,爲什麼它掛?我可以關閉CLAP的分塊編碼和靜態文件(我們所有的都很小)。
這使我們變得瘋狂。
你可以說明您正在使用的的Restlet的版本。你有沒有嘗試最新的2.2版本(穩定)? –
您是直接連接到容器(Jetty,Tomcat,...)還是有一些東西在 - 就像Apache HTTP Server?我們遇到了這個數據在8kb後關閉連接的問題。 – cheffe
GI完整的部署細節包括JDK版本,Servlet引擎版本? –