JBoss7配置指南(四)

来源:互联网 发布:广州多益网络 编辑:程序博客网 时间:2024/05/16 10:59
(翻译整理by Jim Ma)

4.3 JVM 设置

管理域和单独运行服务器的 JVM设置是不相同的。在管理域中, domaincontroller组件会负责停止和启动服务器进程,因此由它来决定 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.logprocess-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.(比如被配置连接到远程 domaincontroller的主机 )

参数名

功能

--backup

使从 host controller创建和维护一个域配置的本地拷贝

--cached-dc

如果从 (slave)host controller在启动时不能连接主 domain controller取得配置信息,那么通过-bakcup创建的本地拷贝将会被使用。同时 slave host controller不会改变任何domain的配置,仅启动服务器。

通用参数 (Common parameters)

这些没有值的参数既适用于单服务器模式也适用于管理域模式。下表介绍这些参数的使用 :

参数

功能

--version
-V

打印 JBossAS的版本信息,并且退出 JVM。

--help
-h

打印各参数的帮助信息,并且退出 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 serverprovider机制进行识别。 Jar文件中需要包含一个文件名是META-INF/services/java.sql.Driver 的文本文件,这个文件中包含在这个 jar里的驱动类的名称。如果你的 JDBC驱动 jar不符合JDBC规范,我们通过其他方式也可以部署这样的驱动。

修改 Jar 文件

最直接的方式是简单的修改 Jar文件添加缺失的文件。你可以通过一下命令添加 :

The most straightforward solution is to simply modify the JARand add the missing file. You can do

  1. 改变路径到或者创建一个空的临时文件夹 .

  2. 创建一个 META-INF 子目录

  3. 创建一个 META-INF/services 子目录

  4. 创建 一个只包含一行内容 :JDBC驱动类的全名的文件META-INF/services/java.sql.Driver .

  5. 使用 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

  • 项目文档 :  http://www.jboss.org/ironjacamar/docs

  • 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 connectionfactory和被远程客户端使用的 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 letterqueue和 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

  • 项目文档 :  http://www.jboss.org/hornetq/docs

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

  • 项目文档 :  http://docs.jboss.org/jbossweb/7.0.x/

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子系统可配置的属性的详细介绍,请参考 JBossWS文档 :

  • JBossWS 主页 : http://www.jboss.org/jbossws

  • 项目文档 :  https://docs.jboss.org/author/display/JBWS

原创粉丝点击