我不會經常弄亂WebSphere來知道這是否可行。我希望我的J2EE或普通的Java應用程序知道它正在運行的方塊,即PRODUCTION,DEVELOPMENT或TEST,並相應地使用PROD,DEVL或TEST資源。由於此信息對所有應用程序都很常見,因此我不想將其存儲在任何特定的應用程序中。是否可以在所有J2EE(Struts2)應用程序和普通Java應用程序都可以訪問的Linux機器上或WebSphere(所有應用程序之外)中存儲(environment?)變量?我很感謝在這方面的任何指示。謝謝。從J2EE和Java應用程序中讀取公共變量
回答
是的。我不是WebSphere用戶,但快速搜索提供了這個:Setting environment entries in WebSphere Application Server。
的WebSphere Application Server 7.0,8.0,8.5和8.5.5
打開管理控制檯。
選擇服務器>(展開服務器類型)> WebSphere應用程序服務器> server_name>(展開Java™和進程管理)>進程定義>環境條目>新建。
將條目添加到名稱/值對中。
單擊確定。
保存對主配置的更改並重新啓動應用程序服務器。
WebSphere Application Server 6.1
打開管理控制檯。
選擇服務器>應用程序服務器> server_name>(展開Java™和進程管理)>進程定義>環境條目>新建。
將條目添加到名稱/值對中。
單擊確定。
保存對主配置的更改並重新啓動應用程序服務器。
我在JBoss/Wildfly中做了幾乎相同的事情。您只需設置一個條目JVM的環境。
編輯迴應1評論:
我認爲這是一個安全的猜測,你的Java應用程序並不在同一個JVM上的WebSphere的J2EE應用程序運行。單獨的JVM =單獨的環境。我們使用Java Web Start來分發和啓動來自不同環境的本地Java應用程序 - 每個服務器環境都會寫入一個包含適當應用程序設置的JNLP。如果您只需要在同一臺計算機上的應用程序知道它們的位置,那麼您可以設置一個shell variable,正如您所說的那樣,它可以被WebSphere和Java應用程序讀取。
編輯#2,有關的WebSphere - 在進一步調查後:
我也發現了這一點,這是這個問題的部分重複:Place for setting environment variables for WebSphere JVM process。那裏的答案指出,使用WebSphere GUI輸入env變量對於集羣也是可取的。
您可能想要將WebSphere特定方法與shell變量結合使用。
- 1. J2EE和標準Java應用程序Log4j.properties
- 2. 在java中使用公共變量
- 3. Java公共變量多類
- 4. 單和公共靜態變量的Java
- 5. 如何從TomCat中運行的Java應用程序讀取Apache Httpd Env變量?
- 6. Facebook從公共應用程序連接
- 7. 從公共ip訪問應用程序
- 8. 在java web應用程序中共享公共文本文件
- 9. 應用程序組件的公共變量Angular2
- 10. 在我的Swing應用程序中共享一個公共變量
- 11. 私人和公共變量
- 12. 從.NET應用程序枚舉和讀取Java應用程序的UI控件
- 13. 從Java中讀取xsl轉換變量
- 14. 流星應用程序無法讀取mobile_config.js中的應用程序變量
- 15. 在Revel應用程序中閱讀「公共」文件內容
- 16. 從'C'程序中提取變量定義和變量引用
- 17. 從部署的應用程序獲取Azure公共IP地址
- 18. 公用塊和子程序自變量
- 19. 使用公共變量編程
- 20. 如何在j2ee應用程序中共享會話?
- 21. 循環讀取和從外部讀取hadoop HDFS文件Java應用程序
- 22. 從java中的C++/c#程序讀取共享內存
- 23. 類中的公共變量
- 24. Scala中的公共變量?
- 25. asp.net中的公共變量
- 26. QML:公共變量
- 27. 角:公共變量
- 28. 從Java/J2EE應用程序上傳文件到SharePoint
- 29. 公共變量的Android/Java的
- 30. ASP.NET應用變量vs從ConfigurationSettings.AppSettings讀取
謝謝。我嘗試了這個和http://stackoverflow.com/questions/6979958/read-a-environment-variable-in-java-with-websphere的建議,但是當我做一個System.getenv(「VAR」)時,它來自我的J2EE應用程序,但不是來自我的Java應用程序。 System.getProperty在任一應用程序中都不起作用 – user1005585
@ user1005585請參閱編輯響應 –
此外,System.getProperty在此不適用,因爲您沒有通過切換到java命令傳遞信息,例如 '#設置系統屬性。 -Dcom.ibm.example.system.property = ExampleValue' –