2013-03-23 95 views
3

我編寫了Java SE程序,該程序處理了非常龐大的矩陣(10^12矩陣)數據集。我通過迭代器生成它們並將特殊的(符合某些條件)保存到Java堆或數據庫中。所以,我知道這需要很多時間(可能幾天)。爲了操作所有這些東西,我決定在計算機上運行該程序,該程序不在我的公寓並且可以訪問互聯網。我想控制程序的runnig過程(對於我來說非常重要,要知道程序中的一切正常嗎?程序是否仍在運行?)控制遠程運行Java SE程序

我的問題是如何控制我的程序仍在運行(爲此目的我想在我的公寓和互聯網上使用電腦)?

也許我的程序應該定期發佈(通過Java IO API)消息到網站(Google Docs等)。預先感謝您的回覆。

+0

SSH呢? – w4etwetewtwet 2013-03-23 12:02:38

+0

SSH我什至不知道它是什麼?你能提供更多的信息嗎? – 2013-03-23 12:08:02

+0

這是一種在遠程計算機上獲取終端shell訪問的方法,我建議你google一下。使用它可以使用命令行進程管理工具與您的程序進行通信。 – w4etwetewtwet 2013-03-23 12:09:51

回答

2

啓用JPDA運行您的應用程序。通過這種方式,您可以遠程連接它,檢查線程等。

JPDA還具有許多其他優點,例如熱代碼替換。

Specification for JPDA在這裏,最重要的是,您必須在啓動時傳遞幾個JVM選項,它將打開一個端口,並且您可以使用Eclipse或NetBeans從網絡上的任何位置附加它。您必須確保打開的端口可以通過防火牆(本地和網絡)訪問。

+0

謝謝@GaborSch我會探索它。 – 2013-03-23 11:53:29

+0

如果你有兩臺機器之間的低帶寬,這將不能有效地工作,雖然。 – gaborsch 2013-03-23 11:59:35

+0

謝謝@GaborSch。我認爲這沒有問題。 – 2013-03-23 12:23:12

1

首先,您應該嘗試遠程桌面連接。 Here's link to MS documents for Windows 7 remote desktop

如果遠程計算機的Linux/Unix,和你的程序是控制檯應用程序,ssh+screen是舊的,真實和測試的解決方案,以保持運行,並從任何地方訪問交互式控制檯程序,當你在現實世界中嬉戲。

+0

謝謝。不幸的是,我在Windows 7上。 – 2013-03-23 11:52:45

+0

因此,您無法在遠程Win7計算機上啓用遠程桌面? – hyde 2013-03-23 11:54:01

+0

說實話我從來沒有這樣做,我會definetly嘗試這樣做。謝謝。 – 2013-03-23 12:00:08

1

我會去VisualVM &遠程JMX。設置服務器框以允許遠程jmx連接。使用VisualVM,您可以連接到JVM並檢查活動。

您還可以設置MBean以保留運行進程的統計信息。你也可以用VisualVM查看。

+0

謝謝你,我會谷歌所有的建議! – 2013-03-23 12:04:10

+0

這個添加到服務器的過程:-Dcom.sun.management.jmxremote.port = 1234 -Dcom.sun.management.jmxremote。authenticate = false -Dcom.sun.management.jmxremote.ssl = false -Djava.rmi.server.hostname = <服務器的IP> 而且您可以使用VisualVM進行連接。 – 2013-03-23 12:23:39

+0

MBeans教程 - 您是否需要定製一些內容:http://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html – 2013-03-23 12:26:26