4.3 JVM 设置
管理域和单独运行服务器的 JVM设置是不相同的。在管理域中, domain controller组件会负责停止和启动服务器进程,因此由它来决定 JVM的设置。在单独运行服务器中,由启动服务器的进程 (比如通过命令行参数 )负责 JVM的设置。
4.3.1 管理域
在管理域里, JVM设置可以在不同的作用域上声明 :比如在特定的服务器组,一个主机或者一个特别的服务器。如果没有显式声明, JVM设置从父作用域继承。这样可以在不同的层次上允许定制或者继承 JVM设置。
我们来看一下对一个服务器组 JVM的声明 :
<server-groups>
<server-group name="main-server-group" profile="default">
<jvm name="default">
<heap size="64m" max-size="512m"/>
</jvm>
<socket-binding-group ref="standard-sockets"/>
</server-group>
<server-group name="other-server-group" profile="default">
<jvm name="default">
<heap size="64m" max-size="512m"/>
</jvm>
<socket-binding-group ref="standard-sockets"/>
</server-group>
</server-groups>
(参见 domain/configuration/domain.xml)
在这个例子里,服务器组 "main-server-group" 的 jvm设置成 64m的 heap size和 最大是 512m的 heap size.任何属于这个组的服务器都会集成这些 JVM设置。你可以改变整个组,或者一个特定服务器,主机的 JVM设置:
<servers>
<server name="server-one" group="main-server-group" auto-start="true">
<jvm name="default"/>
</server>
<server name="server-two" group="main-server-group" auto-start="true">
<jvm name="default">
<heap size="64m" max-size="256m"/>
</jvm>
<socket-binding-group ref="standard-sockets" port-offset="150"/>
</server>
<server name="server-three" group="other-server-group" auto-start="false">
<socket-binding-group ref="standard-sockets" port-offset="250"/>
</server>
</servers>
(参考 domain/configuration/host.xml)
在这个例子中, server-two 属于main-server-group, 因此会继承名字为 default的 JVM设置,但是它在 server-two服务器上声明了一个较低的 maxium heap size。
[domain@localhost:9999 /] /host=local/server-config=server-two/jvm=default:read-resource
{
"outcome" => "success",
"result" => {
"heap-size" => "64m",
"max-heap-size" => "256m",
}
}
4.3.2 单独运行服务器
对于单独运行的服务器,则需要在执行$JBOSS_HOME/bin/standalone.sh 脚本时使用命令行参数来设置 JVM,或者在$JBOSS_HOME/bin/standalone.conf 声明。 (对于 windows用户,需要执行%JBOSS_HOME%/bin/standalone.bat 和设置
%JBOSS_HOME%/bin/standalone.conf.bat.)
4.4 命令行参数
启动 JBoss AS7的管理域,需要执行 :$JBOSS_HOME/bin/domain.sh 脚本,启动单独运行的服务器需要执行 $JBOSS_HOME/bin/standalone.sh .使用这两个脚本启动时,将会使用默认的设置。以下内容,我们讲介绍如何通过额外的命令行参数来覆盖这些默认的设置。
4.4.1系统属性
单服务器和管理域模式都使用用来设置标准位置 (如 jboss.home.dir,jboss.server.config.dir)的默认设置, B这小节中介绍这些系统属性的默认值。每个系统属性,都可以通过标准的 JVM设置方式 -Dkey=value覆盖:
$JBOSS_HOME/bin/standalone.sh -Djboss.home.dir=some/location/AS7/jboss-as \
-Djboss.server.config.dir=some/location/AS7/jboss-as/custom-standalone
以上的命令行启动一个不是标准的 AS home目录,并且使用一个特定的配置文件路径 .具体系统属性的含义将在以下内容中介绍。
同时,你也可以使用一个 properties文件通过下面任何一种方式来覆盖配置默认的系统属性 :
$JBOSS_HOME/bin/domain.sh --properties=/some/location/jboss.properties
$JBOSS_HOME/bin/domain.sh -P=/some/location/jboss.properties
这个 properties文件是一个标准的包含 key=value对的标准 Java property文件 :
jboss.home.dir=/some/location/AS7/jboss-as
jboss.domain.config.dir=/some/location/AS7/custom-domain
单独运行模式( Standalone)
属性名 |
说明 |
默认值 |
---|---|---|
java.ext.dirs |
指定 JDK extension路径 |
null |
jboss.home.dir |
JBoss AS 7 安装的根目录 |
standalone.sh 设置为$JBOSS_HOME |
jboss.server.base.dir |
server的 base目录 |
jboss.home.dir /standalone |
jboss.server.config.dir |
base configuration目录 |
jboss.server.base.dir /configuration |
jboss.server.data.dir |
用于存放持久化数据的目录 |
jboss.server.base.dir /data |
jboss.server.log.dir |
存放 server.log的目录 |
jboss.server.base.dir /log |
jboss.server.temp.dir |
临时文件目录 |
jboss.server.base.dir /tmp |
jboss.server.deploy.dir |
部署目录 |
jboss.server.data.dir /content |
管理域模式 (Managed Domain)
属性名 |
说明 |
Default value |
---|---|---|
jboss.home.dir |
The root directory of the JBoss AS 7 installation. |
domain.sh 设置为 $JBOSS_HOME |
jboss.domain.base.dir |
domain的 base目录 |
jboss.home.dir /domain |
jboss.domain.config.dir |
base configuration目录 |
jboss.domain.base.dir /configuration |
jboss.domain.data.dir |
用于存放持久化数据的目录 . |
jboss.domain.base.dir /data |
jboss.domain.log.dir |
存放 host-controller.log和 process-controller.log文件的目录 |
jboss.domain.base.dir /log |
jboss.domain.temp.dir |
临时文件目录 |
jboss.domain.base.dir /tmp |
jboss.domain.deployment.dir |
部署目录 |
jboss.domain.base.dir /content |
jboss.domain.servers.dir |
被管服务器输出存放的目录 |
jboss.domain.base.dir /log |
4.4.2 其他命令行参数 :
第一种接收参数的格式是 :
--name=value
比如 :
$JBOSS_HOME/bin/standalone.sh --server-config=standalone-ha.xml
如果参数名是一个单词,那么使用一个” -”前缀,而不是两个” --”:
-x=value
比如 :
$JBOSS_HOME/bin/standalone.sh -P=/some/location/jboss.properties
下面说明在单服务器和管理域模式下可用的的命令行参数 :
单服务器模式( Standalone)
参数名 |
缺省的默认值 |
值 |
---|---|---|
--server-config |
jboss.server.config.dir /standalone.xml |
一个相对于 jboss.server.config.dir的路径或者是一个绝对路径 |
管理域模式 (Managed Domain)
参数名 |
缺省的默认值 |
值 |
---|---|---|
--domain-config |
jboss.domain.config.dir /domain.xml |
一个相对于 jboss.domain.config.dir 的路径或者是一个绝对路径 |
--host-config |
jboss.domain.config.dir /host.xml |
一个相对于 jboss.domain.config.dir 的路径或者是一个绝对路径 |
下面的参数不需要指定值,并且只能被用于 host controller.(比如被配置连接到远程 domain controller的主机 )
参数名 |
功能 |
---|---|
--backup |
使从 host controller创建和维护一个域配置的本地拷贝 |
--cached-dc |
如果从 (slave)host controller在启动时不能连接主 domain controller取得配置信息,那么通过 -bakcup创建的本地拷贝将会被使用。同时 slave host controller不会改变任何 domain的配置,仅启动服务器。
|
通用参数 (Common parameters)
这些没有值的参数既适用于单服务器模式也适用于管理域模式。下表介绍这些参数的使用 :
参数 |
功能 |
---|---|
--version |
打印 JBossAS的版本信息,并且退出 JVM。 |
--help |
打印各参数的帮助信息,并且退出 JVM |
4.5 子系统配置
在以下章节中将集中介绍通过 CLI和 web接口进行操作的高级管理用例 .对于每个子系统详细的配置属性,请参考每个子系统的参考文档。
Schema Location 配置的 schema 文件都在目录 $JBOSS_HOME/docs/schema . |
4.5.1 数据源 (Data sources)
Datasources 在通过子系统进行配置。声明一个新的数据源,需要两个步骤 :提供一个 JDBC 驱动,然后定义一个使用这个 JDBC驱动的数据源。
4.5.1.1 JDBC 驱动安装
在应用服务器中安装 JDBC驱动推荐使用一个常规的 jar进行部署。因为当在域模式下运行应用服务器时,部署的内容会自动传送到要部署的所有服务器上,因此使用 jar文件将利用这一特性而不需要关心额外的事情。
任何符合 JDBC4的启动将会被自动识别并且按照名字和版本安装到系统中。 JDBC jar使用 Java server provider机制进行识别。 Jar文件中需要包含一个文件名是 META-INF/services/java.sql.Driver的文本文件 ,这个文件中包含在这个 jar里的驱动类的名称。如果你的 JDBC驱动 jar不符合 JDBC规范,我们通过其他方式也可以部署这样的驱动。
修改 Jar 文件
最直接的方式是简单的修改 Jar文件添加缺失的文件。你可以通过一下命令添加 :
The most straightforward solution is to simply modify the JAR and add the missing file. You can do
改变路径到或者创建一个空的临时文件夹 .
创建一个 META-INF子目录
创建一个META-INF/services 子目录
创建 一个只包含一行内容 :JDBC驱动类的全名的文件META-INF/services/java.sql.Driver .
使用 jar命令来跟新这个 jar文件 :
jar \-uf jdbc-driver.jar META-INF/services/java.sql.Driver
如何部署
JDBC4驱动
jar文件,请参考”应用部署 “章节。
4.5.1.2 数据源定义 (Datasource Definitions)
数据源在 datasources子系统里定义 :
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<xa-datasource jndi-name="java:jboss/datasources/ExampleXADS" pool-name="ExampleXADS">
<driver>h2</driver>
<xa-datasource-property name="URL">jdbc:h2:mem:test</xa-datasource-property>
<xa-pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</xa-pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</xa-datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
(参见 standalone/configuration/standalone.xml)
如以上示例所示,数据源通过逻辑名来引用 JDBC驱动 .通过命令行 (CLI)可以很方便的查询同样的信息 :
[standalone@localhost:9999 /] /subsystem=datasources:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"data-source" => {"java:/H2DS" => {
"connection-url" => "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
"jndi-name" => "java:/H2DS",
"driver-name" => "h2",
"pool-name" => "H2DS",
"use-java-context" => true,
"enabled" => true,
"jta" => true,
"pool-prefill" => true,
"pool-use-strict-min" => false,
"user-name" => "sa",
"password" => "sa",
"flush-strategy" => "FailingConnectionOnly",
"background-validation" => false,
"use-fast-fail" => false,
"validate-on-match" => false,
"use-ccm" => true
}},
"xa-data-source" => undefined,
"jdbc-driver" => {"h2" => {
"driver-name" => "h2",
"driver-module-name" => "com.h2database.h2",
"driver-xa-datasource-class-name" => "org.h2.jdbcx.JdbcDataSource"
}}
}
}
[standalone@localhost:9999 /] /subsystem=datasources:installed-drivers-list
{
"outcome" => "success",
"result" => [{
"driver-name" => "h2",
"deployment-name" => undefined,
"driver-module-name" => "com.h2database.h2",
"module-slot" => "main",
"driver-xa-datasource-class-name" => "org.h2.jdbcx.JdbcDataSource",
"driver-class-name" => "org.h2.Driver",
"driver-major-version" => 1,
"driver-minor-version" => 2,
"jdbc-compliant" => true
}]
}
使用 web控制台和命令行可以极大的简化 JDBC驱动的部署和数据源的创建。
|
命令行方式提供了一些列的命令来创建和更改数据源 :
[standalone@localhost:9999 /] help
Supported commands:
[...]
data-source - allows to add new, modify and remove existing data sources
xa-data-source - allows add new, modify and remove existing XA data sources
特定命令的详细描述请使用”
-b”参数查询。
4.5. 1. 3 参考
datasource子系统由 IronJacamar 项目提供。更多关于配置属性和属性的详细介绍请参考项目文档 :
IronJacamar 主页 : http://www.jboss.org/ironjacamar
Schema描述 : http://docs.jboss.org/ironjacamar/userguide/1.0/en-US/html/deployment.html#deployingds_descriptor
4.5.2 消息 (Messaging)
JMS服务器需要通过 messaging子系统进行配置。在本章节中,我们将概括介绍常用的配置项。其他详细的介绍,请参考 HornetQ用户指南 (参见"参考 ").
4.5.2.1 Connection Factories
JMS connection factories 可以分为两类 : In-VM connection factory和被远程客户端使用的 connections factories.每个 connecton factory都引用一个 connector,每个
connector都关联到一个 socket binding. Connection Factory的 entry定义 factory被暴露的 JNDI name.
<subsystem xmlns="urn:jboss:domain:messaging:1.0">
[...]
<connectors>
<in-vm-connector name="in-vm" server-id="0"/>
<netty-connector name="netty" socket-binding="messaging"/>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
</connectors>
[...]
<jms-connection-factories>
<connection-factory name="InVmConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/ConnectionFactory"/>
</entries>
</connection-factory>
<connection-factory name="RemoteConnectionFactory">
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="RemoteConnectionFactory"/>
</entries>
</connection-factory>
<pooled-connection-factory name="hornetq-ra">
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
</entries>
</pooled-connection-factory>
</jms-connection-factories>
[...]
</subsystem>
( 参见 standalone/configuration/standalone.xml)
4.5.2.2 Queues and Topics
Queues 和 topics 是 messaging 子系统的子资源 .每个 Entry指定一个 queue或者 topic的 JNDI名 :
<subsystem xmlns="urn:jboss:domain:messaging:1.0">
[...]
<jms-destinations>
<jms-queue name="testQueue">
<entry name="queue/test"/>
</jms-queue>
<jms-topic name="testTopic">
<entry name="topic/test"/>
</jms-topic>
</jms-destinations>
</subsystem>
(参见 standalone/configuration/standalone.xml)
JMS endpoints 通过命令行方式可以很容易的创建 :
[standalone@localhost:9999 /] add-jms-queue --name=myQueue --entries=queues/myQueue
[standalone@localhost:9999 /] /subsystem=messaging/jms-queue=myQueue:read-resource
{
"outcome" => "success",
"result" => {"entries" => ["queues/myQueue"]},
"compensating-operation" => undefined
}
JbossAS同时也提供了其他很多的维护
JMS子系统的命令
:
[standalone@localhost:9999 /] help
Supported commands:
[...]
add-jms-queue - creates a new JMS queue
remove-jms-queue - removes an existing JMS queue
add-jms-topic - creates a new JMS topic
remove-jms-topic - removes an existing JMS topic
add-jms-cf - creates a new JMS connection factory
remove-jms-cf - removes an existing JMS connection factory
获取更多命令行的详细信息,请使用”
--help”参数获取。
4.5.2.3 Dead Letter 和 Redelivery
有些设置可以在通配符地址上生效,而不是一个特别的 messaging destination.Dead letter queue和 redelivery设置就可以使用通配符地址 :
<subsystem xmlns="urn:jboss:domain:messaging:1.0">
[...]
<address-settings>
<address-setting match="#">
<dead-letter-address>
jms.queue.DLQ
</dead-letter-address>
<expiry-address>
jms.queue.ExpiryQueue
</expiry-address>
<redelivery-delay>
0
</redelivery-delay>
[...]
</address-setting>
</address-settings>
[...]
</subsystem>
(参见 standalone/configuration/standalone.xml)
4.5.2.4 安全性
安全性的设置也可以使用通配符地址生效,如同 DLQ和 redelivery设置一样 :
<subsystem xmlns="urn:jboss:domain:messaging:1.0">
[...]
<security-settings>
<security-setting match="#">
<permission type="send" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
</security-setting>
</security-settings>
[...]
</subsystem>
(参见 standalone/configuration/standalone.xml)
4.5.2.5 参考
Messaging 子系统由 Hornetq项目提供。详细的关于可用的配置项信息,请查询 hornetq项目文档。
HornetQ主页 : http://www.jboss.org/hornetq
4.5. 3 Web
Web子系统的配置由三个部分组成 :JSP, connectors和 virtural servers。高级特性如 :负载均衡, failover等将在高”可用性指南”中介绍。默认配置对于大多数的用例都可以提供合理的性能。
需要的扩展 :
<extension module="org.jboss.as.web" />
基本子系统配置的例子 :
<subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host">
<connector name="http" scheme="http" protocol="HTTP/1.1" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost" />
<alias name="example.com" />
</virtual-server>
</subsystem>
依赖于其他子系统 :
无 .
4.5. 3. 1容器设置 (Container configuration)
JSP设置 (JSP Configuration)
这里的”配置“包含了所有关于 servlet engine自身的设置。详细的关于配置属性的介绍,请参考 JBossWeb有关文档.
[standalone@localhost:9999 /] /subsystem=web:read-resource
{
"outcome" => "success",
"result" => {
"configuration" => {
"static-resources" => {
"sendfile" => 49152,
"max-depth" => 3,
"read-only" => true,
"webdav" => false,
"listings" => false,
"disabled" => false
},
"jsp-configuration" => {
"development" => false,
"keep-generated" => true,
"recompile-on-fail" => false,
"check-interval" => 0,
"modification-test-interval" => 4,
"display-source-fragment" => true,
"error-on-use-bean-invalid-class-attribute" => false,
"java-encoding" => "UTF8",
"tag-pooling" => true,
"generate-strings-as-char-arrays" => false,
"target-vm" => "1.5",
"dump-smap" => false,
"mapped-file" => true,
"disabled" => false,
"source-vm" => "1.5",
"trim-spaces" => false,
"smap" => true
}
},
"connector" => {"http" => undefined},
"virtual-server" => {"localhost" => undefined}
}
}
(参见 standalone/configuration/standalone.xml)
4.5. 3. 2 Connector设置 (Connector configuration)
Connecotrs是 web子系统的子资源。每个 connector都引用一个特定的 socket binding:
[standalone@localhost:9999 /] /subsystem=web:read-children-names(child-type=connector)
{
"outcome" => "success",
"result" => ["http"]
}
[standalone@localhost:9999 /] /subsystem=web/connector=http:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"protocol" => "HTTP/1.1",
"scheme" => "http",
"socket-binding" => "http",
"ssl" => undefined,
"virtual-server" => undefined
}
}
创建一个 connector需要先声明一个 socket binding:
[standalone@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=custom:add(port=8181)
新创建的没有被使用的
socket binding可以用来创建一个新的
connector配置
:
[standalone@localhost:9999 /] /subsystem=web/connector=test-connector:add(
socket-binding=custom, scheme=http, protocol="HTTP/1.1", enabled=true
)
web子系统可以配置三种类型的 connecotr:
HTTP Connectors
默认的 connector,通常运行在 8080端口。配置请参考以上内容
HTTPS Connectors
HTTPS connectors是 web子系统的子资源。默认使用 JSSE.每个 connector引用一个特定的 socket binding:
[standalone@localhost:9999 /] /subsystem=web:read-children-names(child-type=connector)
{
"outcome" => "success",
"result" => [
"ajp",
"http",
"https"
]
}
[standalone@localhost:9999 /] /subsystem=web/connector=https:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"protocol" => "HTTP/1.1",
"scheme" => "https",
"secure" => true,
"socket-binding" => "https",
"ssl" => {},
"virtual-server" => undefined
}
}
创建一个新的 connector首先需要声明一个新的 socket binding:
[standalone@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=https:add(port=8443)
新创建的,没有使用的
socket binding可被用来设置新创建的
connecotr:
[standalone@localhost:9999 /] /subsystem=web/connector=test-connector:add(socket-binding=https, scheme=https, protocol="HTTP/1.1", enabled=true, ssl = {})
默认 SSL使用” tomcat”别名和” changit”密码。可以使用 keytool来创建相应的 keystore:
keytool -genkey -alias tomcat -keyalg RSA
当然需要指定值是” changeit”的密码。
AJP Connectors
AJP Connectors是 web子系统的子资源。它和前段 apache httpd的 mod_jdk,mode_proxy和 mod_cluster一起使用。
每个 connecotor都引用一个特定的 socket binding:
[standalone@localhost:9999 /] /subsystem=web:read-children-names(child-type=connector)
{
"outcome" => "success",
"result" => [
"ajp",
"http"
]
}
[standalone@localhost:9999 /] /subsystem=web/connector=ajp:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"protocol" => "AJP/1.3",
"scheme" => "http",
"socket-binding" => "ajp",
"ssl" => undefined,
"virtual-server" => undefined
}
}
创建一个新的 connector首先需要声明一个新的 socket binding:
[standalone@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=ajp:add(port=8009)
新创建的,没有使用的
socket binding可被用来设置新创建的
connecotr:
[standalone@localhost:9999 /] /subsystem=web/connector=ajp:add(
socket-binding=ajpm, protocol="AJP/1.3", enabled=true
)
Native Connectors
Native connectors是基于 Tomcat native的高性能的 connectors.如果 nativie模块安装的话,就可以使用 native connectors 。
目前很多发布已经包含 jboss web native(如果你还没有试用过 JBoss web native)。
在配置层面,由于使用 OpenSSL,只有SSL部分需要被不同的配置。
[standalone@localhost:9999 /] /subsystem=web/connector=https:read-resource(recursive=true)
{
"outcome" => "success",
"result" => {
"protocol" => "HTTP/1.1",
"scheme" => "https",
"secure" => true,
"socket-binding" => "https",
"ssl" => {
"certificate-file" => "/home/jfclere/CERTS/SERVER/newcert.pem",
"certificate-key-file" => "/home/jfclere/CERTS/SERVER/newkey.pem",
"password" => "xxxxxxx"
},
"virtual-server" => undefined
}
}
4.5. 3. 3 Virtual-server 配置( Virtual-Server configuration)
和 connector类似,virtual server 声明web 子系统的子资源。可以通过使用别名来引用virtual server,
同时 virtual server也可以指定默认的 web应用来充当 root web context。
[standalone@localhost:9999 /] /subsystem=web:read-children-names(child-type=virtual-server)
{
"outcome" => "success",
"result" => ["localhost"]
}
[standalone@localhost:9999 /] /subsystem=web/virtual-server=default-host:read-resource
{
"outcome" => "success",
"result" => {
"access-log" => undefined,
"alias" => ["example.com"],
"default-web-module" => undefined,
"enable-welcome-root" => true,
"rewrite" => undefined
}
}
增加一个 virtual server的声明可以通过默认的 add操作 :
[standalone@localhost:9999 /] /subsystem=web/virtual-server=example.com:add
[standalone@localhost:9999 /] /subsystem=web/virtual-server=example.com:remove
在 configuration tree上任意一个节点上都可以执行增加和删除操作 |
4.5. 3. 4 参考:
Web子系统部件由 jboss web项目提供。关于 web子系统可配置的属性的详细介绍,请参考 JBoss Web文档 :
JBoss Web 配置和参考 : http://docs.jboss.org/jbossweb/7.0.x/config/index.html
JBossWeb 主页 : http://www.jboss.org/jbossweb
4. 5. 4 Web services
Web service endpoint 通过包含有 webservice endpoint实现的部署来提供因此他们可以通过部署资源进行查询。
进一步的信息,请参考”应用部署”章节。每个 webservice endpoint都需要指定一个 web context 和一个 wsdl的 URL :
[standalone@localhost:9999 /] /deployment="*"/subsystem=webservices/endpoint="*":read-resource
{
"outcome" => "success",
"result" => [{
"address" => [
("deployment" => "jaxws-samples-handlerchain.war"),
("subsystem" => "webservices"),
("endpoint" => "jaxws-samples-handlerchain:TestService")
],
"outcome" => "success",
"result" => {
"class" => "org.jboss.test.ws.jaxws.samples.handlerchain.EndpointImpl",
"context" => "jaxws-samples-handlerchain",
"name" => "TestService",
"type" => "JAXWS_JSE",
"wsdl-url" => "http://localhost:8080/jaxws-samples-handlerchain?wsdl"
}
}]
}
4. 5. 4. 1参考 :
Webservice 子系统由 JBossWS项目提供。关于 websevice子系统可配置的属性的详细介绍,请参考 JBoss WS文档 :
JBossWS 主页 : http://www.jboss.org/jbossws