如何在域模式下将属性文件加载到 JBOSS7
How to load a properties file into JBOSS 7 in domain mode
我们在独立模式下进行了早期开发,其中 属性 文件可以包含在命令行中。
现在我们正在进行部署,服务器将处于域模式,但方便的命令行 属性 不再起作用。
我看到属性可以用 jboss-cli 加载或放在 domain.xml 中,但它们的形式与标准属性文件不同。我不想更改文件,因为其他程序使用相同的文件。
我是不是忽略了什么?
Perl 是我的朋友
#!/usr/bin/perl
# this perl script takes a standard property file and makes a jboss cli file to load properties
$machine = $ENV{'PHYSICAL_MACHINE'};
print "connect $ENV{'TARGET_HOSTNAME'}.domain.com\n";
while (<>)
{
my($line) = $_;
chomp($line);
#remove DOS line endings
chop($line) if ($line =~ m/\r$/);
# skip commented lines
next if ( $line =~ /^#/);
if($line)
{
my(@parts) = split /=/, $line;
$propName=@parts[0];
$propval=@parts[1];
print "\nif (outcome != success) of /host=$machine/server-config=XXX-server/system-property=$propName:read-resource\n";
print " /host=$machine/server-config=XXX-server/system-property=$propName:add(value=$propval)\n";
print "else\n";
print " /host=$machine/server-config=XXX-server/system-property=$propName:write-attribute(name=value, value=$propval)\n";
print "end-if\n";
}
}
我们在独立模式下进行了早期开发,其中 属性 文件可以包含在命令行中。
现在我们正在进行部署,服务器将处于域模式,但方便的命令行 属性 不再起作用。
我看到属性可以用 jboss-cli 加载或放在 domain.xml 中,但它们的形式与标准属性文件不同。我不想更改文件,因为其他程序使用相同的文件。
我是不是忽略了什么?
Perl 是我的朋友
#!/usr/bin/perl
# this perl script takes a standard property file and makes a jboss cli file to load properties
$machine = $ENV{'PHYSICAL_MACHINE'};
print "connect $ENV{'TARGET_HOSTNAME'}.domain.com\n";
while (<>)
{
my($line) = $_;
chomp($line);
#remove DOS line endings
chop($line) if ($line =~ m/\r$/);
# skip commented lines
next if ( $line =~ /^#/);
if($line)
{
my(@parts) = split /=/, $line;
$propName=@parts[0];
$propval=@parts[1];
print "\nif (outcome != success) of /host=$machine/server-config=XXX-server/system-property=$propName:read-resource\n";
print " /host=$machine/server-config=XXX-server/system-property=$propName:add(value=$propval)\n";
print "else\n";
print " /host=$machine/server-config=XXX-server/system-property=$propName:write-attribute(name=value, value=$propval)\n";
print "end-if\n";
}
}