Richard Shih
6 years ago
27 changed files with 863 additions and 1018 deletions
Split View
Diff Options
-
16apptest/build.gradle
-
1wild-docker-files/.env
-
30wild-docker-files/Dockerfile
-
17wild-docker-files/build.sh
-
3wild-docker-files/cleanup.sh
-
57wild-docker-files/docker-compose.yml
-
10wild-docker-files/env.list
-
53wild-docker-files/module_zk8.xml
-
7wild-docker-files/network-create.sh
-
7wild-docker-files/remove.sh
-
5wild-docker-files/run.sh
-
468wild-docker-files/standalone-ha-2.xml
-
468wild-docker-files/standalone-ha-3.xml
-
182wild-docker-files/standalone-ha.xml
-
3wild-docker-files/start.sh
-
11wild-docker-files/startwf-ha.sh
-
4wild-docker-files/stop.sh
-
138wild-docker-files/traefik.toml
-
7wild-docker-files/update.sh
-
BINwild-docker-files/zkweb100.war
-
BINwild-docker-files/zkweb101.war
-
77zkweb/src/main/java/com/wanhai/zk/TestVM.java
-
66zkweb/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
-
3zkweb/src/main/webapp/WEB-INF/jboss-web.xml
-
195zkweb/src/main/webapp/WEB-INF/web.xml
-
5zkweb/src/main/webapp/WEB-INF/zk.xml
-
48zkweb/src/main/webapp/index.zul
@ -0,0 +1,16 @@ |
|||
group 'rs' |
|||
version '1.0-SNAPSHOT' |
|||
|
|||
apply plugin: 'java' |
|||
apply plugin: 'war' |
|||
|
|||
sourceCompatibility = 1.8 |
|||
|
|||
repositories { |
|||
mavenCentral() |
|||
} |
|||
|
|||
dependencies { |
|||
providedCompile 'javax.servlet:javax.servlet-api:3.1.0' |
|||
testCompile group: 'junit', name: 'junit', version: '4.12' |
|||
} |
@ -0,0 +1 @@ |
|||
COMPOSE_PROJECT_NAME=wfcluster |
@ -1,17 +1,31 @@ |
|||
FROM jboss/wildfly |
|||
|
|||
# Environment variable with default value |
|||
ARG APP_FILE=appfile.war |
|||
ARG WAR_FILE_FROM=appfile.war |
|||
ARG WAR_FILE_DEPLOY=${WAR_FILE_FROM} |
|||
|
|||
RUN echo ${APP_FILE} |
|||
#RUN echo ${APP_FILE} |
|||
|
|||
# Add your application to the deployment folder |
|||
ADD ${APP_FILE} /opt/jboss/wildfly/standalone/deployments/${APP_FILE} |
|||
USER root |
|||
# RUN yum install net-tools -y |
|||
|
|||
#setup zk module(8.0.2.2) |
|||
RUN mkdir -p /zk_lib && \ |
|||
mkdir -p /opt/jboss/wildfly/modules/system/layers/base/org/zkoss/zk/main && \ |
|||
curl -#L https://www.zkoss.org/zkdownload/downloadEvalFile?id=1884780989 | bsdtar -xf- -C /zk_lib && \ |
|||
find /zk_lib/zk-bin-8.0.2.2/dist/lib -name '*.jar' | xargs -I{} cp {} /opt/jboss/wildfly/modules/system/layers/base/org/zkoss/zk/main && \ |
|||
rm -rf ./zk_lib |
|||
COPY module_zk8.xml /opt/jboss/wildfly/modules/system/layers/base/org/zkoss/zk/main/module.xml |
|||
|
|||
# Add standalone-ha.xml - set your own network settings |
|||
ADD standalone-ha-1.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha-1.xml |
|||
ADD standalone-ha-2.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha-2.xml |
|||
ADD standalone-ha-3.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha-3.xml |
|||
# Add your application to the deployment folder |
|||
COPY ${WAR_FILE_FROM} /opt/jboss/wildfly/standalone/deployments/${WAR_FILE_DEPLOY} |
|||
COPY standalone-ha.xml /opt/jboss/wildfly/standalone/configuration/standalone-ha.xml |
|||
COPY startwf-ha.sh /opt/jboss/wildfly/bin/startwf-ha.sh |
|||
|
|||
# Add user for adminstration purpose |
|||
RUN /opt/jboss/wildfly/bin/add-user.sh admin admin123 --silent |
|||
USER jboss |
|||
|
|||
EXPOSE 8080 9990 45688 |
|||
|
|||
CMD ["sh","-c","/opt/jboss/wildfly/bin/startwf-ha.sh"] |
@ -1 +1,16 @@ |
|||
docker build -t wildfly-cluster --build-arg APP_FILE=apptest.war . |
|||
#!/bin/sh |
|||
warFrom="zkweb100.war" |
|||
warTo="zkweb.war" |
|||
|
|||
if [ "$1" != "" ] |
|||
then |
|||
warFrom=$1 |
|||
fi |
|||
|
|||
if [ "$2" != "" ] |
|||
then |
|||
warTo=$2 |
|||
fi |
|||
echo "$warFrom => $warTo" |
|||
|
|||
docker build -t shihxuancheng/wildfly-cluster --build-arg WAR_FILE_FROM=$warFrom --build-arg WAR_FILE_DEPLOY=$warTo . |
@ -0,0 +1,3 @@ |
|||
docker image prune -f |
|||
docker volume prune -f |
|||
docker network prune -f |
@ -0,0 +1,57 @@ |
|||
version: '3' |
|||
services: |
|||
# wildfly cluster node-1 |
|||
wild1: |
|||
hostname: wild1 |
|||
image: shihxuancheng/wildfly-cluster |
|||
# container_name: "wild1" |
|||
restart: always |
|||
networks: |
|||
- "wildnetwork" |
|||
labels: |
|||
- "traefik.backend=wild1" |
|||
- "traefik.frontend.rule=PathPrefix:/zkweb" |
|||
- "traefik.backend.loadbalancer.method=drr" |
|||
# - "traefik.backend.loadbalancer.stickiness=true" |
|||
|
|||
# wildfly cluster node-2 |
|||
wild2: |
|||
hostname: wild2 |
|||
image: shihxuancheng/wildfly-cluster |
|||
# container_name: "wild2" |
|||
restart: always |
|||
networks: |
|||
- "wildnetwork" |
|||
labels: |
|||
- "traefik.backend=wild1" |
|||
- "traefik.frontend.rule=PathPrefix:/zkweb" |
|||
- "traefik.backend.loadbalancer.method=drr" |
|||
# - "traefik.backend.loadbalancer.stickiness=true" |
|||
|
|||
# frontend lod balance(traefik) |
|||
wild-balancer: |
|||
image: traefik |
|||
hostname: wild-balancer |
|||
container_name: "wild-balancer" |
|||
command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG |
|||
ports: |
|||
- "80:80" |
|||
- "9090:8080" |
|||
volumes: |
|||
- /var/run/docker.sock:/var/run/docker.sock |
|||
#- ./traefik.toml:/traefik.toml |
|||
networks: |
|||
- "wildnetwork" |
|||
labels: |
|||
- "traefik.frontend.rule=PathPrefix:/zkweb" |
|||
- "traefik.enable=false" |
|||
networks: |
|||
wildnetwork: |
|||
driver: bridge |
|||
ipam: |
|||
driver: default |
|||
config: |
|||
- subnet: 172.28.0.0/16 |
|||
|
|||
|
|||
|
@ -1,10 +0,0 @@ |
|||
# automatically created environment variables (docker links) |
|||
TOMCAT_1_PORT_8080_TCP_ADDR=wild1 |
|||
TOMCAT_2_PORT_8080_TCP_ADDR=wild2 |
|||
TOMCAT_3_PORT_8080_TCP_ADDR=wild3 |
|||
|
|||
# special environment variables |
|||
TOMCAT_PATH=/apptest |
|||
TOMCAT_REMOTE_PORT=8080 |
|||
TOMCAT_REMOTE_PATH=/apptest |
|||
TOMCAT_HOSTNAME=wild-balancer |
@ -0,0 +1,53 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
~ JBoss, Home of Professional Open Source. |
|||
~ Copyright 2011, Red Hat, Inc., and individual contributors |
|||
~ as indicated by the @author tags. See the copyright.txt file in the |
|||
~ distribution for a full listing of individual contributors. |
|||
~ |
|||
~ This is free software; you can redistribute it and/or modify it |
|||
~ under the terms of the GNU Lesser General Public License as |
|||
~ published by the Free Software Foundation; either version 2.1 of |
|||
~ the License, or (at your option) any later version. |
|||
~ |
|||
~ This software is distributed in the hope that it will be useful, |
|||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
~ Lesser General Public License for more details. |
|||
~ |
|||
~ You should have received a copy of the GNU Lesser General Public |
|||
~ License along with this software; if not, write to the Free |
|||
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA |
|||
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. |
|||
--> |
|||
|
|||
<module xmlns="urn:jboss:module:1.3" name="org.zkoss.zk"> |
|||
<resources> |
|||
<resource-root path="zcommon.jar"/> |
|||
<resource-root path="zel.jar"/> |
|||
<resource-root path="zhtml.jar"/> |
|||
<resource-root path="zk.jar"/> |
|||
<resource-root path="zkbind.jar"/> |
|||
<resource-root path="zkplus.jar"/> |
|||
<resource-root path="zsoup.jar"/> |
|||
<resource-root path="zul.jar"/> |
|||
<resource-root path="zweb.jar"/> |
|||
<resource-root path="commons-codec.jar"/> |
|||
<resource-root path="commons-fileupload.jar"/> |
|||
<resource-root path="commons-io.jar"/> |
|||
<resource-root path="javassist.jar"/> |
|||
<resource-root path="sapphire.jar"/> |
|||
<resource-root path="silvertail.jar"/> |
|||
<resource-root path="slf4j-api.jar"/> |
|||
<resource-root path="slf4j-jdk14.jar"/> |
|||
<resource-root path="bsh.jar"/> |
|||
</resources> |
|||
<dependencies> |
|||
<module name="javax.servlet.api"/> |
|||
<module name="org.jboss.vfs"/> |
|||
<module name="org.apache.commons.logging"/> |
|||
<module name="javaee.api"/> |
|||
</dependencies> |
|||
</module> |
|||
|
@ -1,7 +0,0 @@ |
|||
docker network rm wildnetwork |
|||
docker network create \ |
|||
--driver=bridge \ |
|||
--subnet=172.28.0.0/16 \ |
|||
--ip-range=172.28.5.0/24 \ |
|||
--gateway=172.28.5.254 \ |
|||
wildnetwork |
@ -1,7 +0,0 @@ |
|||
docker rm -f wild1 |
|||
docker rm -f wild2 |
|||
docker rm -f wild3 |
|||
docker rm -f wild-balancer |
|||
docker rmi -f wildfly-cluster |
|||
docker rmi -f jboss/wildfly |
|||
docker rmi -f jasonwyatt/nginx-loadbalancer |
@ -1,5 +0,0 @@ |
|||
docker run -d --name wild1 -h wild1 -p 8080:8080 -p 9990:9990 --network=wildnetwork --ip 172.28.5.1 wildfly-cluster /opt/jboss/wildfly/bin/standalone.sh -c standalone-ha-1.xml -u 230.0.0.4 |
|||
docker run -d --name wild2 -h wild2 -p 8081:8080 -p 9991:9990 --network=wildnetwork --ip 172.28.5.2 wildfly-cluster /opt/jboss/wildfly/bin/standalone.sh -c standalone-ha-2.xml -u 230.0.0.4 |
|||
docker run -d --name wild3 -h wild3 -p 8082:8080 -p 9992:9990 --network=wildnetwork --ip 172.28.5.3 wildfly-cluster /opt/jboss/wildfly/bin/standalone.sh -c standalone-ha-3.xml -u 230.0.0.4 |
|||
|
|||
docker run -d --name wild-balancer -p 80:80 --link wild1:wild1 --link wild2:wild2 --link wild3:wild3 --env-file ./env.list --network=wildnetwork --ip 172.28.5.4 jasonwyatt/nginx-loadbalancer |
@ -1,468 +0,0 @@ |
|||
<?xml version="1.0" ?> |
|||
|
|||
<server xmlns="urn:jboss:domain:4.2"> |
|||
<extensions> |
|||
<extension module="org.jboss.as.clustering.infinispan"/> |
|||
<extension module="org.jboss.as.clustering.jgroups"/> |
|||
<extension module="org.jboss.as.connector"/> |
|||
<extension module="org.jboss.as.deployment-scanner"/> |
|||
<extension module="org.jboss.as.ee"/> |
|||
<extension module="org.jboss.as.ejb3"/> |
|||
<extension module="org.jboss.as.jaxrs"/> |
|||
<extension module="org.jboss.as.jdr"/> |
|||
<extension module="org.jboss.as.jmx"/> |
|||
<extension module="org.jboss.as.jpa"/> |
|||
<extension module="org.jboss.as.jsf"/> |
|||
<extension module="org.jboss.as.logging"/> |
|||
<extension module="org.jboss.as.mail"/> |
|||
<extension module="org.jboss.as.modcluster"/> |
|||
<extension module="org.jboss.as.naming"/> |
|||
<extension module="org.jboss.as.pojo"/> |
|||
<extension module="org.jboss.as.remoting"/> |
|||
<extension module="org.jboss.as.sar"/> |
|||
<extension module="org.jboss.as.security"/> |
|||
<extension module="org.jboss.as.transactions"/> |
|||
<extension module="org.jboss.as.webservices"/> |
|||
<extension module="org.jboss.as.weld"/> |
|||
<extension module="org.wildfly.extension.batch.jberet"/> |
|||
<extension module="org.wildfly.extension.bean-validation"/> |
|||
<extension module="org.wildfly.extension.clustering.singleton"/> |
|||
<extension module="org.wildfly.extension.io"/> |
|||
<extension module="org.wildfly.extension.request-controller"/> |
|||
<extension module="org.wildfly.extension.security.manager"/> |
|||
<extension module="org.wildfly.extension.undertow"/> |
|||
</extensions> |
|||
<management> |
|||
<security-realms> |
|||
<security-realm name="ManagementRealm"> |
|||
<authentication> |
|||
<local default-user="$local" skip-group-loading="true"/> |
|||
<properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/> |
|||
</authentication> |
|||
<authorization map-groups-to-roles="false"> |
|||
<properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/> |
|||
</authorization> |
|||
</security-realm> |
|||
<security-realm name="ApplicationRealm"> |
|||
<server-identities> |
|||
<ssl> |
|||
<keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/> |
|||
</ssl> |
|||
</server-identities> |
|||
<authentication> |
|||
<local default-user="$local" allowed-users="*" skip-group-loading="true"/> |
|||
<properties path="application-users.properties" relative-to="jboss.server.config.dir"/> |
|||
</authentication> |
|||
<authorization> |
|||
<properties path="application-roles.properties" relative-to="jboss.server.config.dir"/> |
|||
</authorization> |
|||
</security-realm> |
|||
</security-realms> |
|||
<audit-log> |
|||
<formatters> |
|||
<json-formatter name="json-formatter"/> |
|||
</formatters> |
|||
<handlers> |
|||
<file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/> |
|||
</handlers> |
|||
<logger log-boot="true" log-read-only="false" enabled="false"> |
|||
<handlers> |
|||
<handler name="file"/> |
|||
</handlers> |
|||
</logger> |
|||
</audit-log> |
|||
<management-interfaces> |
|||
<http-interface security-realm="ManagementRealm" http-upgrade-enabled="true"> |
|||
<socket-binding http="management-http"/> |
|||
</http-interface> |
|||
</management-interfaces> |
|||
<access-control provider="simple"> |
|||
<role-mapping> |
|||
<role name="SuperUser"> |
|||
<include> |
|||
<user name="$local"/> |
|||
</include> |
|||
</role> |
|||
</role-mapping> |
|||
</access-control> |
|||
</management> |
|||
<profile> |
|||
<subsystem xmlns="urn:jboss:domain:logging:3.0"> |
|||
<console-handler name="CONSOLE"> |
|||
<level name="INFO"/> |
|||
<formatter> |
|||
<named-formatter name="COLOR-PATTERN"/> |
|||
</formatter> |
|||
</console-handler> |
|||
<periodic-rotating-file-handler name="FILE" autoflush="true"> |
|||
<formatter> |
|||
<named-formatter name="PATTERN"/> |
|||
</formatter> |
|||
<file relative-to="jboss.server.log.dir" path="server.log"/> |
|||
<suffix value=".yyyy-MM-dd"/> |
|||
<append value="true"/> |
|||
</periodic-rotating-file-handler> |
|||
<logger category="com.arjuna"> |
|||
<level name="WARN"/> |
|||
</logger> |
|||
<logger category="org.jboss.as.config"> |
|||
<level name="DEBUG"/> |
|||
</logger> |
|||
<logger category="sun.rmi"> |
|||
<level name="WARN"/> |
|||
</logger> |
|||
<root-logger> |
|||
<level name="INFO"/> |
|||
<handlers> |
|||
<handler name="CONSOLE"/> |
|||
<handler name="FILE"/> |
|||
</handlers> |
|||
</root-logger> |
|||
<formatter name="PATTERN"> |
|||
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> |
|||
</formatter> |
|||
<formatter name="COLOR-PATTERN"> |
|||
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> |
|||
</formatter> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:batch-jberet:1.0"> |
|||
<default-job-repository name="in-memory"/> |
|||
<default-thread-pool name="batch"/> |
|||
<job-repository name="in-memory"> |
|||
<in-memory/> |
|||
</job-repository> |
|||
<thread-pool name="batch"> |
|||
<max-threads count="10"/> |
|||
<keepalive-time time="30" unit="seconds"/> |
|||
</thread-pool> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:datasources:4.0"> |
|||
<datasources> |
|||
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"> |
|||
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url> |
|||
<driver>h2</driver> |
|||
<security> |
|||
<user-name>sa</user-name> |
|||
<password>sa</password> |
|||
</security> |
|||
</datasource> |
|||
<drivers> |
|||
<driver name="h2" module="com.h2database.h2"> |
|||
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> |
|||
</driver> |
|||
</drivers> |
|||
</datasources> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0"> |
|||
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:ee:4.0"> |
|||
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement> |
|||
<concurrent> |
|||
<context-services> |
|||
<context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/> |
|||
</context-services> |
|||
<managed-thread-factories> |
|||
<managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/> |
|||
</managed-thread-factories> |
|||
<managed-executor-services> |
|||
<managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/> |
|||
</managed-executor-services> |
|||
<managed-scheduled-executor-services> |
|||
<managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/> |
|||
</managed-scheduled-executor-services> |
|||
</concurrent> |
|||
<default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:ejb3:4.0"> |
|||
<session-bean> |
|||
<stateless> |
|||
<bean-instance-pool-ref pool-name="slsb-strict-max-pool"/> |
|||
</stateless> |
|||
<stateful default-access-timeout="5000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/> |
|||
<singleton default-access-timeout="5000"/> |
|||
</session-bean> |
|||
<pools> |
|||
<bean-instance-pools> |
|||
<strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> |
|||
<strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> |
|||
</bean-instance-pools> |
|||
</pools> |
|||
<caches> |
|||
<cache name="simple"/> |
|||
<cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/> |
|||
</caches> |
|||
<passivation-stores> |
|||
<passivation-store name="infinispan" cache-container="ejb" max-size="10000"/> |
|||
</passivation-stores> |
|||
<async thread-pool-name="default"/> |
|||
<timer-service thread-pool-name="default" default-data-store="default-file-store"> |
|||
<data-stores> |
|||
<file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/> |
|||
</data-stores> |
|||
</timer-service> |
|||
<remote connector-ref="http-remoting-connector" thread-pool-name="default"/> |
|||
<thread-pools> |
|||
<thread-pool name="default"> |
|||
<max-threads count="10"/> |
|||
<keepalive-time time="100" unit="milliseconds"/> |
|||
</thread-pool> |
|||
</thread-pools> |
|||
<default-security-domain value="other"/> |
|||
<default-missing-method-permissions-deny-access value="true"/> |
|||
<log-system-exceptions value="true"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:io:1.1"> |
|||
<worker name="default"/> |
|||
<buffer-pool name="default"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:infinispan:4.0"> |
|||
<cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server"> |
|||
<transport lock-timeout="60000"/> |
|||
<replicated-cache name="default" mode="SYNC"> |
|||
<transaction mode="BATCH"/> |
|||
</replicated-cache> |
|||
</cache-container> |
|||
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan"> |
|||
<transport lock-timeout="60000"/> |
|||
<distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2"> |
|||
<locking isolation="REPEATABLE_READ"/> |
|||
<transaction mode="BATCH"/> |
|||
<file-store/> |
|||
</distributed-cache> |
|||
<distributed-cache name="concurrent" mode="SYNC" l1-lifespan="0" owners="2"> |
|||
<file-store/> |
|||
</distributed-cache> |
|||
</cache-container> |
|||
<cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan"> |
|||
<transport lock-timeout="60000"/> |
|||
<distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2"> |
|||
<locking isolation="REPEATABLE_READ"/> |
|||
<transaction mode="BATCH"/> |
|||
<file-store/> |
|||
</distributed-cache> |
|||
</cache-container> |
|||
<cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan"> |
|||
<transport lock-timeout="60000"/> |
|||
<local-cache name="local-query"> |
|||
<eviction strategy="LRU" max-entries="10000"/> |
|||
<expiration max-idle="100000"/> |
|||
</local-cache> |
|||
<invalidation-cache name="entity" mode="SYNC"> |
|||
<transaction mode="NON_XA"/> |
|||
<eviction strategy="LRU" max-entries="10000"/> |
|||
<expiration max-idle="100000"/> |
|||
</invalidation-cache> |
|||
<replicated-cache name="timestamps" mode="ASYNC"/> |
|||
</cache-container> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:jca:4.0"> |
|||
<archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/> |
|||
<bean-validation enabled="true"/> |
|||
<default-workmanager> |
|||
<short-running-threads> |
|||
<core-threads count="50"/> |
|||
<queue-length count="50"/> |
|||
<max-threads count="50"/> |
|||
<keepalive-time time="10" unit="seconds"/> |
|||
</short-running-threads> |
|||
<long-running-threads> |
|||
<core-threads count="50"/> |
|||
<queue-length count="50"/> |
|||
<max-threads count="50"/> |
|||
<keepalive-time time="10" unit="seconds"/> |
|||
</long-running-threads> |
|||
</default-workmanager> |
|||
<cached-connection-manager/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jdr:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:jgroups:4.0"> |
|||
<channels default="ee"> |
|||
<channel name="ee" stack="udp"/> |
|||
</channels> |
|||
<stacks> |
|||
<stack name="udp"> |
|||
<transport type="UDP" socket-binding="jgroups-udp"/> |
|||
<protocol type="PING"/> |
|||
<protocol type="MERGE3"/> |
|||
<protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/> |
|||
<protocol type="FD_ALL"/> |
|||
<protocol type="VERIFY_SUSPECT"/> |
|||
<protocol type="pbcast.NAKACK2"/> |
|||
<protocol type="UNICAST3"/> |
|||
<protocol type="pbcast.STABLE"/> |
|||
<protocol type="pbcast.GMS"/> |
|||
<protocol type="UFC"/> |
|||
<protocol type="MFC"/> |
|||
<protocol type="FRAG2"/> |
|||
</stack> |
|||
<stack name="tcp"> |
|||
<transport type="TCP" socket-binding="jgroups-tcp"/> |
|||
<protocol type="MPING" socket-binding="jgroups-mping"/> |
|||
<protocol type="MERGE3"/> |
|||
<protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/> |
|||
<protocol type="FD"/> |
|||
<protocol type="VERIFY_SUSPECT"/> |
|||
<protocol type="pbcast.NAKACK2"/> |
|||
<protocol type="UNICAST3"/> |
|||
<protocol type="pbcast.STABLE"/> |
|||
<protocol type="pbcast.GMS"/> |
|||
<protocol type="MFC"/> |
|||
<protocol type="FRAG2"/> |
|||
</stack> |
|||
</stacks> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jmx:1.3"> |
|||
<expose-resolved-model/> |
|||
<expose-expression-model/> |
|||
<remoting-connector/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jpa:1.1"> |
|||
<jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jsf:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:mail:2.0"> |
|||
<mail-session name="default" jndi-name="java:jboss/mail/Default"> |
|||
<smtp-server outbound-socket-binding-ref="mail-smtp"/> |
|||
</mail-session> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:modcluster:2.0"> |
|||
<mod-cluster-config advertise-socket="modcluster" connector="ajp"> |
|||
<dynamic-load-provider> |
|||
<load-metric type="cpu"/> |
|||
</dynamic-load-provider> |
|||
</mod-cluster-config> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:naming:2.0"> |
|||
<remote-naming/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:pojo:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:remoting:3.0"> |
|||
<endpoint/> |
|||
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:request-controller:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:sar:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:security-manager:1.0"> |
|||
<deployment-permissions> |
|||
<maximum-set> |
|||
<permission class="java.security.AllPermission"/> |
|||
</maximum-set> |
|||
</deployment-permissions> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:security:1.2"> |
|||
<security-domains> |
|||
<security-domain name="other" cache-type="default"> |
|||
<authentication> |
|||
<login-module code="Remoting" flag="optional"> |
|||
<module-option name="password-stacking" value="useFirstPass"/> |
|||
</login-module> |
|||
<login-module code="RealmDirect" flag="required"> |
|||
<module-option name="password-stacking" value="useFirstPass"/> |
|||
</login-module> |
|||
</authentication> |
|||
</security-domain> |
|||
<security-domain name="jboss-web-policy" cache-type="default"> |
|||
<authorization> |
|||
<policy-module code="Delegating" flag="required"/> |
|||
</authorization> |
|||
</security-domain> |
|||
<security-domain name="jboss-ejb-policy" cache-type="default"> |
|||
<authorization> |
|||
<policy-module code="Delegating" flag="required"/> |
|||
</authorization> |
|||
</security-domain> |
|||
<security-domain name="jaspitest" cache-type="default"> |
|||
<authentication-jaspi> |
|||
<login-module-stack name="dummy"> |
|||
<login-module code="Dummy" flag="optional"/> |
|||
</login-module-stack> |
|||
<auth-module code="Dummy"/> |
|||
</authentication-jaspi> |
|||
</security-domain> |
|||
</security-domains> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:singleton:1.0"> |
|||
<singleton-policies default="default"> |
|||
<singleton-policy name="default" cache-container="server"> |
|||
<simple-election-policy/> |
|||
</singleton-policy> |
|||
</singleton-policies> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:transactions:3.0"> |
|||
<core-environment> |
|||
<process-id> |
|||
<uuid/> |
|||
</process-id> |
|||
</core-environment> |
|||
<recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:undertow:3.1"> |
|||
<buffer-cache name="default"/> |
|||
<server name="default-server"> |
|||
<ajp-listener name="ajp" socket-binding="ajp"/> |
|||
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/> |
|||
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/> |
|||
<host name="default-host" alias="localhost"> |
|||
<location name="/" handler="welcome-content"/> |
|||
<filter-ref name="server-header"/> |
|||
<filter-ref name="x-powered-by-header"/> |
|||
</host> |
|||
</server> |
|||
<servlet-container name="default"> |
|||
<jsp-config/> |
|||
<websockets/> |
|||
</servlet-container> |
|||
<handlers> |
|||
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/> |
|||
</handlers> |
|||
<filters> |
|||
<response-header name="server-header" header-name="Server" header-value="WildFly/10"/> |
|||
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/> |
|||
</filters> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:webservices:2.0"> |
|||
<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host> |
|||
<endpoint-config name="Standard-Endpoint-Config"/> |
|||
<endpoint-config name="Recording-Endpoint-Config"> |
|||
<pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM"> |
|||
<handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/> |
|||
</pre-handler-chain> |
|||
</endpoint-config> |
|||
<client-config name="Standard-Client-Config"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:weld:3.0"/> |
|||
</profile> |
|||
<interfaces> |
|||
<interface name="management"> |
|||
<inet-address value="${jboss.bind.address.management:172.28.5.2}"/> |
|||
</interface> |
|||
<interface name="public"> |
|||
<inet-address value="${jboss.bind.address:172.28.5.2}"/> |
|||
</interface> |
|||
<interface name="private"> |
|||
<inet-address value="${jboss.bind.address.private:172.28.5.2}"/> |
|||
</interface> |
|||
</interfaces> |
|||
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> |
|||
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> |
|||
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/> |
|||
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> |
|||
<socket-binding name="http" port="${jboss.http.port:8080}"/> |
|||
<socket-binding name="https" port="${jboss.https.port:8443}"/> |
|||
<socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/> |
|||
<socket-binding name="jgroups-tcp" interface="private" port="7600"/> |
|||
<socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/> |
|||
<socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/> |
|||
<socket-binding name="jgroups-udp-fd" interface="private" port="54200"/> |
|||
<socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/> |
|||
<socket-binding name="txn-recovery-environment" port="4712"/> |
|||
<socket-binding name="txn-status-manager" port="4713"/> |
|||
<outbound-socket-binding name="mail-smtp"> |
|||
<remote-destination host="localhost" port="25"/> |
|||
</outbound-socket-binding> |
|||
</socket-binding-group> |
|||
</server> |
@ -1,468 +0,0 @@ |
|||
<?xml version="1.0" ?> |
|||
|
|||
<server xmlns="urn:jboss:domain:4.2"> |
|||
<extensions> |
|||
<extension module="org.jboss.as.clustering.infinispan"/> |
|||
<extension module="org.jboss.as.clustering.jgroups"/> |
|||
<extension module="org.jboss.as.connector"/> |
|||
<extension module="org.jboss.as.deployment-scanner"/> |
|||
<extension module="org.jboss.as.ee"/> |
|||
<extension module="org.jboss.as.ejb3"/> |
|||
<extension module="org.jboss.as.jaxrs"/> |
|||
<extension module="org.jboss.as.jdr"/> |
|||
<extension module="org.jboss.as.jmx"/> |
|||
<extension module="org.jboss.as.jpa"/> |
|||
<extension module="org.jboss.as.jsf"/> |
|||
<extension module="org.jboss.as.logging"/> |
|||
<extension module="org.jboss.as.mail"/> |
|||
<extension module="org.jboss.as.modcluster"/> |
|||
<extension module="org.jboss.as.naming"/> |
|||
<extension module="org.jboss.as.pojo"/> |
|||
<extension module="org.jboss.as.remoting"/> |
|||
<extension module="org.jboss.as.sar"/> |
|||
<extension module="org.jboss.as.security"/> |
|||
<extension module="org.jboss.as.transactions"/> |
|||
<extension module="org.jboss.as.webservices"/> |
|||
<extension module="org.jboss.as.weld"/> |
|||
<extension module="org.wildfly.extension.batch.jberet"/> |
|||
<extension module="org.wildfly.extension.bean-validation"/> |
|||
<extension module="org.wildfly.extension.clustering.singleton"/> |
|||
<extension module="org.wildfly.extension.io"/> |
|||
<extension module="org.wildfly.extension.request-controller"/> |
|||
<extension module="org.wildfly.extension.security.manager"/> |
|||
<extension module="org.wildfly.extension.undertow"/> |
|||
</extensions> |
|||
<management> |
|||
<security-realms> |
|||
<security-realm name="ManagementRealm"> |
|||
<authentication> |
|||
<local default-user="$local" skip-group-loading="true"/> |
|||
<properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/> |
|||
</authentication> |
|||
<authorization map-groups-to-roles="false"> |
|||
<properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/> |
|||
</authorization> |
|||
</security-realm> |
|||
<security-realm name="ApplicationRealm"> |
|||
<server-identities> |
|||
<ssl> |
|||
<keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/> |
|||
</ssl> |
|||
</server-identities> |
|||
<authentication> |
|||
<local default-user="$local" allowed-users="*" skip-group-loading="true"/> |
|||
<properties path="application-users.properties" relative-to="jboss.server.config.dir"/> |
|||
</authentication> |
|||
<authorization> |
|||
<properties path="application-roles.properties" relative-to="jboss.server.config.dir"/> |
|||
</authorization> |
|||
</security-realm> |
|||
</security-realms> |
|||
<audit-log> |
|||
<formatters> |
|||
<json-formatter name="json-formatter"/> |
|||
</formatters> |
|||
<handlers> |
|||
<file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/> |
|||
</handlers> |
|||
<logger log-boot="true" log-read-only="false" enabled="false"> |
|||
<handlers> |
|||
<handler name="file"/> |
|||
</handlers> |
|||
</logger> |
|||
</audit-log> |
|||
<management-interfaces> |
|||
<http-interface security-realm="ManagementRealm" http-upgrade-enabled="true"> |
|||
<socket-binding http="management-http"/> |
|||
</http-interface> |
|||
</management-interfaces> |
|||
<access-control provider="simple"> |
|||
<role-mapping> |
|||
<role name="SuperUser"> |
|||
<include> |
|||
<user name="$local"/> |
|||
</include> |
|||
</role> |
|||
</role-mapping> |
|||
</access-control> |
|||
</management> |
|||
<profile> |
|||
<subsystem xmlns="urn:jboss:domain:logging:3.0"> |
|||
<console-handler name="CONSOLE"> |
|||
<level name="INFO"/> |
|||
<formatter> |
|||
<named-formatter name="COLOR-PATTERN"/> |
|||
</formatter> |
|||
</console-handler> |
|||
<periodic-rotating-file-handler name="FILE" autoflush="true"> |
|||
<formatter> |
|||
<named-formatter name="PATTERN"/> |
|||
</formatter> |
|||
<file relative-to="jboss.server.log.dir" path="server.log"/> |
|||
<suffix value=".yyyy-MM-dd"/> |
|||
<append value="true"/> |
|||
</periodic-rotating-file-handler> |
|||
<logger category="com.arjuna"> |
|||
<level name="WARN"/> |
|||
</logger> |
|||
<logger category="org.jboss.as.config"> |
|||
<level name="DEBUG"/> |
|||
</logger> |
|||
<logger category="sun.rmi"> |
|||
<level name="WARN"/> |
|||
</logger> |
|||
<root-logger> |
|||
<level name="INFO"/> |
|||
<handlers> |
|||
<handler name="CONSOLE"/> |
|||
<handler name="FILE"/> |
|||
</handlers> |
|||
</root-logger> |
|||
<formatter name="PATTERN"> |
|||
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> |
|||
</formatter> |
|||
<formatter name="COLOR-PATTERN"> |
|||
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> |
|||
</formatter> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:batch-jberet:1.0"> |
|||
<default-job-repository name="in-memory"/> |
|||
<default-thread-pool name="batch"/> |
|||
<job-repository name="in-memory"> |
|||
<in-memory/> |
|||
</job-repository> |
|||
<thread-pool name="batch"> |
|||
<max-threads count="10"/> |
|||
<keepalive-time time="30" unit="seconds"/> |
|||
</thread-pool> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:datasources:4.0"> |
|||
<datasources> |
|||
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"> |
|||
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url> |
|||
<driver>h2</driver> |
|||
<security> |
|||
<user-name>sa</user-name> |
|||
<password>sa</password> |
|||
</security> |
|||
</datasource> |
|||
<drivers> |
|||
<driver name="h2" module="com.h2database.h2"> |
|||
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> |
|||
</driver> |
|||
</drivers> |
|||
</datasources> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0"> |
|||
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:ee:4.0"> |
|||
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement> |
|||
<concurrent> |
|||
<context-services> |
|||
<context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/> |
|||
</context-services> |
|||
<managed-thread-factories> |
|||
<managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/> |
|||
</managed-thread-factories> |
|||
<managed-executor-services> |
|||
<managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/> |
|||
</managed-executor-services> |
|||
<managed-scheduled-executor-services> |
|||
<managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/> |
|||
</managed-scheduled-executor-services> |
|||
</concurrent> |
|||
<default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:ejb3:4.0"> |
|||
<session-bean> |
|||
<stateless> |
|||
<bean-instance-pool-ref pool-name="slsb-strict-max-pool"/> |
|||
</stateless> |
|||
<stateful default-access-timeout="5000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/> |
|||
<singleton default-access-timeout="5000"/> |
|||
</session-bean> |
|||
<pools> |
|||
<bean-instance-pools> |
|||
<strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> |
|||
<strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> |
|||
</bean-instance-pools> |
|||
</pools> |
|||
<caches> |
|||
<cache name="simple"/> |
|||
<cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/> |
|||
</caches> |
|||
<passivation-stores> |
|||
<passivation-store name="infinispan" cache-container="ejb" max-size="10000"/> |
|||
</passivation-stores> |
|||
<async thread-pool-name="default"/> |
|||
<timer-service thread-pool-name="default" default-data-store="default-file-store"> |
|||
<data-stores> |
|||
<file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/> |
|||
</data-stores> |
|||
</timer-service> |
|||
<remote connector-ref="http-remoting-connector" thread-pool-name="default"/> |
|||
<thread-pools> |
|||
<thread-pool name="default"> |
|||
<max-threads count="10"/> |
|||
<keepalive-time time="100" unit="milliseconds"/> |
|||
</thread-pool> |
|||
</thread-pools> |
|||
<default-security-domain value="other"/> |
|||
<default-missing-method-permissions-deny-access value="true"/> |
|||
<log-system-exceptions value="true"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:io:1.1"> |
|||
<worker name="default"/> |
|||
<buffer-pool name="default"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:infinispan:4.0"> |
|||
<cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server"> |
|||
<transport lock-timeout="60000"/> |
|||
<replicated-cache name="default" mode="SYNC"> |
|||
<transaction mode="BATCH"/> |
|||
</replicated-cache> |
|||
</cache-container> |
|||
<cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan"> |
|||
<transport lock-timeout="60000"/> |
|||
<distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2"> |
|||
<locking isolation="REPEATABLE_READ"/> |
|||
<transaction mode="BATCH"/> |
|||
<file-store/> |
|||
</distributed-cache> |
|||
<distributed-cache name="concurrent" mode="SYNC" l1-lifespan="0" owners="2"> |
|||
<file-store/> |
|||
</distributed-cache> |
|||
</cache-container> |
|||
<cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan"> |
|||
<transport lock-timeout="60000"/> |
|||
<distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2"> |
|||
<locking isolation="REPEATABLE_READ"/> |
|||
<transaction mode="BATCH"/> |
|||
<file-store/> |
|||
</distributed-cache> |
|||
</cache-container> |
|||
<cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan"> |
|||
<transport lock-timeout="60000"/> |
|||
<local-cache name="local-query"> |
|||
<eviction strategy="LRU" max-entries="10000"/> |
|||
<expiration max-idle="100000"/> |
|||
</local-cache> |
|||
<invalidation-cache name="entity" mode="SYNC"> |
|||
<transaction mode="NON_XA"/> |
|||
<eviction strategy="LRU" max-entries="10000"/> |
|||
<expiration max-idle="100000"/> |
|||
</invalidation-cache> |
|||
<replicated-cache name="timestamps" mode="ASYNC"/> |
|||
</cache-container> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:jca:4.0"> |
|||
<archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/> |
|||
<bean-validation enabled="true"/> |
|||
<default-workmanager> |
|||
<short-running-threads> |
|||
<core-threads count="50"/> |
|||
<queue-length count="50"/> |
|||
<max-threads count="50"/> |
|||
<keepalive-time time="10" unit="seconds"/> |
|||
</short-running-threads> |
|||
<long-running-threads> |
|||
<core-threads count="50"/> |
|||
<queue-length count="50"/> |
|||
<max-threads count="50"/> |
|||
<keepalive-time time="10" unit="seconds"/> |
|||
</long-running-threads> |
|||
</default-workmanager> |
|||
<cached-connection-manager/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jdr:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:jgroups:4.0"> |
|||
<channels default="ee"> |
|||
<channel name="ee" stack="udp"/> |
|||
</channels> |
|||
<stacks> |
|||
<stack name="udp"> |
|||
<transport type="UDP" socket-binding="jgroups-udp"/> |
|||
<protocol type="PING"/> |
|||
<protocol type="MERGE3"/> |
|||
<protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/> |
|||
<protocol type="FD_ALL"/> |
|||
<protocol type="VERIFY_SUSPECT"/> |
|||
<protocol type="pbcast.NAKACK2"/> |
|||
<protocol type="UNICAST3"/> |
|||
<protocol type="pbcast.STABLE"/> |
|||
<protocol type="pbcast.GMS"/> |
|||
<protocol type="UFC"/> |
|||
<protocol type="MFC"/> |
|||
<protocol type="FRAG2"/> |
|||
</stack> |
|||
<stack name="tcp"> |
|||
<transport type="TCP" socket-binding="jgroups-tcp"/> |
|||
<protocol type="MPING" socket-binding="jgroups-mping"/> |
|||
<protocol type="MERGE3"/> |
|||
<protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/> |
|||
<protocol type="FD"/> |
|||
<protocol type="VERIFY_SUSPECT"/> |
|||
<protocol type="pbcast.NAKACK2"/> |
|||
<protocol type="UNICAST3"/> |
|||
<protocol type="pbcast.STABLE"/> |
|||
<protocol type="pbcast.GMS"/> |
|||
<protocol type="MFC"/> |
|||
<protocol type="FRAG2"/> |
|||
</stack> |
|||
</stacks> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jmx:1.3"> |
|||
<expose-resolved-model/> |
|||
<expose-expression-model/> |
|||
<remoting-connector/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jpa:1.1"> |
|||
<jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:jsf:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:mail:2.0"> |
|||
<mail-session name="default" jndi-name="java:jboss/mail/Default"> |
|||
<smtp-server outbound-socket-binding-ref="mail-smtp"/> |
|||
</mail-session> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:modcluster:2.0"> |
|||
<mod-cluster-config advertise-socket="modcluster" connector="ajp"> |
|||
<dynamic-load-provider> |
|||
<load-metric type="cpu"/> |
|||
</dynamic-load-provider> |
|||
</mod-cluster-config> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:naming:2.0"> |
|||
<remote-naming/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:pojo:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:remoting:3.0"> |
|||
<endpoint/> |
|||
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:request-controller:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:sar:1.0"/> |
|||
<subsystem xmlns="urn:jboss:domain:security-manager:1.0"> |
|||
<deployment-permissions> |
|||
<maximum-set> |
|||
<permission class="java.security.AllPermission"/> |
|||
</maximum-set> |
|||
</deployment-permissions> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:security:1.2"> |
|||
<security-domains> |
|||
<security-domain name="other" cache-type="default"> |
|||
<authentication> |
|||
<login-module code="Remoting" flag="optional"> |
|||
<module-option name="password-stacking" value="useFirstPass"/> |
|||
</login-module> |
|||
<login-module code="RealmDirect" flag="required"> |
|||
<module-option name="password-stacking" value="useFirstPass"/> |
|||
</login-module> |
|||
</authentication> |
|||
</security-domain> |
|||
<security-domain name="jboss-web-policy" cache-type="default"> |
|||
<authorization> |
|||
<policy-module code="Delegating" flag="required"/> |
|||
</authorization> |
|||
</security-domain> |
|||
<security-domain name="jboss-ejb-policy" cache-type="default"> |
|||
<authorization> |
|||
<policy-module code="Delegating" flag="required"/> |
|||
</authorization> |
|||
</security-domain> |
|||
<security-domain name="jaspitest" cache-type="default"> |
|||
<authentication-jaspi> |
|||
<login-module-stack name="dummy"> |
|||
<login-module code="Dummy" flag="optional"/> |
|||
</login-module-stack> |
|||
<auth-module code="Dummy"/> |
|||
</authentication-jaspi> |
|||
</security-domain> |
|||
</security-domains> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:singleton:1.0"> |
|||
<singleton-policies default="default"> |
|||
<singleton-policy name="default" cache-container="server"> |
|||
<simple-election-policy/> |
|||
</singleton-policy> |
|||
</singleton-policies> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:transactions:3.0"> |
|||
<core-environment> |
|||
<process-id> |
|||
<uuid/> |
|||
</process-id> |
|||
</core-environment> |
|||
<recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:undertow:3.1"> |
|||
<buffer-cache name="default"/> |
|||
<server name="default-server"> |
|||
<ajp-listener name="ajp" socket-binding="ajp"/> |
|||
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/> |
|||
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/> |
|||
<host name="default-host" alias="localhost"> |
|||
<location name="/" handler="welcome-content"/> |
|||
<filter-ref name="server-header"/> |
|||
<filter-ref name="x-powered-by-header"/> |
|||
</host> |
|||
</server> |
|||
<servlet-container name="default"> |
|||
<jsp-config/> |
|||
<websockets/> |
|||
</servlet-container> |
|||
<handlers> |
|||
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/> |
|||
</handlers> |
|||
<filters> |
|||
<response-header name="server-header" header-name="Server" header-value="WildFly/10"/> |
|||
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/> |
|||
</filters> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:webservices:2.0"> |
|||
<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host> |
|||
<endpoint-config name="Standard-Endpoint-Config"/> |
|||
<endpoint-config name="Recording-Endpoint-Config"> |
|||
<pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM"> |
|||
<handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/> |
|||
</pre-handler-chain> |
|||
</endpoint-config> |
|||
<client-config name="Standard-Client-Config"/> |
|||
</subsystem> |
|||
<subsystem xmlns="urn:jboss:domain:weld:3.0"/> |
|||
</profile> |
|||
<interfaces> |
|||
<interface name="management"> |
|||
<inet-address value="${jboss.bind.address.management:172.28.5.3}"/> |
|||
</interface> |
|||
<interface name="public"> |
|||
<inet-address value="${jboss.bind.address:172.28.5.3}"/> |
|||
</interface> |
|||
<interface name="private"> |
|||
<inet-address value="${jboss.bind.address.private:172.28.5.3}"/> |
|||
</interface> |
|||
</interfaces> |
|||
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> |
|||
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> |
|||
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/> |
|||
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> |
|||
<socket-binding name="http" port="${jboss.http.port:8080}"/> |
|||
<socket-binding name="https" port="${jboss.https.port:8443}"/> |
|||
<socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/> |
|||
<socket-binding name="jgroups-tcp" interface="private" port="7600"/> |
|||
<socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/> |
|||
<socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/> |
|||
<socket-binding name="jgroups-udp-fd" interface="private" port="54200"/> |
|||
<socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/> |
|||
<socket-binding name="txn-recovery-environment" port="4712"/> |
|||
<socket-binding name="txn-status-manager" port="4713"/> |
|||
<outbound-socket-binding name="mail-smtp"> |
|||
<remote-destination host="localhost" port="25"/> |
|||
</outbound-socket-binding> |
|||
</socket-binding-group> |
|||
</server> |
@ -1,3 +0,0 @@ |
|||
./network-create.sh |
|||
./build.sh |
|||
./run.sh |
@ -0,0 +1,11 @@ |
|||
# IPADDRESS=$(ifconfig | grep -A 1 'eth0' | tail -1 | awk -F ' ' '{print $2}') |
|||
IPADDRESS=$(hostname -i) |
|||
MCASTADDRESS=234.0.0.4 |
|||
/opt/jboss/wildfly/bin/standalone.sh -c standalone-ha.xml \ |
|||
-u ${MCASTADDRESS} \ |
|||
-b ${IPADDRESS} \ |
|||
-Djboss.bind.address=${IPADDRESS} \ |
|||
-Djboss.bind.address.management=${IPADDRESS} \ |
|||
-Djboss.bind.address.private=${IPADDRESS} \ |
|||
-Djboss.node.name=$(hostname) \ |
|||
-u=${MCASTADDRESS} |
@ -1,4 +0,0 @@ |
|||
docker stop wild1 |
|||
docker stop wild2 |
|||
docker stop wild3 |
|||
docker stop wild-balance |
@ -0,0 +1,138 @@ |
|||
################################################################ |
|||
# Global configuration |
|||
################################################################ |
|||
|
|||
# Enable debug mode |
|||
# |
|||
# Optional |
|||
# Default: false |
|||
# |
|||
# debug = true |
|||
|
|||
# Log level |
|||
# |
|||
# Optional |
|||
# Default: "ERROR" |
|||
# |
|||
logLevel = "ERROR" |
|||
|
|||
# Entrypoints to be used by frontends that do not specify any entrypoint. |
|||
# Each frontend can specify its own entrypoints. |
|||
# |
|||
# Optional |
|||
# Default: ["http"] |
|||
# |
|||
defaultEntryPoints = ["http", "https"] |
|||
|
|||
# Entrypoints definition |
|||
# |
|||
# Optional |
|||
# Default: |
|||
[entryPoints] |
|||
[entryPoints.http] |
|||
address = ":80" |
|||
|
|||
# Traefik logs |
|||
# Enabled by default and log to stdout |
|||
# |
|||
# Optional |
|||
# |
|||
# [traefikLog] |
|||
|
|||
# Sets the filepath for the traefik log. If not specified, stdout will be used. |
|||
# Intermediate directories are created if necessary. |
|||
# |
|||
# Optional |
|||
# Default: os.Stdout |
|||
# |
|||
# filePath = "log/traefik.log" |
|||
|
|||
# Format is either "json" or "common". |
|||
# |
|||
# Optional |
|||
# Default: "common" |
|||
# |
|||
# format = "common" |
|||
|
|||
# Enable access logs |
|||
# By default it will write to stdout and produce logs in the textual |
|||
# Common Log Format (CLF), extended with additional fields. |
|||
# |
|||
# Optional |
|||
# |
|||
# [accessLog] |
|||
|
|||
# Sets the file path for the access log. If not specified, stdout will be used. |
|||
# Intermediate directories are created if necessary. |
|||
# |
|||
# Optional |
|||
# Default: os.Stdout |
|||
# |
|||
# filePath = "/path/to/log/log.txt" |
|||
|
|||
# Format is either "json" or "common". |
|||
# |
|||
# Optional |
|||
# Default: "common" |
|||
# |
|||
# format = "common" |
|||
|
|||
################################################################ |
|||
# Web configuration backend |
|||
################################################################ |
|||
|
|||
# Enable web configuration backend |
|||
[web] |
|||
|
|||
# Web administration port |
|||
# |
|||
# Required |
|||
# |
|||
address = ":8080" |
|||
|
|||
################################################################ |
|||
# Docker configuration backend |
|||
################################################################ |
|||
|
|||
# Enable Docker configuration backend |
|||
[docker] |
|||
|
|||
# Docker server endpoint. Can be a tcp or a unix socket endpoint. |
|||
# |
|||
# Required |
|||
# Default: "unix:///var/run/docker.sock" |
|||
# |
|||
# endpoint = "tcp://10.10.10.10:2375" |
|||
|
|||
# Default domain used. |
|||
# Can be overridden by setting the "traefik.domain" label on a container. |
|||
# |
|||
# Optional |
|||
# Default: "" |
|||
# |
|||
domain = "docker.localhost" |
|||
|
|||
# Expose containers by default in traefik |
|||
# |
|||
# Optional |
|||
# Default: true |
|||
# |
|||
exposedbydefault = true |
|||
|
|||
# Enable watch docker changes. |
|||
# |
|||
# Optional |
|||
# |
|||
watch=true |
|||
|
|||
# Use the IP address from the binded port instead of the inner network one. |
|||
# For specific use-case :) |
|||
# |
|||
# Optional |
|||
# Default: false |
|||
# |
|||
# usebindportip = true |
|||
|
|||
################################################################ |
|||
# frontends definitation |
|||
################################################################ |
@ -0,0 +1,7 @@ |
|||
#!/bin/bash |
|||
for x in $(docker ps -q -f "ancestor=shihxuancheng/wildfly-cluster") |
|||
do |
|||
docker stop $x |
|||
docker cp ./$1 $x:/opt/jboss/wildfly/standalone/deployments/$2 |
|||
docker start $x |
|||
done |
@ -0,0 +1,77 @@ |
|||
package com.wanhai.zk; |
|||
|
|||
import org.zkoss.Version; |
|||
import org.zkoss.bind.annotation.AfterCompose; |
|||
import org.zkoss.bind.annotation.Command; |
|||
import org.zkoss.bind.annotation.ContextParam; |
|||
import org.zkoss.bind.annotation.Init; |
|||
import org.zkoss.zk.ui.Executions; |
|||
import org.zkoss.zk.ui.Session; |
|||
import org.zkoss.zk.ui.Sessions; |
|||
import org.zkoss.zk.ui.util.Clients; |
|||
|
|||
import javax.servlet.http.HttpSession; |
|||
import java.io.Serializable; |
|||
import java.net.InetAddress; |
|||
|
|||
/** |
|||
* Created by shihxuancheng on 2017/12/6. |
|||
*/ |
|||
public class TestVM implements Serializable { |
|||
@Init |
|||
public void init() { |
|||
} |
|||
|
|||
@AfterCompose |
|||
public void afterCompose() { |
|||
} |
|||
|
|||
public String getServerIP() { |
|||
// HttpServletRequest request = (HttpServletRequest)Executions.getCurrent().getNativeRequest(); |
|||
try { |
|||
// return Executions.getCurrent().getLocalAddr(); |
|||
return InetAddress.getLocalHost().getHostAddress(); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public String getHostName() { |
|||
try { |
|||
// return Executions.getCurrent().getServerName(); |
|||
return InetAddress.getLocalHost().getCanonicalHostName(); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
public String getSessionId() { |
|||
return ((HttpSession) Executions.getCurrent().getSession().getNativeSession()).getId(); |
|||
} |
|||
|
|||
public String getGuestName() { |
|||
return String.valueOf(Sessions.getCurrent().getAttribute("user")); |
|||
} |
|||
|
|||
public void setGuestName(String guestName) { |
|||
Sessions.getCurrent(true).setAttribute("user",guestName); |
|||
} |
|||
|
|||
@Command("test") |
|||
public void onTest() { |
|||
try { |
|||
StringBuilder strMsg = new StringBuilder(); |
|||
strMsg.append("Requset handled by: ") |
|||
.append(InetAddress.getLocalHost().getCanonicalHostName() + "/" + InetAddress.getLocalHost().getHostAddress()) |
|||
.append("\n") |
|||
.append("SessionId: ") |
|||
.append(((HttpSession) Executions.getCurrent().getSession().getNativeSession()).getId()); |
|||
Clients.showNotification(strMsg.toString()); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
} |
|||
|
|||
} |
@ -0,0 +1,66 @@ |
|||
<jboss-deployment-structure> |
|||
<!-- Make sub deployments isolated by default, so they cannot see each others classes without a Class-Path entry --> |
|||
<!--<ear-subdeployments-isolated>true</ear-subdeployments-isolated>--> |
|||
<!-- This corresponds to the top level deployment. For a war this is the war's module, for an ear --> |
|||
<!-- This is the top level ear module, which contains all the classes in the EAR's lib folder --> |
|||
<deployment> |
|||
<!-- exclude-subsystem prevents a subsystems deployment unit processors running on a deployment --> |
|||
<!-- which gives basically the same effect as removing the subsystem, but it only affects single deployment --> |
|||
<!--<exclude-subsystems>--> |
|||
<!--<subsystem name="resteasy" />--> |
|||
<!--</exclude-subsystems>--> |
|||
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies --> |
|||
<!--<exclusions>--> |
|||
<!--<module name="org.javassist" />--> |
|||
<!--</exclusions>--> |
|||
<!-- This allows you to define additional dependencies, it is the same as using the Dependencies: manifest attribute --> |
|||
<dependencies> |
|||
<module name="org.zkoss.zk"/> |
|||
<!--<module name="deployment.myjavassist" />--> |
|||
<!-- Import META-INF/services for ServiceLoader impls as well --> |
|||
<!--<module name="myservicemodule" services="import"/>--> |
|||
</dependencies> |
|||
<!-- These add additional classes to the module. In this case it is the same as including the jar in the EAR's lib directory --> |
|||
<!--<resources>--> |
|||
<!--<resource-root path="my-library.jar" />--> |
|||
<!--</resources>--> |
|||
</deployment> |
|||
<!--<sub-deployment name="myapp.war">--> |
|||
<!--<!– This corresponds to the module for a web deployment –>--> |
|||
<!--<!– it can use all the same tags as the <deployment> entry above –>--> |
|||
<!--<dependencies>--> |
|||
<!--<!– Adds a dependency on a ejb jar. This could also be done with a Class-Path entry –>--> |
|||
<!--<module name="deployment.myear.ear.myejbjar.jar" />--> |
|||
<!--</dependencies>--> |
|||
<!--<!– Set's local resources to have the lowest priority –>--> |
|||
<!--<!– If the same class is both in the sub deployment and in another sub deployment that –>--> |
|||
<!--<!– is visible to the war, then the Class from the other deployment will be loaded, –>--> |
|||
<!--<!– rather than the class actually packaged in the war. –>--> |
|||
<!--<!– This can be used to resolve ClassCastExceptions if the same class is in multiple sub deployments–>--> |
|||
<!--<local-last value="true" />--> |
|||
<!--</sub-deployment>--> |
|||
<!-- Now we are going to define two additional modules --> |
|||
<!-- This one is a different version of javassist that we have packaged --> |
|||
<!--<module name="deployment.myjavassist" >--> |
|||
<!--<resources>--> |
|||
<!--<resource-root path="javassist.jar" >--> |
|||
<!--<!– We want to use the servers version of javassist.util.proxy.* so we filter it out–>--> |
|||
<!--<filter>--> |
|||
<!--<exclude path="javassist/util/proxy" />--> |
|||
<!--</filter>--> |
|||
<!--</resource-root>--> |
|||
<!--</resources>--> |
|||
<!--</module>--> |
|||
<!-- This is a module that re-exports the containers version of javassist.util.proxy --> |
|||
<!-- This means that there is only one version of the Proxy classes defined --> |
|||
<!--<module name="deployment.javassist.proxy" >--> |
|||
<!--<dependencies>--> |
|||
<!--<module name="org.javassist" >--> |
|||
<!--<imports>--> |
|||
<!--<include path="javassist/util/proxy" />--> |
|||
<!--<exclude path="/**" />--> |
|||
<!--</imports>--> |
|||
<!--</module>--> |
|||
<!--</dependencies>--> |
|||
<!--</module>--> |
|||
</jboss-deployment-structure> |
@ -0,0 +1,3 @@ |
|||
<jboss-web> |
|||
<context-root>/zkweb</context-root> |
|||
</jboss-web> |
@ -0,0 +1,195 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> |
|||
|
|||
<description><![CDATA[My ZK Application]]></description> |
|||
<display-name>MyApp</display-name> |
|||
|
|||
<!-- //// --> |
|||
<!-- ZK --> |
|||
<listener> |
|||
<description>ZK listener for session cleanup</description> |
|||
<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class> |
|||
</listener> |
|||
<servlet> |
|||
<description>ZK loader for ZUML pages</description> |
|||
<servlet-name>zkLoader</servlet-name> |
|||
<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class> |
|||
|
|||
<!-- Must. Specifies URI of the update engine (DHtmlUpdateServlet). |
|||
It must be the same as <url-pattern> for the update engine. |
|||
--> |
|||
<init-param> |
|||
<param-name>update-uri</param-name> |
|||
<param-value>/zkau</param-value> |
|||
</init-param> |
|||
<!-- Optional. Specifies whether to compress the output |
|||
of the ZK loader. It speeds up the transmission over slow Internet. |
|||
However, if you configure a filter to post-processing the |
|||
output, you might have to disable it. |
|||
|
|||
Default: true |
|||
<init-param> |
|||
<param-name>compress</param-name> |
|||
<param-value>true</param-value> |
|||
</init-param> |
|||
--> |
|||
<!-- [Optional] Specifies the default log level: OFF, ERROR, WARNING, |
|||
INFO, DEBUG and FINER. If not specified, the system default is used. |
|||
<init-param> |
|||
<param-name>log-level</param-name> |
|||
<param-value>OFF</param-value> |
|||
</init-param> |
|||
--> |
|||
<load-on-startup>1</load-on-startup><!-- Must --> |
|||
</servlet> |
|||
<servlet-mapping> |
|||
<servlet-name>zkLoader</servlet-name> |
|||
<url-pattern>*.zul</url-pattern> |
|||
</servlet-mapping> |
|||
<servlet-mapping> |
|||
<servlet-name>zkLoader</servlet-name> |
|||
<url-pattern>*.zhtml</url-pattern> |
|||
</servlet-mapping> |
|||
<!-- [Optional] Uncomment it if you want to use richlets. |
|||
<servlet-mapping> |
|||
<servlet-name>zkLoader</servlet-name> |
|||
<url-pattern>/zk/*</url-pattern> |
|||
</servlet-mapping> |
|||
--> |
|||
<servlet> |
|||
<description>The asynchronous update engine for ZK</description> |
|||
<servlet-name>auEngine</servlet-name> |
|||
<servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class> |
|||
|
|||
<!-- [Optional] Specifies whether to compress the output |
|||
of the ZK loader. It speeds up the transmission over slow Internet. |
|||
However, if your server will do the compression, you might have to disable it. |
|||
|
|||
Default: true |
|||
<init-param> |
|||
<param-name>compress</param-name> |
|||
<param-value>true</param-value> |
|||
</init-param> |
|||
--> |
|||
<!-- [Optional] Specifies the AU extension for particular prefix. |
|||
<init-param> |
|||
<param-name>extension0</param-name> |
|||
<param-value>/upload=com.my.MyUploader</param-value> |
|||
</init-param> |
|||
--> |
|||
</servlet> |
|||
<servlet-mapping> |
|||
<servlet-name>auEngine</servlet-name> |
|||
<url-pattern>/zkau/*</url-pattern> |
|||
</servlet-mapping> |
|||
|
|||
<!-- [Optional] |
|||
Uncomment if you want to use the ZK filter to post process the HTML output |
|||
generated by other technology, such as JSP and velocity. |
|||
<filter> |
|||
<filter-name>zkFilter</filter-name> |
|||
<filter-class>org.zkoss.zk.ui.http.DHtmlLayoutFilter</filter-class> |
|||
<init-param> |
|||
<param-name>extension</param-name> |
|||
<param-value>html</param-value> |
|||
</init-param> |
|||
<init-param> |
|||
<param-name>compress</param-name> |
|||
<param-value>true</param-value> |
|||
</init-param> |
|||
</filter> |
|||
<filter-mapping> |
|||
<filter-name>zkFilter</filter-name> |
|||
<url-pattern>your URI pattern</url-pattern> |
|||
</filter-mapping> |
|||
--> |
|||
<!-- [Optional] |
|||
Since ZK 7.0.0 |
|||
Uncomment if you want to use the ZK filter to process the ZK Richlets |
|||
<filter> |
|||
<filter-name>RichletFilter</filter-name> |
|||
<filter-class>org.zkoss.zk.ui.http.RichletFilter</filter-class> |
|||
</filter> |
|||
|
|||
<filter-mapping> |
|||
<filter-name>RichletFilter</filter-name> |
|||
<url-pattern>/zk/*</url-pattern> |
|||
</filter-mapping> |
|||
--> |
|||
<!-- //// --> |
|||
|
|||
<!-- /////////// --> |
|||
<!-- [Optional] Session timeout --> |
|||
<session-config> |
|||
<session-timeout>60</session-timeout> |
|||
</session-config> |
|||
|
|||
<!-- [Optional] MIME mapping --> |
|||
<mime-mapping> |
|||
<extension>doc</extension> |
|||
<mime-type>application/vnd.ms-word</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>gif</extension> |
|||
<mime-type>image/gif</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>htm</extension> |
|||
<mime-type>text/html</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>html</extension> |
|||
<mime-type>text/html</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>jpeg</extension> |
|||
<mime-type>image/jpeg</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>jpg</extension> |
|||
<mime-type>image/jpeg</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>js</extension> |
|||
<mime-type>text/javascript</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>pdf</extension> |
|||
<mime-type>application/pdf</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>png</extension> |
|||
<mime-type>image/png</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>txt</extension> |
|||
<mime-type>text/plain</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>xls</extension> |
|||
<mime-type>application/vnd.ms-excel</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>xml</extension> |
|||
<mime-type>text/xml</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>zhtml</extension> |
|||
<mime-type>text/html</mime-type> |
|||
</mime-mapping> |
|||
<mime-mapping> |
|||
<extension>zul</extension> |
|||
<mime-type>text/html</mime-type> |
|||
</mime-mapping> |
|||
|
|||
<welcome-file-list> |
|||
<welcome-file>index.zul</welcome-file> |
|||
<welcome-file>index.zhtml</welcome-file> |
|||
<welcome-file>index.html</welcome-file> |
|||
<welcome-file>index.htm</welcome-file> |
|||
</welcome-file-list> |
|||
<distributable/> |
|||
</web-app> |
@ -0,0 +1,5 @@ |
|||
<zk> |
|||
<system-config> |
|||
<ui-factory-class>org.zkoss.zk.ui.http.SerializableUiFactory</ui-factory-class> |
|||
</system-config> |
|||
</zk> |
@ -0,0 +1,48 @@ |
|||
<zk xmlns="http://www.zkoss.org/2005/zul" xmlns:n="http://www.zkoss.org/2005/zk/native"> |
|||
<window width="600px" height="450px" border="true" closable="true" |
|||
viewModel="@id('vm')@init('com.wanhai.zk.TestVM')"> |
|||
<caption label="Test ZK Web - 1.0.1"/> |
|||
<vlayout vflex="1"> |
|||
<n:table width="100%"> |
|||
<!--<n:p>--> |
|||
<!--<n:h2>Hello: <html>${vm.guestName}</html></n:h2>--> |
|||
<!--</n:p>--> |
|||
<n:tbody border="0"> |
|||
<n:tr> |
|||
<n:td> |
|||
<n:label>Server IP:</n:label> |
|||
</n:td> |
|||
<n:td> |
|||
<label style="color:red;" value="@load(vm.serverIP)"/> |
|||
</n:td> |
|||
</n:tr> |
|||
<n:tr> |
|||
<n:td> |
|||
<n:label>Server Name:</n:label> |
|||
</n:td> |
|||
<n:td> |
|||
<label style="color:blue;" value="@load(vm.hostName)"/> |
|||
</n:td> |
|||
</n:tr> |
|||
<n:tr> |
|||
<n:td> |
|||
<n:label>Session:</n:label> |
|||
</n:td> |
|||
<n:td> |
|||
<label value="@load(vm.sessionId)"/> |
|||
</n:td> |
|||
</n:tr> |
|||
<n:tr></n:tr> |
|||
</n:tbody> |
|||
</n:table> |
|||
<hlayout> |
|||
<label>My Name is: </label> |
|||
<textbox value="@bind(vm.guestName)"></textbox> |
|||
</hlayout> |
|||
</vlayout> |
|||
<hbox width="100%" align="center" pack="center"> |
|||
<button label="Send Request" onClick="@command('test')"/> |
|||
</hbox> |
|||
|
|||
</window> |
|||
</zk> |
Write
Preview
Loading…
Cancel
Save