0

私は Windows マシンで Websphere 8.5 を使用して開発していますが、メインフレームのテストと製品は Websphere 8.5 です。アプリケーション MyApp は、MyApp_Env という名前の特定のシステム環境に依存しています。基本的に、このシステム環境は、実行中の環境 (Dev、Test、Prod) を示します。Windowsでは、システム環境としてセットアップしました。このアプリケーションがユーザー テストのためにメインフレームに移行するとき、メインフレームで実行されている Websphere 8.5 では、そのような変数が [アプリケーション サーバー] > [MyServer] > [プロセス定義] > [サーバント] > [環境エントリ] で設定されます。Test Websphere 管理コンソールにアクセスできるので、それを見ることができます。ローカルな理由により、Prod Websphere 管理コンソールにアクセスできないため、この変数の値を確認したいと考えています。ishell にアクセスできるので、(1) echo $MyApp_Env、(2) set MyApp_Env、(3) env MyApp_Env、(4) printenv MyApp_Env の 4 つの選択肢を試しました。単純なprintenvとenvの後に1つずつ探して見つけようとしましたが、成功しませんでした。それで、私の質問は、どうすれば Unix シェル経由で MyApp_Env の値を発見できるでしょうか? 変数が Websphere Servant.Environment Entries の 1 つとしてあると確信していますが、それを印刷するにはどうすればよいですか? 端末で実行されているシェルの環境変数に属していないため、変数を表示できないと思います。しかし、確かに、開かれたターミナルとは異なる他のプロセスで使用可能な環境変数を確認する方法が存在する必要があります。端末で実行されているシェルの環境変数に属していないため、変数は表示されません。しかし、確かに、開かれたターミナルとは異なる他のプロセスで使用可能な環境変数を確認する方法が存在する必要があります。端末で実行されているシェルの環境変数に属していないため、変数は表示されません。しかし、確かに、開かれたターミナルとは異なる他のプロセスで使用可能な環境変数を確認する方法が存在する必要があります。

4

1 に答える 1

0

Prod マシンの管理コンソールにアクセスすることはできませんが、Unix シェルから wsadmin を実行できることを前提としています。その場合は、テキスト・エディターを使用して、次のような myScript という名前のスクリプト・ファイルを作成し、wsadmin -f /pathToScript/myScript.jacl を使用して実行します。

#get the config id of server, change Cell, Node and Server values for your env
set server1 [$AdminConfig getid /Cell:myCell/Node:myNode/Server:myServer]
# assume there is only one process definition, if there are more, you will need loop over them
set proc [$AdminConfig list JavaProcessDef $server1]
# get the list of environment entries for the process definition
set envs [lindex [$AdminConfig showAttribute $proc environment] 0]
# loop over them and display name and value of each
foreach propEntry $envs {
  puts [$AdminConfig showAttribute $propEntry name]
  puts [$AdminConfig showAttribute $propEntry value]
}
于 2016-02-09T20:33:54.607 に答える