j Boss 4.2.2 から最新バージョンまでを使用しています。Java 開発キット 1.5 から 1.7 までの最新バージョンをすべて J Boss バージョンで使用しています。Java コードで J Boss バージョンを取得する方法。
2 に答える
5 にはプロパティ ファイルがあります: /org/jboss/version.properties キー version.major および version.minor がケースを探します。ファイルをプロパティにロードして読み取る必要があります。以下のリンクを参照してください。
このファイルは jboss6.1 でも保持されています。
あなたがjboss7を求めていることに気づきました....しかし、役立つ場合に備えて、私が行った作業を残します(とにかく、5および6バージョンで有効なアプローチです)jboss7の場合、2つの方法を見つけました:
方法1
github からコードをチェックアウトすると、ソースにこの Versoin.properties が見つかりません。しかし、バージョンとリリース コード名をプロパティとして格納する Version.class を見つけることができました。ソースコードからわかるように、 Version.AS_VERSION を使用して必要なものを取得できます。
public class Version {
public static final String AS_VERSION;
public static final String AS_RELEASE_CODENAME;
public static final int MANAGEMENT_MAJOR_VERSION = 1;
public static final int MANAGEMENT_MINOR_VERSION = 4;
public static final int MANAGEMENT_MICRO_VERSION = 0;
static {
InputStream stream = Version.class.getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
Manifest manifest = null;
try {
if (stream != null)
manifest = new Manifest(stream);
} catch (Exception e) {
}
String version = null, code = version;
if (manifest != null) {
version = manifest.getMainAttributes().getValue("JBossAS-Release- Version");
code = manifest.getMainAttributes().getValue("JBossAS-Release-Codename");
}
if (version == null) {
version = "Unknown";
}
if (code == null) {
code = "Unknown";
}
AS_VERSION = version;
AS_RELEASE_CODENAME = code;
}
}
WAY2
グーグルで見つけたが、個人的には確認していない別のオプションは、JMX を使用することです (おそらく、このアプローチを好むでしょう)。
ModelControllerClient client = ModelControllerClient.Factory.create(InetAddress.getByName("localhost"), 9999);
ModelNode op = new ModelNode();
op.get(ClientConstants.OP).set("read-resource");
ModelNode returnVal = client.execute(op);
logger.info("release-version: " + returnVal.get("result").get("release-version").asString());
logger.info("release-codename: " + returnVal.get("result").get("release-codename").asString());
また、jboss-admin コマンドライン インターフェイスから、次のコマンドから情報を取得できます。 /:read-attribute(name=release-version)
/:read-attribute(name=release-codename)
ノート:
ソースコードは git clone https://github.com/wildfly/wildfly.gitの下にあります (jboss Web サイトはまだ古いリンクに送信されます)。
このチュートリアルを試してください: https://community.jboss.org/thread/176932?start=0&tstart=0