簡體   English   中英

為Java中的計算創建調試網頁的最佳方法是什么?

[英]What is the best way to create a debugging web page for a computation in Java?

我正在開發一個使用一些復雜計算(與NLP相關)的網站。 我的客戶希望為其中的某些計算提供“調試”網頁,在這里他可以使用任意輸入運行它們,並查看計算過程中發生的所有中間結果。

在此請求之前,所有計算都封裝在bean中,中間結果記錄到常規日志中。

在Java級別捕獲所有這些結果以將其呈現為網頁的最佳方法是什么?

我建議在您的應用程序中嵌入一個servlet容器(Apache Tomcat或Jetty,我更喜歡Tomcat),並為Web界面創建一組JSP / JSF servlet。 該解決方案將使您可以在Web界面中使用所有Java企業技術(例如JAAS),並避免重新發明輪子。

我估計要用tomcat創建這樣的解決方案到1天密集復制/粘貼的工作量。 在骨骼開始呼吸之后,可以使用幾次鼠標拖動/單擊操作,在Eclipse可視化工具中創建網頁本身。

相關鏈接是如何嵌入tomcat 6 嵌入Jetty Eclipse JSF Tools

最后,我提出以下解決方案:在計算中使用可選的ThreadLocal<Map>來存儲中間值。 最后,它看起來像這樣:

public class ComplexComputation {
    public static final ThreadLocal<Map<String, Object>> DATA 
        = new ThreadLocal<Map<String, Object>>();

    public Result compute(Inputs inputs) {
        // ... do something ...
        if (DATA.get() != null) { DATA.get().put("intermediate", intermediate); }
        // ... do something ...
        return result;
    }
}

public void computationDebuggingCaller() {
    ComplexComputation.DATA.set(new HashMap<String, Object>());
    new ComplexComputation().compute(...);
    Object intermediate = ComplexComputation.DATA.get().get("intermediate");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM