2011-06-25 20 views
-1

是否有可能來設計應用在GAE上以這種方式 - 管理部分 - GWT,吉斯 - 用戶部分 - 吉斯,HTML,JSGAE - 這可能劃分應用

他們應該是獨立的出於性能原因。據我所知,應用程序可以在每個請求上啓動,因此沒有理由每次啓動並將管理器部件加載到內存中。 正如我讀過的,它不可能在2個應用程序之間共享數據存儲。也許guice支持這種情況?

編輯

抱歉,我再試一次

  1. 我發現,應用程序可以重新啓動爲每個HTTP請求。即使是相同的用戶,並在同一會話
  2. 需要幾珍貴秒鐘就可以啓動應用程序
  3. 應用的
  4. 部分很少使用,這將是在GWT寫的,將是相當沉重,只能由管理員 使用我認爲我可以在這裏節省一些時間 - 關於注入,類初始化等。但也許我錯了所有的資源 是按需創建,沒有問題。 我只是不知道guice和gwt
+1

不知道你的意思。 – Margus

+1

爲什麼他們應該因爲性能原因而獨立? –

回答

0

我想你是在談論豆類的懶惰創造。它是如此的默認(除非您使用toInstance綁定):

package com.sopovs.moradanen; 

import javax.inject.Singleton; 

import com.google.inject.Guice; 
import com.google.inject.Injector; 

public class Main { 
public static void main(String[] args) { 
    System.out.println("Creating injector"); 
    Injector injector = Guice.createInjector(); 
    System.out.println("Injector created"); 
    System.out.println("Getting instance of Foo"); 
    injector.getInstance(Foo.class); 
    System.out.println("Got instance of Foo"); 

    System.out.println("Getting instance of Bar"); 
    injector.getInstance(Bar.class); 
    System.out.println("Got instance of Bar"); 

    System.out.println("Getting another instance of Foo"); 
    injector.getInstance(Foo.class); 
    System.out.println("Got another instance of Foor"); 
} 

@Singleton 
public static class Foo { 

    public Foo() { 
     System.out.println("Foo Created"); 
    } 
} 

@Singleton 
public static class Bar { 

    public Bar() { 
     System.out.println("Bar Created"); 
    } 
} 
} 

輸出是:

Creating injector 
Injector created 
Getting instance of Foo 
Foo Created 
Got instance of Foo 
Getting instance of Bar 
Bar Created 
Got instance of Bar 
Getting another instance of Foo 
Got another instance of Foor