2011-09-24 144 views
0

我正在從.net遷移到java,我尚未在java應用程序部署中使用。我用於部署作爲獨立應用程序的控制檯基本應用程序,這是一種混合了tcp和udp服務器以及自定義協議的應用程序。部署終端庫Java應用程序

我有一個要求,我的移植到java的.net應用程序必須部署在tomcat或玻璃魚內(沒有嵌入的東西)。我真的不知道我必須使用什麼技術。我一直在尋找網絡,但我的理解是,tomcat就像IIS,僅適用於Web應用程序,而玻璃魚也是用於託管Web應用程序的應用程序服務器。我真的可以在tomcat或玻璃魚內運行我的java控制檯基礎應用程序嗎?有人能指出一個好的教程這種東西?謝謝!

編輯1 好吧,得到了我需要在tomcat/glassfish中部署我的應用程序的原因。我需要爲我的應用程序提供一個Web UI,因爲我當前正在使用控制檯進行用戶輸入。現在我的應用程序不僅支持自定義的tcp/udp服務器,而且還支持用於管理的web功能。任何建議如何我可以實現這一點非常感謝,我只是不知道什麼Java api /技術開始。

+0

一種方式使您在使用用戶輸入的控制檯? – home

+0

目前我正在使用控制檯進行用戶輸入,只是爲了簡單處理我的配置文件。但現在我的目標是能夠在tomcat/glassfish中部署我的應用程序,那麼我不妨使用web ui與我的應用程序進行通信。 – powerbox

+0

我已經研究了很多這個東西再次檢查這個[文章] [1] [1]:http://stackoverflow.com/questions/791986/background-thread-for-a-tomcat -servlet-app – powerbox

回答

0

我不確定爲什麼你的要求說你需要使用servlet container運行一個應用程序。我不認爲至少根據你的描述你的應用程序適合servlet容器編程模型。

只要你創建一個entry point,我想你可以通過命令行或者使用java or javaw啓動應用程序,

,但如果你不能改變部署到tomcat的要求,您可以做到這一點使用servlet來啓動應用程序,我將這些東西

讀了

這裏是你可以做使用servlet和部署此到tomcat

public class LaunchServlet extends HttpServlet 
    { 
    private static final long serialVersionUID = 4277145689972356257L; 
     //this method is run as tomcat starts up this servlet 
    public void init() throws ServletException 
    { 
     try 
     { 
      System.out.println("Launching my application..."); 
      new Thread(new ApplicationLauncher()).start(); 
      System.out.println("Launched my application successfully. "); 
     } 
     catch(Exception e) 
     { 
      throw new RuntimeException("Fail Fast: Unable to launch exception."); 
     } 
    } 

     class ApplicationLauncher implements Runnable 
     { 
     public void run() 
     { 
       //start you applicaton here 
     } 

     } 

    } 
+0

如果我要這樣做,那麼我需要管理我的應用程序主線程,因爲我懷疑tomcat/glassfish知道它。 – powerbox

+0

得到了這個工作。謝謝。 – powerbox