@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
|
||||
"http://java.sun.com/dtd/web-app_2_3.dtd">
|
||||
<web-app id="WebApp">
|
||||
|
||||
<security-constraint>
|
||||
<display-name>Restrict access to carbon console</display-name>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>Restricted Console UI</web-resource-name>
|
||||
<url-pattern>/carbon/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
<auth-constraint/>
|
||||
</security-constraint>
|
||||
|
||||
<!-- OWASP CSRFGuard per-application configuration property file location-->
|
||||
<context-param>
|
||||
<param-name>Owasp.CsrfGuard.Config</param-name>
|
||||
<param-value>conf/security/Owasp.CsrfGuard.Carbon.properties</param-value>
|
||||
</context-param>
|
||||
|
||||
<servlet id="bridge">
|
||||
<servlet-name>bridgeservlet</servlet-name>
|
||||
<display-name>Carbon Bridge Servlet</display-name>
|
||||
<description>Carbon Bridge Servlet</description>
|
||||
<servlet-class>org.wso2.carbon.tomcat.ext.servlet.DelegationServlet</servlet-class>
|
||||
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<!-- OWASP CSRFGuard servlet that serves dynamic token injection JavaScript-->
|
||||
<servlet>
|
||||
<servlet-name>JavaScriptServlet</servlet-name>
|
||||
<servlet-class>org.owasp.csrfguard.servlet.JavaScriptServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>bridgeservlet</servlet-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!--
|
||||
This is required if your application bundles expose JSPs.
|
||||
-->
|
||||
<servlet-mapping>
|
||||
<servlet-name>bridgeservlet</servlet-name>
|
||||
<url-pattern>*.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>JavaScriptServlet</servlet-name>
|
||||
<url-pattern>/carbon/admin/js/csrfPrevention.js</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!--This is for performing the character encoding in the JSPs. -->
|
||||
<filter>
|
||||
<filter-name>CharsetFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>requestEncoding</param-name>
|
||||
<param-value>UTF-8</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<!-- OWASP CSRFGuard filter used to validate CSRF token-->
|
||||
<filter>
|
||||
<filter-name>CSRFGuard</filter-name>
|
||||
<filter-class>org.owasp.csrfguard.CsrfGuardFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<!-- Tomcat http header security filter -->
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>CharsetFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>CSRFGuard</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- OWASP CSRFGuard context listener used to read CSRF configuration -->
|
||||
<listener>
|
||||
<listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- OWASP CSRFGuard session listener used to generate per-session CSRF token -->
|
||||
<listener>
|
||||
<listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<session-config>
|
||||
<session-timeout>15</session-timeout>
|
||||
<cookie-config>
|
||||
<secure>true</secure>
|
||||
</cookie-config>
|
||||
</session-config>
|
||||
|
||||
<!-- custom error pages -->
|
||||
<error-page>
|
||||
<error-code>400</error-code>
|
||||
<location>/carbon/errors/error_400.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>401</error-code>
|
||||
<location>/carbon/errors/error_401.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>403</error-code>
|
||||
<location>/carbon/errors/error_403.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>404</error-code>
|
||||
<location>/carbon/errors/error_404.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>405</error-code>
|
||||
<location>/carbon/errors/error_405.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>408</error-code>
|
||||
<location>/carbon/errors/error_408.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>410</error-code>
|
||||
<location>/carbon/errors/error_410.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>500</error-code>
|
||||
<location>/carbon/errors/error_500.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>502</error-code>
|
||||
<location>/carbon/errors/error_502.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>503</error-code>
|
||||
<location>/carbon/errors/error_503.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>504</error-code>
|
||||
<location>/carbon/errors/error_504.html</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<location>/carbon/errors/error.html</location>
|
||||
</error-page>
|
||||
</web-app>
|
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!--
|
||||
~ Copyright 2005-2013 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<!--
|
||||
This file defines the different classloading environments. This is container level config file. Individual webapps are not allowed to override these elements.
|
||||
|
||||
${carbon.home} represents the carbon.home system property.
|
||||
Other system properties can be specified in a similar manner.
|
||||
-->
|
||||
<Classloading xmlns="http://wso2.org/projects/as/classloading-environments">
|
||||
|
||||
<!--
|
||||
We define three different environments.
|
||||
|
||||
1) Delegated environment - This is a virtual environment where all the resources belongs to these environments are loaded from the parent. This way you can control whats being loaded from the parent classloader. Only the packages and resources specified in the delegated environments are loaded from the parent. All the others are loaded from the local webapp's classpath. If a webapps has speficied two or more delegated environments, they all get merged at runtime.
|
||||
-->
|
||||
<DelegatedEnvironments>
|
||||
|
||||
<DelegatedEnvironment>
|
||||
<Name>Tomcat</Name>
|
||||
<DelegatedPackages>javax.annotation.*,javax.ejb,javax.el,javax.persistence,javax.servlet.*,javax.xml,javax.xml.ws,org.apache.catalina.*,org.apache.coyote.*,org.apache.el.*,org.apache.jasper.*,org.apache.naming.*,org.apache.tomcat.*,com.sun.el.*,org.wso2.carbon.tomcat.jndi.*</DelegatedPackages>
|
||||
<DelegatedResources>*,!META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin,!META-INF/openwebbeans/openwebbeans.properties,!META-INF/standard-faces-config.xml,!META-INF/faces-config.xml</DelegatedResources>
|
||||
</DelegatedEnvironment>
|
||||
|
||||
<DelegatedEnvironment>
|
||||
<Name>Carbon</Name>
|
||||
<DelegatedPackages>*,!org.springframework.*,!org.apache.solr.*</DelegatedPackages>
|
||||
<DelegatedResources>*,!META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin,!META-INF/openwebbeans/openwebbeans.properties,!META-INF/standard-faces-config.xml,!META-INF/faces-config.xml</DelegatedResources>
|
||||
</DelegatedEnvironment>
|
||||
|
||||
<DelegatedEnvironment>
|
||||
<Name>Javaee</Name>
|
||||
<DelegatedPackages>*,!org.springframework.*</DelegatedPackages>
|
||||
<DelegatedResources>*</DelegatedResources>
|
||||
</DelegatedEnvironment>
|
||||
|
||||
|
||||
</DelegatedEnvironments>
|
||||
|
||||
|
||||
<!--
|
||||
2) Shared environment - These environments are loaded once and shared between multiple webapps. Certain runtimes can be shared by multiple webapps. So no need to load them per webapp.
|
||||
-->
|
||||
|
||||
<!--SharedEnvironments>
|
||||
<SharedEnvironment>
|
||||
<name>Spring</name>
|
||||
<Classpath></Classpath>
|
||||
</SharedEnvironment>
|
||||
</SharedEnvironments-->
|
||||
|
||||
<!--
|
||||
3) Exclusive environment - These environments are loaded per webapp. Exclusive environments define a set of resources(jars) which should be loaded per webapp. e.g. CXF runtime.
|
||||
-->
|
||||
<ExclusiveEnvironments>
|
||||
<ExclusiveEnvironment>
|
||||
<Name>CXF</Name>
|
||||
<Classpath>${carbon.home}/../lib/runtimes/cxf/*.jar;${carbon.home}/../lib/runtimes/cxf/</Classpath>
|
||||
</ExclusiveEnvironment>
|
||||
</ExclusiveEnvironments>
|
||||
|
||||
</Classloading>
|
@ -0,0 +1,194 @@
|
||||
@echo off
|
||||
|
||||
REM ---------------------------------------------------------------------------
|
||||
REM Copyright 2005-2009 WSO2, Inc. http://www.wso2.org
|
||||
REM
|
||||
REM Licensed under the Apache License, Version 2.0 (the "License");
|
||||
REM you may not use this file except in compliance with the License.
|
||||
REM You may obtain a copy of the License at
|
||||
REM
|
||||
REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
REM
|
||||
REM Unless required by applicable law or agreed to in writing, software
|
||||
REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM See the License for the specific language governing permissions and
|
||||
REM limitations under the License.
|
||||
|
||||
rem ---------------------------------------------------------------------------
|
||||
rem Main Script for WSO2 Carbon
|
||||
rem
|
||||
rem Environment Variable Prequisites
|
||||
rem
|
||||
rem CARBON_HOME Home of CARBON installation. If not set I will try
|
||||
rem to figure it out.
|
||||
rem
|
||||
rem JAVA_HOME Must point at your Java Development Kit installation.
|
||||
rem
|
||||
rem JAVA_OPTS (Optional) Java runtime options used when the commands
|
||||
rem is executed.
|
||||
rem ---------------------------------------------------------------------------
|
||||
|
||||
rem ----- if JAVA_HOME is not set we're not happy ------------------------------
|
||||
:checkJava
|
||||
|
||||
if "%JAVA_HOME%" == "" goto noJavaHome
|
||||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
||||
goto checkServer
|
||||
|
||||
:noJavaHome
|
||||
echo "You must set the JAVA_HOME variable before running CARBON."
|
||||
goto end
|
||||
|
||||
rem ----- Only set CARBON_HOME if not already set ----------------------------
|
||||
:checkServer
|
||||
rem %~sdp0 is expanded pathname of the current script under NT with spaces in the path removed
|
||||
set CARBON_HOME=%~sdp0..
|
||||
SET curDrive=%cd:~0,1%
|
||||
SET wsasDrive=%CARBON_HOME:~0,1%
|
||||
if not "%curDrive%" == "%wsasDrive%" %wsasDrive%:
|
||||
|
||||
rem find CARBON_HOME if it does not exist due to either an invalid value passed
|
||||
rem by the user or the %0 problem on Windows 9x
|
||||
if not exist "%CARBON_HOME%\bin\version.txt" goto noServerHome
|
||||
|
||||
set AXIS2_HOME=%CARBON_HOME%
|
||||
goto updateClasspath
|
||||
|
||||
:noServerHome
|
||||
echo CARBON_HOME is set incorrectly or CARBON could not be located. Please set CARBON_HOME.
|
||||
goto end
|
||||
|
||||
rem ----- update classpath -----------------------------------------------------
|
||||
:updateClasspath
|
||||
|
||||
setlocal EnableDelayedExpansion
|
||||
cd %CARBON_HOME%
|
||||
set CARBON_CLASSPATH=
|
||||
FOR %%C in ("%CARBON_HOME%\bin\*.jar") DO set CARBON_CLASSPATH=!CARBON_CLASSPATH!;".\bin\%%~nC%%~xC"
|
||||
|
||||
set CARBON_CLASSPATH="%JAVA_HOME%\lib\tools.jar";%CARBON_CLASSPATH%;
|
||||
|
||||
FOR %%D in ("%CARBON_HOME%\..\lib\commons-lang*.jar") DO set CARBON_CLASSPATH=!CARBON_CLASSPATH!;".\..\lib\%%~nD%%~xD"
|
||||
|
||||
rem ----- Process the input command -------------------------------------------
|
||||
|
||||
rem Slurp the command line arguments. This loop allows for an unlimited number
|
||||
rem of arguments (up to the command line limit, anyway).
|
||||
|
||||
|
||||
:setupArgs
|
||||
if ""%1""=="""" goto doneStart
|
||||
|
||||
if ""%1""==""-run"" goto commandLifecycle
|
||||
if ""%1""==""--run"" goto commandLifecycle
|
||||
if ""%1""==""run"" goto commandLifecycle
|
||||
|
||||
if ""%1""==""-restart"" goto commandLifecycle
|
||||
if ""%1""==""--restart"" goto commandLifecycle
|
||||
if ""%1""==""restart"" goto commandLifecycle
|
||||
|
||||
if ""%1""==""debug"" goto commandDebug
|
||||
if ""%1""==""-debug"" goto commandDebug
|
||||
if ""%1""==""--debug"" goto commandDebug
|
||||
|
||||
if ""%1""==""version"" goto commandVersion
|
||||
if ""%1""==""-version"" goto commandVersion
|
||||
if ""%1""==""--version"" goto commandVersion
|
||||
|
||||
shift
|
||||
goto setupArgs
|
||||
|
||||
rem ----- commandVersion -------------------------------------------------------
|
||||
:commandVersion
|
||||
shift
|
||||
type "%CARBON_HOME%\bin\version.txt"
|
||||
type "%CARBON_HOME%\bin\wso2carbon-version.txt"
|
||||
goto end
|
||||
|
||||
rem ----- commandDebug ---------------------------------------------------------
|
||||
:commandDebug
|
||||
shift
|
||||
set DEBUG_PORT=%1
|
||||
if "%DEBUG_PORT%"=="" goto noDebugPort
|
||||
if not "%JAVA_OPTS%"=="" echo Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option.
|
||||
set JAVA_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=%DEBUG_PORT%
|
||||
echo Please start the remote debugging client to continue...
|
||||
goto findJdk
|
||||
|
||||
:noDebugPort
|
||||
echo Please specify the debug port after the --debug option
|
||||
goto end
|
||||
|
||||
rem ----- commandLifecycle -----------------------------------------------------
|
||||
:commandLifecycle
|
||||
goto findJdk
|
||||
|
||||
:doneStart
|
||||
if "%OS%"=="Windows_NT" @setlocal
|
||||
if "%OS%"=="WINNT" @setlocal
|
||||
|
||||
rem ---------- Handle the SSL Issue with proper JDK version --------------------
|
||||
rem find the version of the jdk
|
||||
:findJdk
|
||||
|
||||
set CMD=RUN %*
|
||||
|
||||
:checkJdk17
|
||||
"%JAVA_HOME%\bin\java" -version 2>&1 | findstr /r "1.[7|8]" >NUL
|
||||
IF ERRORLEVEL 1 goto unknownJdk
|
||||
goto jdk17
|
||||
|
||||
:unknownJdk
|
||||
echo Starting WSO2 Carbon (in unsupported JDK)
|
||||
echo [ERROR] CARBON is supported only on JDK 1.7 and 1.8
|
||||
goto jdk17
|
||||
|
||||
:jdk17
|
||||
goto runServer
|
||||
|
||||
rem ----------------- Execute The Requested Command ----------------------------
|
||||
|
||||
:runServer
|
||||
cd %CARBON_HOME%
|
||||
|
||||
rem ------------------ Remove tmp folder on startup -----------------------------
|
||||
set TMP_DIR=%CARBON_HOME%\tmp
|
||||
cd "%TMP_DIR%"
|
||||
del *.* /s /q > nul
|
||||
FOR /d %%G in ("*.*") DO rmdir %%G /s /q
|
||||
cd ..
|
||||
|
||||
rem ---------- Add jars to classpath ----------------
|
||||
|
||||
set CARBON_CLASSPATH=.\..\lib;%CARBON_CLASSPATH%
|
||||
|
||||
set JAVA_ENDORSED=".\..\lib\endorsed";"%JAVA_HOME%\jre\lib\endorsed";"%JAVA_HOME%\lib\endorsed"
|
||||
|
||||
rem ---------------- Setting default profile for Runtime if not parsed --------------
|
||||
|
||||
set profileSet=false
|
||||
|
||||
for %%x in (%*) do (
|
||||
if "%%x" == "%x:-Dprofile%" (
|
||||
set profileSet=true
|
||||
)
|
||||
)
|
||||
|
||||
if "%profileSet%" == "false" (
|
||||
set profile=-Dprofile=broker-default
|
||||
)
|
||||
|
||||
set CMD_LINE_ARGS=-Xbootclasspath/a:%CARBON_XBOOTCLASSPATH% -Xms1024m -Xmx2048m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="%CARBON_HOME%\repository\logs\heap-dump.hprof" -Dcom.sun.management.jmxremote -classpath %CARBON_CLASSPATH% %JAVA_OPTS% -Djava.endorsed.dirs=%JAVA_ENDORSED% -DandesConfig=broker.xml -Dcarbon.registry.root=/ -Dcarbon.home="%CARBON_HOME%" -Dwso2.server.standalone=true -Djava.command="%JAVA_HOME%\bin\java" -Djava.opts="%JAVA_OPTS%" -Djava.io.tmpdir="%CARBON_HOME%\tmp" -Dcatalina.base="%CARBON_HOME%\..\lib\tomcat" -Dwso2.carbon.xml=%CARBON_HOME%\conf\carbon.xml -Dwso2.registry.xml="%CARBON_HOME%\conf\registry.xml" -Dwso2.user.mgt.xml="%CARBON_HOME%\conf\user-mgt.xml" -Dwso2.transports.xml="%CARBON_HOME%\conf\mgt-transports.xml" -Djava.util.logging.config.file="%CARBON_HOME%\conf\log4j.properties" -Dcarbon.config.dir.path="%CARBON_HOME%\conf" -Dcarbon.logs.path="%CARBON_HOME%\repository\logs" -Dcomponents.repo="%CARBON_HOME%\..\components\plugins" -Dcarbon.config.dir.path="%CARBON_HOME%\conf" -Dcarbon.components.dir.path="%CARBON_HOME%\..\components" -Dcarbon.extensions.dir.path="%CARBON_HOME%\..\..\extensions" -Dcarbon.dropins.dir.path="%CARBON_HOME%\..\..\dropins" -Dcarbon.external.lib.dir.path="%CARBON_HOME%\..\..\lib" -Dcarbon.patches.dir.path="%CARBON_HOME%\..\..\patches" -Dcarbon.servicepacks.dir.path="%CARBON_HOME%\..\..\servicepacks" -Dcarbon.internal.lib.dir.path="%CARBON_HOME%\..\lib" -Dconf.location="%CARBON_HOME%\conf" -Dcom.atomikos.icatch.file="%CARBON_HOME%\..\lib\transactions.properties" -Dcom.atomikos.icatch.hide_init_file_path="true" -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dcom.sun.jndi.ldap.connect.pool.authentication=simple -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 -Dorg.terracotta.quartz.skipUpdateCheck=true -Dcarbon.classpath=%CARBON_CLASSPATH% -Dfile.encoding=UTF8 -Dlogger.server.name="EI-Broker" -Dqpid.conf="\conf\advanced" %profile%
|
||||
|
||||
:runJava
|
||||
echo JAVA_HOME environment variable is set to %JAVA_HOME%
|
||||
echo CARBON_HOME environment variable is set to %CARBON_HOME%
|
||||
"%JAVA_HOME%\bin\java" %CMD_LINE_ARGS% org.wso2.carbon.bootstrap.Bootstrap %CMD%
|
||||
if "%ERRORLEVEL%"=="121" goto runJava
|
||||
:end
|
||||
goto endlocal
|
||||
|
||||
:endlocal
|
||||
|
||||
:END
|
@ -0,0 +1,343 @@
|
||||
#!/bin/sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Copyright 2005-2012 WSO2, Inc. http://www.wso2.org
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Main Script for the WSO2 Carbon Server
|
||||
#
|
||||
# Environment Variable Prequisites
|
||||
#
|
||||
# CARBON_HOME Home of WSO2 Carbon installation. If not set I will try
|
||||
# to figure it out.
|
||||
#
|
||||
# JAVA_HOME Must point at your Java Development Kit installation.
|
||||
#
|
||||
# JAVA_OPTS (Optional) Java runtime options used when the commands
|
||||
# is executed.
|
||||
#
|
||||
# NOTE: Borrowed generously from Apache Tomcat startup scripts.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
#ulimit -n 100000
|
||||
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
os400=false;
|
||||
mingw=false;
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true;;
|
||||
MINGW*) mingw=true;;
|
||||
OS400*) os400=true;;
|
||||
Darwin*) darwin=true
|
||||
if [ -z "$JAVA_VERSION" ] ; then
|
||||
JAVA_VERSION="CurrentJDK"
|
||||
else
|
||||
echo "Using Java version: $JAVA_VERSION"
|
||||
fi
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# resolve links - $0 may be a softlink
|
||||
PRG="$0"
|
||||
|
||||
while [ -h "$PRG" ]; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '.*/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`/"$link"
|
||||
fi
|
||||
done
|
||||
|
||||
# Get standard environment variables
|
||||
PRGDIR=`dirname "$PRG"`
|
||||
|
||||
# Only set CARBON_HOME if not already set
|
||||
[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||
|
||||
# Set AXIS2_HOME. Needed for One Click JAR Download
|
||||
AXIS2_HOME="$CARBON_HOME"
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
|
||||
[ -n "$AXIS2_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
|
||||
fi
|
||||
|
||||
# For OS400
|
||||
if $os400; then
|
||||
# Set job priority to standard for interactive (interactive - 6) by using
|
||||
# the interactive priority - 6, the helper threads that respond to requests
|
||||
# will be running at the same priority as interactive jobs.
|
||||
COMMAND='chgjob job('$JOBNAME') runpty(6)'
|
||||
system $COMMAND
|
||||
|
||||
# Enable multi threading
|
||||
QIBM_MULTI_THREADED=Y
|
||||
export QIBM_MULTI_THREADED
|
||||
fi
|
||||
|
||||
# For Migwn, ensure paths are in UNIX format before anything is touched
|
||||
if $mingw ; then
|
||||
[ -n "$CARBON_HOME" ] &&
|
||||
CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
[ -n "$AXIS2_HOME" ] &&
|
||||
CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
|
||||
# TODO classpath?
|
||||
fi
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly."
|
||||
echo " CARBON cannot execute $JAVACMD"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# if JAVA_HOME is not set we're not happy
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
echo "You must set the JAVA_HOME variable before running CARBON."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
|
||||
PID=`cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
fi
|
||||
|
||||
# ----- Process the input command ----------------------------------------------
|
||||
args=""
|
||||
for c in $*
|
||||
do
|
||||
if [ "$c" = "--debug" ] || [ "$c" = "-debug" ] || [ "$c" = "debug" ]; then
|
||||
CMD="--debug"
|
||||
continue
|
||||
elif [ "$CMD" = "--debug" ]; then
|
||||
if [ -z "$PORT" ]; then
|
||||
PORT=$c
|
||||
fi
|
||||
elif [ "$c" = "--stop" ] || [ "$c" = "-stop" ] || [ "$c" = "stop" ]; then
|
||||
CMD="stop"
|
||||
elif [ "$c" = "--start" ] || [ "$c" = "-start" ] || [ "$c" = "start" ]; then
|
||||
CMD="start"
|
||||
elif [ "$c" = "--version" ] || [ "$c" = "-version" ] || [ "$c" = "version" ]; then
|
||||
CMD="version"
|
||||
elif [ "$c" = "--restart" ] || [ "$c" = "-restart" ] || [ "$c" = "restart" ]; then
|
||||
CMD="restart"
|
||||
elif [ "$c" = "--test" ] || [ "$c" = "-test" ] || [ "$c" = "test" ]; then
|
||||
CMD="test"
|
||||
else
|
||||
args="$args $c"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$CMD" = "--debug" ]; then
|
||||
if [ "$PORT" = "" ]; then
|
||||
echo " Please specify the debug port after the --debug option"
|
||||
exit 1
|
||||
fi
|
||||
if [ -n "$JAVA_OPTS" ]; then
|
||||
echo "Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option."
|
||||
fi
|
||||
CMD="RUN"
|
||||
JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$PORT"
|
||||
echo "Please start the remote debugging client to continue..."
|
||||
elif [ "$CMD" = "start" ]; then
|
||||
if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
|
||||
if ps -p $PID > /dev/null ; then
|
||||
echo "Process is already running"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
export CARBON_HOME="$CARBON_HOME"
|
||||
# using nohup sh to avoid erros in solaris OS.TODO
|
||||
nohup sh "$CARBON_HOME"/bin/wso2server.sh $args > /dev/null 2>&1 &
|
||||
exit 0
|
||||
elif [ "$CMD" = "stop" ]; then
|
||||
export CARBON_HOME="$CARBON_HOME"
|
||||
kill -term `cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
exit 0
|
||||
elif [ "$CMD" = "restart" ]; then
|
||||
export CARBON_HOME="$CARBON_HOME"
|
||||
kill -term `cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
process_status=0
|
||||
pid=`cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
while [ "$process_status" -eq "0" ]
|
||||
do
|
||||
sleep 1;
|
||||
ps -p$pid 2>&1 > /dev/null
|
||||
process_status=$?
|
||||
done
|
||||
|
||||
# using nohup sh to avoid erros in solaris OS.TODO
|
||||
nohup sh "$CARBON_HOME"/bin/wso2server.sh $args > /dev/null 2>&1 &
|
||||
exit 0
|
||||
elif [ "$CMD" = "test" ]; then
|
||||
JAVACMD="exec "$JAVACMD""
|
||||
elif [ "$CMD" = "version" ]; then
|
||||
cat "$CARBON_HOME"/bin/version.txt
|
||||
cat "$CARBON_HOME"/bin/wso2carbon-version.txt
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ---------- Handle the SSL Issue with proper JDK version --------------------
|
||||
jdk_17=`$JAVA_HOME/bin/java -version 2>&1 | grep "1.[7|8]"`
|
||||
if [ "$jdk_17" = "" ]; then
|
||||
echo " Starting WSO2 Carbon (in unsupported JDK)"
|
||||
echo " [ERROR] CARBON is supported only on JDK 1.7 and 1.8"
|
||||
fi
|
||||
|
||||
CARBON_XBOOTCLASSPATH=""
|
||||
for f in "$CARBON_HOME"/../lib/xboot/*.jar
|
||||
do
|
||||
if [ "$f" != "$CARBON_HOME/wso2/lib/xboot/*.jar" ];then
|
||||
CARBON_XBOOTCLASSPATH="$CARBON_XBOOTCLASSPATH":$f
|
||||
fi
|
||||
done
|
||||
|
||||
JAVA_ENDORSED_DIRS="$CARBON_HOME/../lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed"
|
||||
|
||||
CARBON_CLASSPATH=""
|
||||
if [ -e "$JAVA_HOME/lib/tools.jar" ]; then
|
||||
CARBON_CLASSPATH="$JAVA_HOME/../lib/tools.jar"
|
||||
fi
|
||||
for f in "$CARBON_HOME"/bin/*.jar
|
||||
do
|
||||
if [ "$f" != "$CARBON_HOME/bin/*.jar" ];then
|
||||
CARBON_CLASSPATH="$CARBON_CLASSPATH":$f
|
||||
fi
|
||||
done
|
||||
for t in "$CARBON_HOME"/../lib/commons-lang*.jar
|
||||
do
|
||||
CARBON_CLASSPATH="$CARBON_CLASSPATH":$t
|
||||
done
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
|
||||
CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
|
||||
AXIS2_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||
JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
|
||||
CARBON_CLASSPATH=`cygpath --path --windows "$CARBON_CLASSPATH"`
|
||||
CARBON_XBOOTCLASSPATH=`cygpath --path --windows "$CARBON_XBOOTCLASSPATH"`
|
||||
fi
|
||||
|
||||
# ----- Execute The Requested Command -----------------------------------------
|
||||
|
||||
echo JAVA_HOME environment variable is set to $JAVA_HOME
|
||||
echo CARBON_HOME environment variable is set to "$CARBON_HOME"
|
||||
|
||||
cd "$CARBON_HOME"
|
||||
|
||||
TMP_DIR="$CARBON_HOME"/tmp
|
||||
if [ -d "$TMP_DIR" ]; then
|
||||
rm -rf "$TMP_DIR"/*
|
||||
fi
|
||||
|
||||
START_EXIT_STATUS=121
|
||||
status=$START_EXIT_STATUS
|
||||
|
||||
if [ -z "$JVM_MEM_OPTS" ]; then
|
||||
java_version=$("$JAVACMD" -version 2>&1 | awk -F '"' '/version/ {print $2}')
|
||||
JVM_MEM_OPTS="-Xms256m -Xmx1024m"
|
||||
if [ "$java_version" \< "1.8" ]; then
|
||||
JVM_MEM_OPTS="$JVM_MEM_OPTS -XX:MaxPermSize=256m"
|
||||
fi
|
||||
fi
|
||||
echo "Using Java memory options: $JVM_MEM_OPTS"
|
||||
|
||||
#setting up profile parameter for runtime in MB
|
||||
PROFILE_SELECTED="false"
|
||||
for i in "$@"; do
|
||||
if echo "$i" | grep -q "Dprofile"; then
|
||||
PROFILE_SELECTED="true"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$PROFILE_SELECTED" = false ] ; then
|
||||
NODE_PARAMS="$NODE_PARAMS -Dprofile=broker-default"
|
||||
fi
|
||||
|
||||
#To monitor a Carbon server in remote JMX mode on linux host machines, set the below system property.
|
||||
# -Djava.rmi.server.hostname="your.IP.goes.here"
|
||||
|
||||
while [ "$status" = "$START_EXIT_STATUS" ]
|
||||
do
|
||||
$JAVACMD \
|
||||
-Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \
|
||||
$JVM_MEM_OPTS \
|
||||
-XX:+HeapDumpOnOutOfMemoryError \
|
||||
-XX:HeapDumpPath="$CARBON_HOME/repository/logs/heap-dump.hprof" \
|
||||
$JAVA_OPTS \
|
||||
-Dcom.sun.management.jmxremote \
|
||||
-classpath "$CARBON_CLASSPATH" \
|
||||
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
|
||||
-Djava.io.tmpdir="$CARBON_HOME/tmp" \
|
||||
-Dcatalina.base="$CARBON_HOME/../lib/tomcat" \
|
||||
-Dwso2.server.standalone=true \
|
||||
-Dcarbon.registry.root=/ \
|
||||
-Djava.command="$JAVACMD" \
|
||||
-DandesConfig=broker.xml \
|
||||
-Dqpid.conf="/conf/advanced/" \
|
||||
-Dcarbon.home="$CARBON_HOME" \
|
||||
-Dlogger.server.name="IoT-Broker" \
|
||||
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
|
||||
-Dcarbon.config.dir.path="$CARBON_HOME/conf" \
|
||||
-Dcarbon.repository.dir.path="$CARBON_HOME/repository" \
|
||||
-Dcarbon.components.dir.path="$CARBON_HOME/../components" \
|
||||
-Dcarbon.extensions.dir.path="$CARBON_HOME/../../extensions" \
|
||||
-Dcarbon.dropins.dir.path="$CARBON_HOME/../../dropins" \
|
||||
-Dcarbon.external.lib.dir.path="$CARBON_HOME/../../lib" \
|
||||
-Dcarbon.patches.dir.path="$CARBON_HOME/../../patches" \
|
||||
-Dcarbon.servicepacks.dir.path="$CARBON_HOME/../../servicepacks" \
|
||||
-Dcarbon.internal.lib.dir.path="$CARBON_HOME/../lib" \
|
||||
-Djava.util.logging.config.file="$CARBON_HOME/conf/etc/logging-bridge.properties" \
|
||||
-Dcomponents.repo="$CARBON_HOME/../components/plugins" \
|
||||
-Dconf.location="$CARBON_HOME/../broker/conf" \
|
||||
-Dcom.atomikos.icatch.file="$CARBON_HOME/../lib/transactions.properties" \
|
||||
-Dcom.atomikos.icatch.hide_init_file_path=true \
|
||||
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false \
|
||||
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true \
|
||||
-Dcom.sun.jndi.ldap.connect.pool.authentication=simple \
|
||||
-Dcom.sun.jndi.ldap.connect.pool.timeout=3000 \
|
||||
-Dorg.terracotta.quartz.skipUpdateCheck=true \
|
||||
-Djava.security.egd=file:/dev/./urandom \
|
||||
-Dfile.encoding=UTF8 \
|
||||
-Djava.net.preferIPv4Stack=true \
|
||||
-Dcom.ibm.cacheLocalHost=true \
|
||||
-DworkerNode=false \
|
||||
-Dorg.apache.cxf.io.CachedOutputStream.Threshold=104857600 \
|
||||
$NODE_PARAMS \
|
||||
org.wso2.carbon.bootstrap.Bootstrap $*
|
||||
status=$?
|
||||
done
|
@ -0,0 +1,725 @@
|
||||
<!--
|
||||
~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<axisconfig name="AxisJava2.0">
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Globally engaged modules -->
|
||||
<!-- ================================================= -->
|
||||
<module ref="addressing"/>
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Parameters -->
|
||||
<!-- ================================================= -->
|
||||
<parameter name="hotdeployment">${hotdeployment}</parameter>
|
||||
<parameter name="hotupdate">${hotupdate}</parameter>
|
||||
<parameter name="enableMTOM" locked="false">optional</parameter>
|
||||
<parameter name="cacheAttachments">true</parameter>
|
||||
<parameter name="attachmentDIR">work/mtom</parameter>
|
||||
<parameter name="sizeThreshold">4000</parameter>
|
||||
|
||||
<parameter name="EnableChildFirstClassLoading">${childfirstCL}</parameter>
|
||||
|
||||
<!--
|
||||
The exposeServiceMetadata parameter decides whether the metadata (WSDL, schema, policy) of
|
||||
the services deployed on Axis2 should be visible when ?wsdl, ?wsdl2, ?xsd, ?policy requests
|
||||
are received.
|
||||
This parameter can be defined in the axi2.xml file, in which case this will be applicable
|
||||
globally, or in the services.xml files, in which case, it will be applicable to the
|
||||
Service groups and/or services, depending on the level at which the parameter is declared.
|
||||
This value of this parameter defaults to true.
|
||||
-->
|
||||
<parameter name="exposeServiceMetadata">true</parameter>
|
||||
|
||||
<!--If turned on with use the Accept header of the request to determine the contentType of the
|
||||
response-->
|
||||
<parameter name="httpContentNegotiation">true</parameter>
|
||||
|
||||
<!--
|
||||
Defines how the persistence of WS-ReliableMessaging is handled
|
||||
|
||||
Possible value are: inmemory & persistent
|
||||
-->
|
||||
<!-- Following parameter will completely disable REST handling in both the servlets-->
|
||||
<parameter name="disableREST" locked="false">false</parameter>
|
||||
|
||||
<parameter name="Sandesha2StorageManager">inmemory</parameter>
|
||||
|
||||
<!-- This deployment interceptor will be called whenever before a module is initialized or
|
||||
service is deployed -->
|
||||
<listener class="org.wso2.carbon.core.deployment.DeploymentInterceptor"/>
|
||||
|
||||
<!-- setting servicePath. contextRoot is defined in the carbon.xml file -->
|
||||
<!-- modification of this variable should be accompanied by the change in 'ServerURL' in carbon.xml file -->
|
||||
<parameter name="servicePath">services</parameter>
|
||||
|
||||
<!--the directory in which .aar services are deployed inside axis2 repository-->
|
||||
<parameter name="ServicesDirectory">axis2services</parameter>
|
||||
|
||||
<!--the directory in which modules are deployed inside axis2 repository-->
|
||||
<parameter name="ModulesDirectory">axis2modules</parameter>
|
||||
|
||||
<parameter name="userAgent" locked="true">
|
||||
WSO2 Message Broker-3.0.0
|
||||
</parameter>
|
||||
<parameter name="server" locked="true">
|
||||
WSO2 Message Broker-3.0.0
|
||||
</parameter>
|
||||
|
||||
<!-- ========================================================================-->
|
||||
|
||||
<!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
|
||||
<!--that behaviour.-->
|
||||
<parameter name="sendStacktraceDetailsWithFaults">false</parameter>
|
||||
|
||||
<!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
|
||||
<!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
|
||||
<!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
|
||||
<!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
|
||||
<parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
|
||||
|
||||
<!--Set the flag to true if you want to enable transport level session mangment-->
|
||||
<parameter name="manageTransportSession">true</parameter>
|
||||
|
||||
<!-- Synapse Configuration file -->
|
||||
<parameter name="SynapseConfig.ConfigurationFile" locked="false">
|
||||
./repository/deployment/server/synapse-configs
|
||||
</parameter>
|
||||
|
||||
<!-- Synapse Home parameter -->
|
||||
<parameter name="SynapseConfig.HomeDirectory" locked="false">.</parameter>
|
||||
|
||||
<!-- Resolve root used to resolve synapse references like schemas inside a WSDL -->
|
||||
<parameter name="SynapseConfig.ResolveRoot" locked="false">.</parameter>
|
||||
|
||||
<!-- Synapse Server name parameter -->
|
||||
<parameter name="SynapseConfig.ServerName" locked="false">WSO2 Carbon Server</parameter>
|
||||
|
||||
<!--By default, JAXWS services are created by reading annotations. WSDL and schema are generated-->
|
||||
<!--using a separate WSDL generator only when ?wsdl is called. Therefore, even if you engage-->
|
||||
<!--policies etc.. to AxisService, it doesn't appear in the WSDL. By setting the following property-->
|
||||
<!--to true, you can create the AxisService using the generated WSDL and remove the need for a-->
|
||||
<!--WSDL generator. When ?wsdl is called, WSDL is generated in the normal way.-->
|
||||
<parameter name="useGeneratedWSDLinJAXWS">${jaxwsparam}</parameter>
|
||||
|
||||
<!-- Deployer for the dataservice. -->
|
||||
<!--<deployer extension="dbs" directory="dataservices" class="org.wso2.dataservices.DBDeployer"/>-->
|
||||
|
||||
<!-- Axis1 deployer for Axis2-->
|
||||
<!--<deployer extension="wsdd" class="org.wso2.carbon.axis1services.Axis1Deployer" directory="axis1services"/>-->
|
||||
|
||||
<!-- POJO service deployer for Jar -->
|
||||
<!--<deployer extension="jar" class="org.apache.axis2.deployment.POJODeployer" directory="pojoservices"/>-->
|
||||
|
||||
<!-- POJO service deployer for Class -->
|
||||
<!--<deployer extension="class" class="org.apache.axis2.deployment.POJODeployer" directory="pojoservices"/>-->
|
||||
|
||||
<!-- JAXWS service deployer -->
|
||||
<!--<deployer extension=".jar" class="org.apache.axis2.jaxws.framework.JAXWSDeployer" directory="servicejars"/>-->
|
||||
<!-- ================================================= -->
|
||||
<!-- Message Receivers -->
|
||||
<!-- ================================================= -->
|
||||
<!--This is the Default Message Receiver for the system , if you want to have MessageReceivers for -->
|
||||
<!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
|
||||
<!--any operation -->
|
||||
<!--Note : You can ovride this for particular service by adding the same element with your requirement-->
|
||||
|
||||
<messageReceivers>
|
||||
<messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
|
||||
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
|
||||
<messageReceiver mep="http://www.w3.org/ns/wsdl/robust-in-only"
|
||||
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
|
||||
<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
|
||||
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
|
||||
</messageReceivers>
|
||||
|
||||
<messageFormatters>
|
||||
<messageFormatter contentType="application/x-www-form-urlencoded"
|
||||
class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
|
||||
<messageFormatter contentType="multipart/form-data"
|
||||
class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
|
||||
<messageFormatter contentType="application/xml"
|
||||
class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
|
||||
<messageFormatter contentType="text/xml"
|
||||
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
|
||||
<messageFormatter contentType="application/soap+xml"
|
||||
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
|
||||
|
||||
<!--JSON Message Formatters-->
|
||||
<!--messageFormatter contentType="application/json"
|
||||
class="org.apache.axis2.json.JSONMessageFormatter"/-->
|
||||
<messageFormatter contentType="application/json"
|
||||
class="org.apache.axis2.json.gson.JsonFormatter" />
|
||||
<messageFormatter contentType="application/json/badgerfish"
|
||||
class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/>
|
||||
<!--messageFormatter contentType="text/javascript"
|
||||
class="org.apache.axis2.json.JSONMessageFormatter"/-->
|
||||
<messageFormatter contentType="text/javascript"
|
||||
class="org.apache.axis2.json.gson.JsonFormatter" />
|
||||
|
||||
<!--messageFormatter contentType="application/x-www-form-urlencoded"
|
||||
class="org.wso2.carbon.relay.ExpandingMessageFormatter"/-->
|
||||
<!--messageFormatter contentType="multipart/form-data"
|
||||
class="org.wso2.carbon.relay.ExpandingMessageFormatter"/-->
|
||||
<!--messageFormatter contentType="application/xml"
|
||||
class="org.wso2.carbon.relay.ExpandingMessageFormatter"/-->
|
||||
<!--messageFormatter contentType="text/html"
|
||||
class="org.wso2.carbon.relay.ExpandingMessageFormatter"/-->
|
||||
<!--messageFormatter contentType="application/soap+xml"
|
||||
class="org.wso2.carbon.relay.ExpandingMessageFormatter"/-->
|
||||
<!--messageFormatter contentType="x-application/hessian"
|
||||
class="org.apache.synapse.format.hessian.HessianMessageFormatter"/-->
|
||||
<!--<messageFormatter contentType="">
|
||||
class="org.apache.synapse.format.hessian.HessianMessageFormatter"/-->
|
||||
</messageFormatters>
|
||||
|
||||
<messageBuilders>
|
||||
<messageBuilder contentType="application/xml"
|
||||
class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
|
||||
<messageBuilder contentType="application/x-www-form-urlencoded"
|
||||
class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
|
||||
<messageBuilder contentType="multipart/form-data"
|
||||
class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
|
||||
|
||||
<!--JSON Message Builders-->
|
||||
<!--messageBuilder contentType="application/json"
|
||||
class="org.apache.axis2.json.JSONOMBuilder"/-->
|
||||
<messageBuilder contentType="application/json"
|
||||
class="org.apache.axis2.json.gson.JsonBuilder" />
|
||||
<messageBuilder contentType="application/json/badgerfish"
|
||||
class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/>
|
||||
<!--messageBuilder contentType="text/javascript"
|
||||
class="org.apache.axis2.json.JSONOMBuilder"/-->
|
||||
<messageBuilder contentType="text/javascript"
|
||||
class="org.apache.axis2.json.gson.JsonBuilder" />
|
||||
|
||||
<!--messageBuilder contentType="application/xml"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageBuilder contentType="application/x-www-form-urlencoded"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageBuilder contentType="multipart/form-data"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageBuilder contentType="multipart/related"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageBuilder contentType="application/soap+xml"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageBuilder contentType="text/plain"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageBuilder contentType="text/xml"
|
||||
class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
|
||||
<!--messageFormatter contentType="text/plain"
|
||||
class="org.apache.axis2.format.PlainTextBuilder"/-->
|
||||
<!--messageBuilder contentType="x-application/hessian"
|
||||
class="org.apache.synapse.format.hessian.HessianMessageBuilder"/-->
|
||||
</messageBuilders>
|
||||
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- In Transports -->
|
||||
<!-- ================================================= -->
|
||||
<transportReceiver name="http"
|
||||
class="org.wso2.carbon.core.transports.http.HttpTransportListener">
|
||||
<!--
|
||||
Uncomment the following if you are deploying this within an application server. You
|
||||
need to specify the HTTP port of the application server
|
||||
-->
|
||||
<parameter name="port">9763</parameter>
|
||||
|
||||
<!--
|
||||
Uncomment the following to enable any proxy like Apache2 mod_proxy or any load balancer. The port on the proxy server like Apache is 80
|
||||
in this case.
|
||||
-->
|
||||
<!--<parameter name="proxyPort">80</parameter>-->
|
||||
</transportReceiver>
|
||||
|
||||
<!--Please uncomment this in Multiple Instance Scenario if you want to use NIO Transport Recievers and
|
||||
Remove the current transport REceivers in axis2.xml -->
|
||||
<!--transportReceiver name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOListener">
|
||||
<parameter name="port" locked="false">8280</parameter>
|
||||
<parameter name="non-blocking" locked="false">true</parameter>
|
||||
</transportReceiver>
|
||||
|
||||
<transportReceiver name="https" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSSLListener">
|
||||
<parameter name="port" locked="false">8243</parameter>
|
||||
<parameter name="non-blocking" locked="false">true</parameter>
|
||||
<parameter name="keystore" locked="false">
|
||||
<KeyStore>
|
||||
<Location>repository/resources/security/wso2carbon.jks</Location>
|
||||
<Type>JKS</Type>
|
||||
<Password>wso2carbon</Password>
|
||||
<KeyPassword>wso2carbon</KeyPassword>
|
||||
</KeyStore>
|
||||
</parameter>
|
||||
<parameter name="truststore" locked="false">
|
||||
<TrustStore>
|
||||
<Location>repository/resources/security/client-truststore.jks</Location>
|
||||
<Type>JKS</Type>
|
||||
<Password>wso2carbon</Password>
|
||||
</TrustStore>
|
||||
</parameter>
|
||||
</transportReceiver-->
|
||||
|
||||
|
||||
<transportReceiver name="https"
|
||||
class="org.wso2.carbon.core.transports.http.HttpsTransportListener">
|
||||
<!--
|
||||
Uncomment the following if you are deploying this within an application server. You
|
||||
need to specify the HTTPS port of the application server
|
||||
-->
|
||||
<parameter name="port">9443</parameter>
|
||||
|
||||
<!--
|
||||
Uncomment the following to enable any proxy like Apache2 mod_proxy or any load balancer. The port on a proxy server like Apache is 443
|
||||
in this case.
|
||||
-->
|
||||
<!--<parameter name="proxyPort">443</parameter>-->
|
||||
</transportReceiver>
|
||||
|
||||
<!--
|
||||
Uncomment the following segment to enable TCP transport.
|
||||
Note : Addressing module should be engaged for TCP transport to work
|
||||
-->
|
||||
<!--<transportReceiver name="tcp"
|
||||
class="org.apache.axis2.transport.tcp.TCPServer">
|
||||
<parameter name="port">6667</parameter>
|
||||
</transportReceiver>-->
|
||||
|
||||
<!--
|
||||
To Enable Mail Transport Listener, please uncomment the following.
|
||||
-->
|
||||
<!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.MailTransportListener">
|
||||
|
||||
</transportReceiver>-->
|
||||
|
||||
|
||||
<!--
|
||||
Uncomment this and configure as appropriate for JMS transport support,
|
||||
after setting up your JMS environment (e.g. ActiveMQ)
|
||||
-->
|
||||
<!--<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
|
||||
<parameter name="myTopicConnectionFactory">
|
||||
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter name="myQueueConnectionFactory">
|
||||
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter name="default">
|
||||
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
|
||||
</parameter>
|
||||
</transportReceiver>-->
|
||||
|
||||
<!--Uncomment this and configure as appropriate for JMS transport support with Apache Qpid -->
|
||||
<!--transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
|
||||
<parameter name="myTopicConnectionFactory" locked="false">
|
||||
<parameter name="java.naming.factory.initial" locked="false">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter name="myQueueConnectionFactory" locked="false">
|
||||
<parameter name="java.naming.factory.initial" locked="false">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter name="default" locked="false">
|
||||
<parameter name="java.naming.factory.initial" locked="false">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
|
||||
</parameter>
|
||||
</transportReceiver-->
|
||||
|
||||
<!--Uncomment this and configure as appropriate for JMS transport support with WSO2 MB 3.x.x -->
|
||||
<!--transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
|
||||
<parameter name="myTopicConnectionFactory" locked="false">
|
||||
<parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter name="myQueueConnectionFactory" locked="false">
|
||||
<parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
|
||||
</parameter>
|
||||
|
||||
<parameter name="default" locked="false">
|
||||
<parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
|
||||
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
|
||||
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
|
||||
</parameter>
|
||||
</transportReceiver-->
|
||||
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Out Transports -->
|
||||
<!-- ================================================= -->
|
||||
|
||||
<!--<transportSender name="tcp"
|
||||
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>-->
|
||||
<transportReceiver name="local"
|
||||
class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver"/>
|
||||
<transportSender name="local"
|
||||
class="org.wso2.carbon.core.transports.local.CarbonLocalTransportSender"/>
|
||||
<!--<transportSender name="jms"
|
||||
class="org.apache.axis2.transport.jms.JMSSender"/>-->
|
||||
<transportSender name="http"
|
||||
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
|
||||
<parameter name="PROTOCOL">HTTP/1.1</parameter>
|
||||
<parameter name="Transfer-Encoding">chunked</parameter>
|
||||
<!-- This parameter has been added to overcome problems encounted in SOAP action parameter -->
|
||||
<parameter name="OmitSOAP12Action">true</parameter>
|
||||
</transportSender>
|
||||
<transportSender name="https"
|
||||
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
|
||||
<parameter name="PROTOCOL">HTTP/1.1</parameter>
|
||||
<parameter name="Transfer-Encoding">chunked</parameter>
|
||||
<!-- This parameter has been added to overcome problems encounted in SOAP action parameter -->
|
||||
<parameter name="OmitSOAP12Action">true</parameter>
|
||||
</transportSender>
|
||||
|
||||
<!-- To enable mail transport sender, ncomment the following and change the parameters
|
||||
accordingly-->
|
||||
<!--<transportSender name="mailto"
|
||||
class="org.apache.axis2.transport.mail.MailTransportSender">
|
||||
<parameter name="mail.smtp.from">wso2demomail@gmail.com</parameter>
|
||||
<parameter name="mail.smtp.user">wso2demomail</parameter>
|
||||
<parameter name="mail.smtp.password">mailpassword</parameter>
|
||||
<parameter name="mail.smtp.host">smtp.gmail.com</parameter>
|
||||
|
||||
<parameter name="mail.smtp.port">587</parameter>
|
||||
<parameter name="mail.smtp.starttls.enable">true</parameter>
|
||||
<parameter name="mail.smtp.auth">true</parameter>
|
||||
</transportSender>-->
|
||||
|
||||
<!--Please uncomment this in Multiple Instance Scenario if you want to use NIO sender -->
|
||||
<!--
|
||||
<transportSender name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSender">
|
||||
<parameter name="non-blocking" locked="false">true</parameter>
|
||||
</transportSender>
|
||||
<transportSender name="https" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSSLSender">
|
||||
<parameter name="non-blocking" locked="false">true</parameter>
|
||||
<parameter name="keystore" locked="false">
|
||||
<KeyStore>
|
||||
<Location>repository/resources/security/wso2carbon.jks</Location>
|
||||
<Type>JKS</Type>
|
||||
<Password>wso2carbon</Password>
|
||||
<KeyPassword>wso2carbon</KeyPassword>
|
||||
</KeyStore>
|
||||
</parameter>
|
||||
<parameter name="truststore" locked="false">
|
||||
<TrustStore>
|
||||
<Location>repository/resources/security/client-truststore.jks</Location>
|
||||
<Type>JKS</Type>
|
||||
<Password>wso2carbon</Password>
|
||||
</TrustStore>
|
||||
</parameter>
|
||||
</transportSender>
|
||||
-->
|
||||
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Phases -->
|
||||
<!-- ================================================= -->
|
||||
<phaseOrder type="InFlow">
|
||||
<!-- System pre defined phases -->
|
||||
<!--
|
||||
The MsgInObservation phase is used to observe messages as soon as they are
|
||||
received. In this phase, we could do some things such as SOAP message tracing & keeping
|
||||
track of the time at which a particular message was received
|
||||
|
||||
NOTE: This should be the very first phase in this flow
|
||||
-->
|
||||
<phase name="MsgInObservation"/>
|
||||
|
||||
<phase name="Validation"/>
|
||||
<phase name="Transport">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
|
||||
<order phase="Transport"/>
|
||||
</handler>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
|
||||
<order phase="Transport"/>
|
||||
</handler>
|
||||
<handler name="RequestURIOperationDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher" />
|
||||
<handler name="JSONMessageHandler"
|
||||
class="org.apache.axis2.json.gson.JSONMessageHandler" />
|
||||
</phase>
|
||||
<phase name="Addressing">
|
||||
<handler name="AddressingBasedDispatcher"
|
||||
class="org.wso2.carbon.core.multitenancy.MultitenantAddressingBasedDispatcher">
|
||||
<order phase="Addressing"/>
|
||||
</handler>
|
||||
</phase>
|
||||
<phase name="Ghost">
|
||||
<handler name="GhostDispatcher"
|
||||
class="org.wso2.carbon.core.dispatchers.GhostDispatcher"/>
|
||||
</phase>
|
||||
<phase name="Security"/>
|
||||
<phase name="PreDispatch"/>
|
||||
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
|
||||
<handler name="SOAPMessageBodyBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
|
||||
|
||||
<handler name="HTTPLocationBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
|
||||
</phase>
|
||||
<!-- System pre defined phases -->
|
||||
<phase name="RMPhase"/>
|
||||
<phase name="OpPhase"/>
|
||||
<!-- After Postdispatch phase module author or or service author can add any phase he want -->
|
||||
<phase name="OperationInPhase"/>
|
||||
</phaseOrder>
|
||||
<phaseOrder type="OutFlow">
|
||||
<!-- Handlers related to unified-endpoint component are added to the UEPPhase -->
|
||||
<phase name="UEPPhase"/>
|
||||
<phase name="RMPhase"/>
|
||||
<phase name="OpPhase"/>
|
||||
<!-- user can add his own phases to this area -->
|
||||
<phase name="OperationOutPhase"/>
|
||||
<!--system predefined phase-->
|
||||
<!--these phase will run irrespective of the service-->
|
||||
<phase name="PolicyDetermination"/>
|
||||
<phase name="MessageOut"/>
|
||||
<phase name="Security"/>
|
||||
|
||||
<!--
|
||||
The MsgOutObservation phase is used to observe messages just before the
|
||||
responses are sent out. In this phase, we could do some things such as SOAP message
|
||||
tracing & keeping track of the time at which a particular response was sent.
|
||||
|
||||
NOTE: This should be the very last phase in this flow
|
||||
-->
|
||||
<phase name="MsgOutObservation"/>
|
||||
<!--Following phase is added to publish stats -->
|
||||
<phase name="StatReporting"/>
|
||||
</phaseOrder>
|
||||
<phaseOrder type="InFaultFlow">
|
||||
<!-- System pre defined phases -->
|
||||
<!--
|
||||
The MsgInObservation phase is used to observe messages as soon as they are
|
||||
received. In this phase, we could do some things such as SOAP message tracing & keeping
|
||||
track of the time at which a particular message was received
|
||||
|
||||
NOTE: This should be the very first phase in this flow
|
||||
-->
|
||||
<phase name="MsgInObservation"/>
|
||||
|
||||
<phase name="Validation"/>
|
||||
<phase name="Transport">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
|
||||
<order phase="Transport"/>
|
||||
</handler>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
|
||||
<order phase="Transport"/>
|
||||
</handler>
|
||||
</phase>
|
||||
|
||||
<phase name="Addressing">
|
||||
<handler name="AddressingBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
|
||||
<order phase="Addressing"/>
|
||||
</handler>
|
||||
</phase>
|
||||
<phase name="Ghost">
|
||||
<handler name="GhostDispatcher"
|
||||
class="org.wso2.carbon.core.dispatchers.GhostDispatcher"/>
|
||||
</phase>
|
||||
<phase name="Security"/>
|
||||
<phase name="PreDispatch"/>
|
||||
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
|
||||
<handler name="SOAPMessageBodyBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
|
||||
|
||||
<handler name="HTTPLocationBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
|
||||
</phase>
|
||||
<phase name="RMPhase"/>
|
||||
<phase name="OpPhase"/>
|
||||
<!-- user can add his own phases to this area -->
|
||||
<phase name="OperationInFaultPhase"/>
|
||||
</phaseOrder>
|
||||
<phaseOrder type="OutFaultFlow">
|
||||
<!-- Handlers related to unified-endpoint component are added to the UEPPhase -->
|
||||
<phase name="UEPPhase"/>
|
||||
<phase name="RMPhase"/>
|
||||
<!-- user can add his own phases to this area -->
|
||||
<phase name="OperationOutFaultPhase"/>
|
||||
<phase name="PolicyDetermination"/>
|
||||
<phase name="MessageOut"/>
|
||||
<phase name="Security"/>
|
||||
<phase name="Transport"/>
|
||||
<!--
|
||||
The MsgOutObservation phase is used to observe messages just before the
|
||||
responses are sent out. In this phase, we could do some things such as SOAP message
|
||||
tracing & keeping track of the time at which a particular response was sent.
|
||||
|
||||
NOTE: This should be the very last phase in this flow
|
||||
-->
|
||||
<phase name="MsgOutObservation"/>
|
||||
<!--Following phase is added to publish stats -->
|
||||
<phase name="StatReporting"/>
|
||||
</phaseOrder>
|
||||
|
||||
<clustering class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"
|
||||
enable="false">
|
||||
|
||||
<!--
|
||||
This parameter indicates whether the cluster has to be automatically initalized
|
||||
when the AxisConfiguration is built. If set to "true" the initialization will not be
|
||||
done at that stage, and some other party will have to explictly initialize the cluster.
|
||||
-->
|
||||
<parameter name="AvoidInitiation">true</parameter>
|
||||
|
||||
<!--
|
||||
The membership scheme used in this setup. The only values supported at the moment are
|
||||
"multicast" and "wka"
|
||||
|
||||
1. multicast - membership is automatically discovered using multicasting
|
||||
2. wka - Well-Known Address based multicasting. Membership is discovered with the help
|
||||
of one or more nodes running at a Well-Known Address. New members joining a
|
||||
cluster will first connect to a well-known node, register with the well-known node
|
||||
and get the membership list from it. When new members join, one of the well-known
|
||||
nodes will notify the others in the group. When a member leaves the cluster or
|
||||
is deemed to have left the cluster, it will be detected by the Group Membership
|
||||
Service (GMS) using a TCP ping mechanism.
|
||||
-->
|
||||
<parameter name="membershipScheme">multicast</parameter>
|
||||
<!--<parameter name="licenseKey">xxx</parameter>-->
|
||||
<!--<parameter name="mgtCenterURL">http://localhost:8081/mancenter/</parameter>-->
|
||||
|
||||
<!--
|
||||
The clustering domain/group. Nodes in the same group will belong to the same multicast
|
||||
domain. There will not be interference between nodes in different groups.
|
||||
-->
|
||||
<parameter name="domain">wso2.carbon.domain</parameter>
|
||||
|
||||
<!-- The multicast address to be used -->
|
||||
<!--<parameter name="mcastAddress">228.0.0.4</parameter>-->
|
||||
|
||||
<!-- The multicast port to be used -->
|
||||
<parameter name="mcastPort">45564</parameter>
|
||||
|
||||
<parameter name="mcastTTL">100</parameter>
|
||||
|
||||
<parameter name="mcastTimeout">60</parameter>
|
||||
|
||||
<!--
|
||||
The IP address of the network interface to which the multicasting has to be bound to.
|
||||
Multicasting would be done using this interface.
|
||||
-->
|
||||
<!--
|
||||
<parameter name="mcastBindAddress">127.0.0.1</parameter>
|
||||
-->
|
||||
<!-- The host name or IP address of this member -->
|
||||
|
||||
<parameter name="localMemberHost">127.0.0.1</parameter>
|
||||
|
||||
<!--
|
||||
The bind adress of this member. The difference between localMemberHost & localMemberBindAddress
|
||||
is that localMemberHost is the one that is advertised by this member, while localMemberBindAddress
|
||||
is the address to which this member is bound to.
|
||||
-->
|
||||
<!--
|
||||
<parameter name="localMemberBindAddress">127.0.0.1</parameter>
|
||||
-->
|
||||
|
||||
<!--
|
||||
The TCP port used by this member. This is the port through which other nodes will
|
||||
contact this member
|
||||
-->
|
||||
<parameter name="localMemberPort">4000</parameter>
|
||||
|
||||
<!--
|
||||
The bind port of this member. The difference between localMemberPort & localMemberBindPort
|
||||
is that localMemberPort is the one that is advertised by this member, while localMemberBindPort
|
||||
is the port to which this member is bound to.
|
||||
-->
|
||||
<!--
|
||||
<parameter name="localMemberBindPort">4001</parameter>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Properties specific to this member
|
||||
-->
|
||||
<parameter name="properties">
|
||||
<property name="backendServerURL" value="https://${hostName}:${httpsPort}/services/"/>
|
||||
<property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
|
||||
<property name="subDomain" value="worker"/>
|
||||
</parameter>
|
||||
|
||||
<!--
|
||||
Following parameters will load custom Hazelcast data serializers.
|
||||
-->
|
||||
<parameter name="hazelcastSerializers">
|
||||
<serializer typeClass="org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.wrapper.TreeSetLongWrapper">org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.TreeSetLongWrapperSerializer</serializer>
|
||||
<serializer typeClass="org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.wrapper.TreeSetSlotWrapper">org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.TreeSetSlotWrapperSerializer</serializer>
|
||||
<serializer typeClass="org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.wrapper.HashmapStringTreeSetWrapper">org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.HashMapStringTreeSetWrapperSerializer</serializer>
|
||||
</parameter>
|
||||
|
||||
<!--
|
||||
The list of static or well-known members. These entries will only be valid if the
|
||||
"membershipScheme" above is set to "wka"
|
||||
-->
|
||||
<members>
|
||||
<member>
|
||||
<hostName>127.0.0.1</hostName>
|
||||
<port>4000</port>
|
||||
</member>
|
||||
</members>
|
||||
|
||||
<!--
|
||||
Enable the groupManagement entry if you need to run this node as a cluster manager.
|
||||
Multiple application domains with different GroupManagementAgent implementations
|
||||
can be defined in this section.
|
||||
-->
|
||||
<groupManagement enable="false">
|
||||
<applicationDomain name="wso2.as.domain"
|
||||
description="AS group"
|
||||
agent="org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent"
|
||||
subDomain="worker"
|
||||
port="2222"/>
|
||||
</groupManagement>
|
||||
</clustering>
|
||||
</axisconfig>
|
@ -0,0 +1,586 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<!-- This is the root configuration file of WSO2 Message Broker (MB). Links to configurations of
|
||||
associated libraries are also specified here.
|
||||
|
||||
[Note for developers] - If you intend to rename or modify a property name, remember to update
|
||||
relevant, org.wso2.andes.configuration.enums.AndesConfiguration, enum value using the Xpath
|
||||
expression of the property.
|
||||
|
||||
This file is ciphertool compliant. Refer PRODUCT_HOME/repository/conf/security/cipher-text.properties for examples.-->
|
||||
<broker>
|
||||
|
||||
<coordination>
|
||||
<!-- You can override the cluster node identifier of this MB node using the nodeID.
|
||||
If it is left as "default", the default node ID will be generated for it. (Using IP + UUID).
|
||||
The node ID of each member should ALWAYS be unique.-->
|
||||
<nodeID>default</nodeID>
|
||||
<!-- Thrift is used to maintain and sync slot (message groups) ranges between MB nodes. -->
|
||||
<thriftServerHost>localhost</thriftServerHost>
|
||||
<thriftServerPort>7611</thriftServerPort>
|
||||
<thriftSOTimeout>0</thriftSOTimeout>
|
||||
<!--Thrift server reconnect timeout. Value specified in SECONDS-->
|
||||
<thriftServerReconnectTimeout>5</thriftServerReconnectTimeout>
|
||||
<!-- Hazelcast reliable topics are used to share all notifications across the MB cluster (e.g. subscription
|
||||
changes), And this property defines the time-to-live for a notification since its creation. (in Seconds) -->
|
||||
<clusterNotificationTimeout>10</clusterNotificationTimeout>
|
||||
|
||||
<!-- Configurations related RDBMS based coordination algorithm -->
|
||||
<rdbmsBasedCoordination enabled="false">
|
||||
<!-- Heartbeat interval used in the RDBMS base coordination algorithm in milliseconds -->
|
||||
<heartbeatInterval>5000</heartbeatInterval>
|
||||
|
||||
<!-- Time to wait before informing others about coordinator change in milliseconds. This value should be
|
||||
larger than a database read time including network latency and should be less than heartbeatInterval -->
|
||||
<coordinatorEntryCreationWaitTime>3000</coordinatorEntryCreationWaitTime>
|
||||
|
||||
<!-- Time interval used to poll database for membership related events in milliseconds. -->
|
||||
<eventPollingInterval>4000</eventPollingInterval>
|
||||
</rdbmsBasedCoordination>
|
||||
|
||||
<!-- Enabling this will make the cluster notifications such as Queue changes(additions and deletions),
|
||||
Subscription changes, etc. sent within the cluster be synchronized using RDBMS. If set to false, Hazelcast
|
||||
will be used for this purpose.-->
|
||||
<RDBMSBasedClusterEventSynchronization enabled="false">
|
||||
|
||||
<!--Specifies the interval at which, the cluster events will be read from the database. Needs to be
|
||||
declared in milliseconds. Setting this to a very low value could downgrade the performance where as
|
||||
setting this to a large value could increase the time taken for a cluster event to be synchronized in
|
||||
all the nodes in a cluster.-->
|
||||
<eventSyncInterval>1000</eventSyncInterval>
|
||||
|
||||
</RDBMSBasedClusterEventSynchronization>
|
||||
</coordination>
|
||||
|
||||
<!-- You can enable/disable specific messaging transports in this section. By default all
|
||||
transports are enabled. This section also allows you to customize the messaging flows used
|
||||
within WSO2 MB. NOT performance related, but logic related. -->
|
||||
<transports>
|
||||
<amqp enabled="true">
|
||||
<bindAddress>0.0.0.0</bindAddress>
|
||||
|
||||
<defaultConnection enabled="true" port="5672" />
|
||||
|
||||
<sslConnection enabled="true" port="8672">
|
||||
<keyStore>
|
||||
<location>repository/resources/security/wso2carbon.jks</location>
|
||||
<password>wso2carbon</password>
|
||||
<certType>SunX509</certType>
|
||||
</keyStore>
|
||||
<trustStore>
|
||||
<location>repository/resources/security/client-truststore.jks</location>
|
||||
<password>wso2carbon</password>
|
||||
<certType>SunX509</certType>
|
||||
</trustStore>
|
||||
</sslConnection>
|
||||
|
||||
<maximumRedeliveryAttempts>10</maximumRedeliveryAttempts>
|
||||
<allowSharedTopicSubscriptions>false</allowSharedTopicSubscriptions>
|
||||
<allowStrictNameValidation>true</allowStrictNameValidation>
|
||||
|
||||
<!-- Refer conf/advanced/qpid-config.xml for further AMQP-specific configurations.-->
|
||||
</amqp>
|
||||
<mqtt enabled="true">
|
||||
<bindAddress>0.0.0.0</bindAddress>
|
||||
|
||||
<defaultConnection enabled="true" port="1883" />
|
||||
|
||||
<sslConnection enabled="true" port="8883">
|
||||
<keyStore>
|
||||
<location>repository/resources/security/wso2carbon.jks</location>
|
||||
<password>wso2carbon</password>
|
||||
<certType>SunX509</certType>
|
||||
</keyStore>
|
||||
<trustStore>
|
||||
<location>repository/resources/security/client-truststore.jks</location>
|
||||
<password>wso2carbon</password>
|
||||
<certType>SunX509</certType>
|
||||
</trustStore>
|
||||
</sslConnection>
|
||||
|
||||
<!--All receiving events/messages will be in this ring buffer. Ring buffer size
|
||||
of MQTT inbound event disruptor. Default is set to 32768 (1024 * 32)
|
||||
Having a large ring buffer wi
|
||||
ll have a increase memory usage and will improve performance
|
||||
and vise versa -->
|
||||
<inboundBufferSize>32768</inboundBufferSize>
|
||||
|
||||
<!-- Messages delivered to clients will be placed in this ring buffer.
|
||||
Ring buffer size of MQTT delivery event disruptor. Default is set to 32768 (1024 * 32)
|
||||
Having a large ring buffer will have a increase memory usage and will improve performance
|
||||
and vise versa -->
|
||||
<deliveryBufferSize>32768</deliveryBufferSize>
|
||||
|
||||
|
||||
<security>
|
||||
<!--
|
||||
Instructs the MQTT server whether clients should always send credentials
|
||||
when establishing a connection.
|
||||
Possible values:
|
||||
OPTIONAL: This is the default value. MQTT clients may or may not send
|
||||
credentials. If a client sends credentials server will
|
||||
validates it.
|
||||
If client doesn't send credentials then server will not
|
||||
authenticate, but allows client to establish the connection.
|
||||
This behavior adheres to MQTT 3.1 specification.
|
||||
REQUIRED: Clients should always provide credentials when connecting.
|
||||
If client doesn't send credentials or they are invalid
|
||||
server rejects the connection.
|
||||
-->
|
||||
<authentication>REQUIRED</authentication>
|
||||
|
||||
<!--Class name of the authenticator to use. class should
|
||||
inherit from org.dna.mqtt.moquette.server.IAuthenticator
|
||||
Note: default implementation authenticates against carbon user store
|
||||
based on supplied username/password
|
||||
-->
|
||||
<authenticator class="org.wso2.carbon.andes.authentication.andes.OAuth2BasedMQTTAuthenticator">
|
||||
<property name="hostURL">https://localhost:9443/services/OAuth2TokenValidationService</property>
|
||||
<property name="username">admin</property>
|
||||
<property name="password">admin</property>
|
||||
<property name="maxConnectionsPerHost">10</property>
|
||||
<property name="maxTotalConnections">150</property>
|
||||
</authenticator>
|
||||
|
||||
<!--
|
||||
Instructs the MQTT server whether clients should be authorized before either publishing or subscribing
|
||||
Possible values:
|
||||
NOT_REQUIRED: This is the default value. MQTT clients will skip the authorization check
|
||||
REQUIRED: Clients will authorized before publishing. this will execute the class given in authorzier
|
||||
Note: authentication should be REQUIRED for authorization to be REQUIRED.
|
||||
-->
|
||||
<authorization>REQUIRED</authorization>
|
||||
|
||||
<!--Class name of the authorizer to use. class should
|
||||
inherit from org.dna.mqtt.moquette.server.IAutherizer
|
||||
Note: default implementation authorizes against carbon permission with the topic.
|
||||
-->
|
||||
<!--connectionPermission is required for a user to connect to broker
|
||||
subscriberPermission is needed to subscribe(subriber permission can be more than one)
|
||||
publisherPermission is needed to publish(publisher permission can be more than one)
|
||||
-->
|
||||
<authorizer class="org.wso2.carbon.andes.extensions.device.mgt.mqtt.authorization.DeviceAccessBasedMQTTAuthorizer">
|
||||
<!--<property name="connectionPermission">/permission/admin/device-mgt/user</property>-->
|
||||
<!--topic subscription permissions which are assigned through grouping-->
|
||||
<property name="subscriberPermission">/permission/device-mgt/user/groups/device_events</property>
|
||||
<!--topic publisher permissions which are assigned through grouping-->
|
||||
<property name="publisherPermission">/permission/device-mgt/user/groups/device_operation</property>
|
||||
|
||||
<property name="username">admin</property>
|
||||
<property name="password">admin</property>
|
||||
<property name="tokenEndpoint">https://localhost:8243</property>
|
||||
<!--offset time from expiry time to trigger refresh call - seconds -->
|
||||
<property name="tokenRefreshTimeOffset">100</property>
|
||||
<property name="deviceMgtServerUrl">https://localhost:8243</property>
|
||||
</authorizer>
|
||||
</security>
|
||||
</mqtt>
|
||||
|
||||
</transports>
|
||||
|
||||
<!-- Depending on the database type selected in master-datasources.xml, you must enable the
|
||||
relevant Data access classes here. Currently WSO2 MB Supports RDBMS(any RDBMS store).
|
||||
These stores are accessed for two purposes.
|
||||
|
||||
1. For message persistence ("messageStore")
|
||||
2. To persist and access other information relevant to messaging protocols.("contextStore").-->
|
||||
|
||||
<!-- By default WSO2 MB runs with H2 persistent store. If you plan to use a different
|
||||
store, point to the relevant dataSource or uncomment the database appropriately.
|
||||
|
||||
RDBMS
|
||||
=====
|
||||
If you are running an RDBMS you can use the existing RDBMS implementation of stores
|
||||
by pointing to the correct data source by updating the property "dataSource".
|
||||
|
||||
Data source entry should be present in
|
||||
<MB_HOME>/conf/datasources/master-datasources.xml.
|
||||
|
||||
-->
|
||||
<persistence>
|
||||
|
||||
<!-- RDBMS MB Store Configuration -->
|
||||
|
||||
<messageStore class="org.wso2.andes.store.rdbms.RDBMSMessageStoreImpl">
|
||||
<property name="dataSource">WSO2MBStoreDB</property>
|
||||
<property name="storeUnavailableSQLStateClasses">08</property>
|
||||
<property name="integrityViolationSQLStateClasses">23,27,44</property>
|
||||
<property name="dataErrorSQLStateClasses">21,22</property>
|
||||
<property name="transactionRollbackSQLStateClasses">40</property>
|
||||
</messageStore>
|
||||
|
||||
<contextStore class="org.wso2.andes.store.rdbms.RDBMSAndesContextStoreImpl">
|
||||
<property name="dataSource">WSO2MBStoreDB</property>
|
||||
<property name="storeUnavailableSQLStateClasses">08</property>
|
||||
<property name="integrityViolationSQLStateClasses">23,27,44</property>
|
||||
<property name="dataErrorSQLStateClasses">21,22</property>
|
||||
<property name="transactionRollbackSQLStateClasses">40</property>
|
||||
</contextStore>
|
||||
|
||||
<cache>
|
||||
<!-- Size of the messages cache in MBs. Setting '0' will disable the cache. -->
|
||||
<size>256</size>
|
||||
<!-- Expected concurrency for the cache (4 is guava default) -->
|
||||
<concurrencyLevel>4</concurrencyLevel>
|
||||
<!--Number of seconds cache will keep messages after they are
|
||||
added (unless they are consumed and deleted).-->
|
||||
<expirySeconds>2</expirySeconds>
|
||||
|
||||
<!--Reference type used to hold messages in memory.
|
||||
weak - Using java weak references ( - results higher cache misses)
|
||||
strong - ordinary references ( - higher cache hits, but not good if server
|
||||
is going to run with limited heap size + under severe load).
|
||||
-->
|
||||
<valueReferenceType>strong</valueReferenceType>
|
||||
|
||||
<!--Prints cache statistics in 2 minute intervals
|
||||
in carbon log ( and console)-->
|
||||
<printStats>false</printStats>
|
||||
</cache>
|
||||
|
||||
<!-- This class decides how unique IDs are generated for the MB node. This id generator is
|
||||
expected to be thread safe and a implementation of interface
|
||||
org.wso2.andes.server.cluster.coordination.MessageIdGenerator
|
||||
|
||||
NOTE: This is NOT used in MB to generate message IDs. -->
|
||||
<idGenerator>org.wso2.andes.server.cluster.coordination.TimeStampBasedMessageIdGenerator</idGenerator>
|
||||
|
||||
<!-- This is the Task interval (in SECONDS) to check whether communication
|
||||
is healthy between message store (/Database) and this server instance. -->
|
||||
<storeHealthCheckInterval>10</storeHealthCheckInterval>
|
||||
</persistence>
|
||||
|
||||
<!--Publisher transaction related configurations.-->
|
||||
<transaction>
|
||||
|
||||
<!--Maximum batch size (Messages) for a transaction. Exceeding this limit will result
|
||||
in a failure in the subsequent commit request. Default is set to 10MB. Limit is
|
||||
calculated considering the payload of messages-->
|
||||
<maxBatchSizeInBytes>10000000</maxBatchSizeInBytes>
|
||||
</transaction>
|
||||
|
||||
<!-- This section allows you to tweak memory and processor allocations used by WSO2 MB.
|
||||
Broken down by critical processes so you have a clear view of which parameters to change in
|
||||
different scenarios. -->
|
||||
<performanceTuning>
|
||||
|
||||
<slots>
|
||||
<!--
|
||||
If message publishers are slow, time taken to fill the slot (up to <windowSize>) will be longer.
|
||||
This will add an latency to messages. Therefore broker will mark the slot as
|
||||
ready to deliver before even the slot is entirely filled after specified time.
|
||||
NOTE: specified in milliseconds.
|
||||
-->
|
||||
<messageAccumulationTimeout>2000</messageAccumulationTimeout>
|
||||
|
||||
<!--Rough estimate for size of a slot-->
|
||||
<windowSize>1000</windowSize>
|
||||
|
||||
<!-- Time interval which broker check for slots that can be marked as 'ready to deliver'
|
||||
(- slots which have a aged more than 'messageAccumulationTimeout')
|
||||
NOTE: specified in milliseconds.
|
||||
-->
|
||||
<timerPeriod>1000</timerPeriod>
|
||||
|
||||
<!--Number of SlotDeliveryWorker threads that should be started-->
|
||||
<workerThreadCount>5</workerThreadCount>
|
||||
|
||||
</slots>
|
||||
|
||||
<delivery>
|
||||
<!-- Maximum number of undelivered messages that can have in memory. Increasing this
|
||||
value increase the possibility of out of memory scenario but performance will be
|
||||
improved -->
|
||||
<maxNumberOfReadButUndeliveredMessages>1000</maxNumberOfReadButUndeliveredMessages>
|
||||
|
||||
<!-- This is the ring buffer size of the delivery disruptor. This value should be a
|
||||
power of 2 (E.g. 1024, 2048, 4096). Use a small ring size if you want to reduce the
|
||||
memory usage. -->
|
||||
<ringBufferSize>4096</ringBufferSize>
|
||||
|
||||
<!--Number of parallel readers used to used to read content from message store.
|
||||
Increasing this value will speed-up the message sending mechanism. But the load
|
||||
on the data store will increase. -->
|
||||
<parallelContentReaders>5</parallelContentReaders>
|
||||
|
||||
<!-- Number of parallel decompression handlers used to decompress messages before send to subscribers.
|
||||
Increasing this value will speed-up the message decompressing mechanism. But the system load
|
||||
will increase. -->
|
||||
<parallelDecompressionHandlers>5</parallelDecompressionHandlers>
|
||||
|
||||
<!-- Number of parallel delivery handlers used to send messages to subscribers.
|
||||
Increasing this value will speed-up the message sending mechanism. But the system load
|
||||
will increase. -->
|
||||
<parallelDeliveryHandlers>5</parallelDeliveryHandlers>
|
||||
|
||||
<!-- The size of the batch represents, at a given time the number of messages that could
|
||||
be retrieved from the database. -->
|
||||
<contentReadBatchSize>65000</contentReadBatchSize>
|
||||
|
||||
<contentCache>
|
||||
<!-- Specify the maximum number of entries the cache may contain. -->
|
||||
<maximumSize>100</maximumSize>
|
||||
<!-- Specify the time in seconds that each entry should be
|
||||
automatically removed from the cache after the entry's creation. -->
|
||||
<expiryTime>120</expiryTime>
|
||||
</contentCache>
|
||||
|
||||
<!--When delivering topic messages to multiple topic
|
||||
subscribers one of following stratigies can be choosen.
|
||||
|
||||
1. DISCARD_NONE - Broker do not loose any message to any subscriber.
|
||||
When there are slow subscribers this can cause broker
|
||||
go Out of Memory.
|
||||
|
||||
2. SLOWEST_SUB_RATE - Broker deliver to the speed of the slowest
|
||||
topic subscriber. This can cause fast subscribers
|
||||
to starve. But eliminate Out of Memory issue.
|
||||
|
||||
3. DISCARD_ALLOWED - Broker will try best to deliver. To eliminate Out
|
||||
of Memory threat broker limits sent but not acked message
|
||||
count to <maxUnackedMessages>.
|
||||
If it is breached, and <deliveryTimeout> is also
|
||||
breached message can either be lost or actually
|
||||
sent but ack is not honoured.
|
||||
-->
|
||||
<topicMessageDeliveryStrategy>
|
||||
<strategyName>DISCARD_NONE</strategyName>
|
||||
<!-- If you choose DISCARD_ALLOWED topic message delivery strategy,
|
||||
broker keep messages in memory until ack is done until this timeout.
|
||||
If an ack is not received under this timeout, ack will be simulated
|
||||
internally and real acknowledgement is discarded.
|
||||
deliveryTimeout is in seconds -->
|
||||
<deliveryTimeout>60</deliveryTimeout>
|
||||
</topicMessageDeliveryStrategy>
|
||||
</delivery>
|
||||
|
||||
<ackHandling>
|
||||
<!--Number of message acknowledgement handlers to process acknowledgements concurrently.
|
||||
These acknowledgement handlers will batch and process acknowledgements. -->
|
||||
<ackHandlerCount>1</ackHandlerCount>
|
||||
|
||||
<!--Maximum batch size of the acknowledgement handler. Andes process acknowledgements in
|
||||
batches using Disruptor Increasing the batch size reduces the number of calls made to
|
||||
database by MB. Depending on the database optimal batch size this value should be set.
|
||||
Batches will be of the maximum batch size mostly in high throughput scenarios.
|
||||
Underlying implementation use Disruptor for batching hence will batch message at a
|
||||
lesser value than this in low throughput scenarios -->
|
||||
<ackHandlerBatchSize>100</ackHandlerBatchSize>
|
||||
|
||||
<!-- Message delivery from server to the client will be paused temporarily if number of
|
||||
delivered but unacknowledged message count reaches this size. Should be set considering
|
||||
message consume rate. This is to avoid overwhelming slow subscribers. -->
|
||||
<maxUnackedMessages>1000</maxUnackedMessages>
|
||||
</ackHandling>
|
||||
|
||||
<contentHandling>
|
||||
|
||||
<!-- Within Andes there are content chunk handlers which convert incoming large content
|
||||
chunks into max content chunk size allowed by Andes core. These handlers run in parallel
|
||||
converting large content chunks to smaller chunks.
|
||||
|
||||
If the protocol specific content chunk size is different from the max chunk size allowed
|
||||
by Andes core and there are significant number of large messages published, then having
|
||||
multiple handlers will increase performance. -->
|
||||
<contentChunkHandlerCount>3</contentChunkHandlerCount>
|
||||
|
||||
<!-- Andes core will store message content chunks according to this chunk size. Different
|
||||
database will have limits and performance gains by tuning this parameter.
|
||||
|
||||
For instance in MySQL the maximum table column size for content is less than 65534, which
|
||||
is the default chunk size of AMQP. By changing this parameter to a lesser value we can
|
||||
store large content chunks converted to smaller content chunks within the DB with this
|
||||
parameter. -->
|
||||
<maxContentChunkSize>65500</maxContentChunkSize>
|
||||
|
||||
<!-- This is the configuration to allow compression of message contents, before store messages
|
||||
into the database.-->
|
||||
<allowCompression>false</allowCompression>
|
||||
|
||||
<!-- This is the configuration to change the value of the content compression threshold (in bytes).
|
||||
Message contents less than this value will not compress, even compression is enabled. The recommended
|
||||
message size of the smallest message before compression is 13bytes. Compress messages smaller than
|
||||
13bytes will expand the message size by 0.4% -->
|
||||
<contentCompressionThreshold>1000</contentCompressionThreshold>
|
||||
|
||||
</contentHandling>
|
||||
|
||||
<inboundEvents>
|
||||
<!--Number of parallel writers used to write content to message store. Increasing this
|
||||
value will speed-up the message receiving mechanism. But the load on the data store will
|
||||
increase.-->
|
||||
<parallelMessageWriters>1</parallelMessageWriters>
|
||||
|
||||
<!--Size of the Disruptor ring buffer for inbound event handling. For publishing at
|
||||
higher rates increasing the buffer size may give some advantage on keeping messages in
|
||||
memory and write.
|
||||
|
||||
NOTE: Buffer size should be a value of power of two -->
|
||||
<bufferSize>65536</bufferSize>
|
||||
|
||||
<!--Maximum batch size of the batch write operation for inbound messages. MB internals
|
||||
use Disruptor to batch events. Hence this batch size is set to avoid database requests
|
||||
with high load (with big batch sizes) to write messages. This need to be configured in
|
||||
high throughput messaging scenarios to regulate the hit on database from MB -->
|
||||
<messageWriterBatchSize>70</messageWriterBatchSize>
|
||||
|
||||
<!--Timeout for waiting for a queue purge event to end to get the purged count. Doesn't
|
||||
affect actual purging. If purge takes time, increasing the value will improve the
|
||||
possibility of retrieving the correct purged count. Having a lower value doesn't stop
|
||||
purge event. Getting the purged count is affected by this -->
|
||||
<purgedCountTimeout>180</purgedCountTimeout>
|
||||
|
||||
<!--Number of parallel writers used to write content to message store for transaction
|
||||
based publishing. Increasing this value will speedup commit duration for a transaction.
|
||||
But the load on the data store will increase.-->
|
||||
<transactionMessageWriters>1</transactionMessageWriters>
|
||||
</inboundEvents>
|
||||
|
||||
<!--Message expiration can be set for each messages which are published to Wso2 MB.
|
||||
After the expiration time, the messages will not be delivered to the consumers. Eventually
|
||||
they got deleted inside the MB.-->
|
||||
<messageExpiration>
|
||||
<!-- When messages delivered, in the delivery path messages were checked whether they are
|
||||
already expired. If expired at that time add that message to a queue for a future batch
|
||||
delete. This interval decides on the time gap between the batch deletes. Time interval
|
||||
specified in seconds.-->
|
||||
<preDeliveryExpiryDeletionInterval>10</preDeliveryExpiryDeletionInterval>
|
||||
|
||||
<!-- Periodically check the database for new expired messages which were not assigned to
|
||||
any slot delivery worker so far and delete them. This interval decides on the time gap between
|
||||
the periodic message deletion. Time interval specified in seconds.-->
|
||||
<periodicMessageDeletionInterval>900</periodicMessageDeletionInterval>
|
||||
|
||||
<!-- When checking the database for expired messages, the messages which were handled by the slot
|
||||
delivery worker should no be touched since that mess up the slot delivery worker functionality.
|
||||
Those messages anyways get caught at the message delivery path. So there is a need to have a safe
|
||||
buffer of slots which can be allocated to a slot delivery worker in the near future. The specified
|
||||
number of slots from the last assigned should not be touched by the periodic deletion task.-->
|
||||
<safetySlotCount>3</safetySlotCount>
|
||||
</messageExpiration>
|
||||
|
||||
</performanceTuning>
|
||||
|
||||
<!-- This section is about how you want to view messaging statistics from the admin console and
|
||||
how you plan to interact with it. -->
|
||||
<managementConsole>
|
||||
<!--Maximum number of messages to be fetched per page using Andes message browser when browsing
|
||||
queues/dlc -->
|
||||
<messageBrowsePageSize>100</messageBrowsePageSize>
|
||||
|
||||
<!-- This property defines the maximum message content length that can be displayed at the
|
||||
management console when browsing queues. If the message length exceeds the value, a
|
||||
truncated content will be displayed with a statement "message content too large to display."
|
||||
at the end. default value is 100000 (can roughly display a 100KB message.)
|
||||
* NOTE : Increasing this value could cause delays when loading the message content page.-->
|
||||
<maximumMessageDisplayLength>100000</maximumMessageDisplayLength>
|
||||
|
||||
<!--Enable users to reroute all messages from a specific destination(queue or durable topic) to a specific
|
||||
queue.-->
|
||||
<allowReRouteAllInDLC>false</allowReRouteAllInDLC>
|
||||
</managementConsole>
|
||||
|
||||
<!-- Memory and resource exhaustion is something we should prevent and recover from.
|
||||
This section allows you to specify the threshold at which to reduce/stop frequently intensive
|
||||
operations within MB temporarily. -->
|
||||
<!--
|
||||
highLimit - flow control is enabled when message chunk pending to be handled by inbound
|
||||
disruptor reaches above this limit
|
||||
lowLimit - flow control is disabled (if enabled) when message chunk pending to be handled
|
||||
by inbound disruptor reaches below this limit
|
||||
-->
|
||||
<flowControl>
|
||||
<!-- This is the global buffer limits which enable/disable the flow control globally -->
|
||||
<global>
|
||||
<lowLimit>800</lowLimit>
|
||||
<highLimit>8000</highLimit>
|
||||
</global>
|
||||
|
||||
<!-- This is the channel specific buffer limits which enable/disable the flow control locally.
|
||||
-->
|
||||
<bufferBased>
|
||||
<lowLimit>100</lowLimit>
|
||||
<highLimit>1000</highLimit>
|
||||
</bufferBased>
|
||||
</flowControl>
|
||||
|
||||
<slotManagement>
|
||||
<!--Set slot storage mode (RDBMS/HazelCast)-->
|
||||
<storage>RDBMS</storage>
|
||||
</slotManagement>
|
||||
|
||||
<!--
|
||||
Message broker keeps track of all messages it has received as groups. These groups are termed
|
||||
'Slots' (To know more information about Slots and message broker install please refer to online wiki).
|
||||
Size of a slot is loosely determined by the configuration <windowSize> (and the number of
|
||||
parallel publishers for specific topic/queue). Message broker cluster (or in single node) keeps
|
||||
track of slots which constitutes for a large part of operating state before the cluster went down.
|
||||
When first message broker node of the cluster starts up, it will read the database to recreate
|
||||
the internal state to previous state.
|
||||
-->
|
||||
<recovery>
|
||||
<!--
|
||||
There could be multiple storage queues worked before entire cluster (or single node) went down.
|
||||
We need to recover all remaining messages of each storage queue when first node startup and we can
|
||||
read remaining message concurrently of each storage queue. Default value to set here to 5. You can
|
||||
increase this value based on number of storage queues exist. Please use optimal value based on
|
||||
number of storage queues to speed up warm startup.
|
||||
-->
|
||||
<concurrentStorageQueueReads>5</concurrentStorageQueueReads>
|
||||
|
||||
<!-- Virtual host sync interval seconds in for the Virtual host syncing Task which will
|
||||
sync the Virtual host details across the cluster -->
|
||||
<vHostSyncTaskInterval>900</vHostSyncTaskInterval>
|
||||
|
||||
<!--
|
||||
Enables network partition detection ( and surrounding functionality, such
|
||||
as disconnecting subscriptions, enabling error based flow control if the
|
||||
minimal node count becomes less than configured value.
|
||||
-->
|
||||
<networkPartitionsDetection enabled = "false">
|
||||
|
||||
<!--
|
||||
The minimum node count the cluster should maintain for this node to
|
||||
operate. if cluster size becomes less that configured value
|
||||
This node will not accept any incoming traffic ( and disconnect
|
||||
subscriptions) etc.
|
||||
-->
|
||||
<minimumClusterSize>1</minimumClusterSize>
|
||||
</networkPartitionsDetection>
|
||||
|
||||
</recovery>
|
||||
|
||||
<!--
|
||||
Specifies the deployment mode for the broker node (and cluster). Possible values {default, standalone}.
|
||||
|
||||
default - Broker node will decide to run HA (master/slave) or fully distributed mode. Decision is taken based
|
||||
on the node has a clustering mechanism enabled or not. If the node is not configured to join a cluster
|
||||
it will run in HA mode (refer to axis2.xml for more information). If the node can join a cluster it
|
||||
will start in fully clustered mode.
|
||||
|
||||
standalone - This is the simplest mode a broker can be started. Node will assume datastore is not shared with
|
||||
another node. Therefore it will not try to coordinate with other nodes (possibly non-existent) to
|
||||
provide HA or clustering.
|
||||
-->
|
||||
<deployment>
|
||||
<mode>default</mode>
|
||||
</deployment>
|
||||
|
||||
</broker>
|
@ -0,0 +1,677 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!--
|
||||
This is the main server configuration file
|
||||
|
||||
${carbon.home} represents the carbon.home system property.
|
||||
Other system properties can be specified in a similar manner.
|
||||
-->
|
||||
<Server xmlns="http://wso2.org/projects/carbon/carbon.xml">
|
||||
|
||||
<!--
|
||||
Product Name
|
||||
-->
|
||||
<Name>WSO2 Message Broker</Name>
|
||||
|
||||
<!--
|
||||
machine readable unique key to identify each product
|
||||
-->
|
||||
<ServerKey>MB</ServerKey>
|
||||
|
||||
<!--
|
||||
Product Version
|
||||
-->
|
||||
<Version>3.2.0</Version>
|
||||
|
||||
<!--
|
||||
Host name or IP address of the machine hosting this server
|
||||
e.g. www.wso2.org, 192.168.1.10
|
||||
This is will become part of the End Point Reference of the
|
||||
services deployed on this server instance.
|
||||
-->
|
||||
<!--HostName>www.wso2.org</HostName-->
|
||||
|
||||
<!--
|
||||
Host name to be used for the Carbon management console
|
||||
-->
|
||||
<!--MgtHostName>mgt.wso2.org</MgtHostName-->
|
||||
|
||||
<!--
|
||||
The URL of the back end server. This is where the admin services are hosted and
|
||||
will be used by the clients in the front end server.
|
||||
This is required only for the Front-end server. This is used when seperating BE server from FE server
|
||||
-->
|
||||
<ServerURL>local:/${carbon.context}/services/</ServerURL>
|
||||
<!--
|
||||
<ServerURL>https://${carbon.local.ip}:${carbon.management.port}${carbon.context}/services/</ServerURL>
|
||||
-->
|
||||
<!--
|
||||
The URL of the index page. This is where the user will be redirected after signing in to the
|
||||
carbon server.
|
||||
-->
|
||||
<!-- IndexPageURL>/carbon/admin/index.jsp</IndexPageURL-->
|
||||
|
||||
<!--
|
||||
For cApp deployment, we have to identify the roles that can be acted by the current server.
|
||||
The following property is used for that purpose. Any number of roles can be defined here.
|
||||
Regular expressions can be used in the role.
|
||||
Ex : <Role>.*</Role> means this server can act any role
|
||||
-->
|
||||
<ServerRoles>
|
||||
<Role>MessageBroker</Role>
|
||||
</ServerRoles>
|
||||
|
||||
<!-- uncommnet this line to subscribe to a bam instance automatically -->
|
||||
<!--<BamServerURL>https://bamhost:bamport/services/</BamServerURL>-->
|
||||
|
||||
<!--
|
||||
The fully qualified name of the server
|
||||
-->
|
||||
<Package>org.wso2.carbon</Package>
|
||||
|
||||
<!--
|
||||
Webapp context root of WSO2 Carbon management console.
|
||||
-->
|
||||
<WebContextRoot>/</WebContextRoot>
|
||||
|
||||
<!--
|
||||
Proxy context path is a useful parameter to add a proxy path when a Carbon server is fronted by reverse proxy. In addtion
|
||||
to the proxy host and proxy port this parameter allows you add a path component to external URLs. e.g.
|
||||
URL of the Carbon server -> https://10.100.1.1:9443/carbon
|
||||
URL of the reverse proxy -> https://prod.abc.com/appserver/carbon
|
||||
|
||||
appserver - proxy context path. This specially required whenever you are generating URLs to displace in
|
||||
Carbon UI components.
|
||||
-->
|
||||
<!--
|
||||
<MgtProxyContextPath></MgtProxyContextPath>
|
||||
<ProxyContextPath></ProxyContextPath>
|
||||
-->
|
||||
|
||||
<!-- In-order to get the registry http Port from the back-end when the default http transport is not the same-->
|
||||
<!--RegistryHttpPort>9763</RegistryHttpPort-->
|
||||
|
||||
<!--
|
||||
Number of items to be displayed on a management console page. This is used at the
|
||||
backend server for pagination of various items.
|
||||
-->
|
||||
<ItemsPerPage>15</ItemsPerPage>
|
||||
|
||||
<!-- The endpoint URL of the cloud instance management Web service -->
|
||||
<!--<InstanceMgtWSEndpoint>https://ec2.amazonaws.com/</InstanceMgtWSEndpoint>-->
|
||||
|
||||
<!--
|
||||
Ports used by this server
|
||||
-->
|
||||
<Ports>
|
||||
|
||||
<!-- Ports offset. This entry will set the value of the ports defined below to
|
||||
the define value + Offset.
|
||||
e.g. Offset=2 and HTTPS port=9443 will set the effective HTTPS port to 9445
|
||||
-->
|
||||
<Offset>3</Offset>
|
||||
|
||||
<!-- The JMX Ports -->
|
||||
<JMX>
|
||||
<!--The port RMI registry is exposed-->
|
||||
<RMIRegistryPort>9999</RMIRegistryPort>
|
||||
<!--The port RMI server should be exposed-->
|
||||
<RMIServerPort>11111</RMIServerPort>
|
||||
</JMX>
|
||||
|
||||
<!-- Embedded LDAP server specific ports -->
|
||||
<EmbeddedLDAP>
|
||||
<!-- Port which embedded LDAP server runs -->
|
||||
<LDAPServerPort>10389</LDAPServerPort>
|
||||
<!-- Port which KDC (Kerberos Key Distribution Center) server runs -->
|
||||
<KDCServerPort>8000</KDCServerPort>
|
||||
</EmbeddedLDAP>
|
||||
|
||||
<!--
|
||||
Override datasources JNDIproviderPort defined in bps.xml and datasources.properties files
|
||||
-->
|
||||
<!--<JNDIProviderPort>2199</JNDIProviderPort>-->
|
||||
<!--Override receive port of thrift based entitlement service.-->
|
||||
<ThriftEntitlementReceivePort>10500</ThriftEntitlementReceivePort>
|
||||
|
||||
<!--
|
||||
This is the proxy port of the worker cluster. These need to be configured in a scenario where
|
||||
manager node is not exposed through the load balancer through which the workers are exposed
|
||||
therefore doesn't have a proxy port.
|
||||
<WorkerHttpProxyPort>80</WorkerHttpProxyPort>
|
||||
<WorkerHttpsProxyPort>443</WorkerHttpsProxyPort>
|
||||
-->
|
||||
|
||||
</Ports>
|
||||
|
||||
<!--
|
||||
JNDI Configuration
|
||||
-->
|
||||
<JNDI>
|
||||
<!--
|
||||
The fully qualified name of the default initial context factory
|
||||
-->
|
||||
<DefaultInitialContextFactory>org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory</DefaultInitialContextFactory>
|
||||
<!--
|
||||
The restrictions that are done to various JNDI Contexts in a Multi-tenant environment
|
||||
-->
|
||||
<Restrictions>
|
||||
<!--
|
||||
Contexts that will be available only to the super-tenant
|
||||
-->
|
||||
<!-- <SuperTenantOnly>
|
||||
<UrlContexts>
|
||||
<UrlContext>
|
||||
<Scheme>foo</Scheme>
|
||||
</UrlContext>
|
||||
<UrlContext>
|
||||
<Scheme>bar</Scheme>
|
||||
</UrlContext>
|
||||
</UrlContexts>
|
||||
</SuperTenantOnly> -->
|
||||
<!--
|
||||
Contexts that are common to all tenants
|
||||
-->
|
||||
<AllTenants>
|
||||
<UrlContexts>
|
||||
<UrlContext>
|
||||
<Scheme>java</Scheme>
|
||||
</UrlContext>
|
||||
<!-- <UrlContext>
|
||||
<Scheme>foo</Scheme>
|
||||
</UrlContext> -->
|
||||
</UrlContexts>
|
||||
</AllTenants>
|
||||
<!--
|
||||
All other contexts not mentioned above will be available on a per-tenant basis
|
||||
(i.e. will not be shared among tenants)
|
||||
-->
|
||||
</Restrictions>
|
||||
</JNDI>
|
||||
|
||||
<!--
|
||||
Property to determine if the server is running an a cloud deployment environment.
|
||||
This property should only be used to determine deployment specific details that are
|
||||
applicable only in a cloud deployment, i.e when the server deployed *-as-a-service.
|
||||
-->
|
||||
<IsCloudDeployment>false</IsCloudDeployment>
|
||||
|
||||
<!--
|
||||
Property to determine whether usage data should be collected for metering purposes
|
||||
-->
|
||||
<EnableMetering>false</EnableMetering>
|
||||
|
||||
<!-- The Max time a thread should take for execution in seconds -->
|
||||
<MaxThreadExecutionTime>600</MaxThreadExecutionTime>
|
||||
|
||||
<!--
|
||||
A flag to enable or disable Ghost Deployer. By default this is set to false. That is
|
||||
because the Ghost Deployer works only with the HTTP/S transports. If you are using
|
||||
other transports, don't enable Ghost Deployer.
|
||||
-->
|
||||
<GhostDeployment>
|
||||
<Enabled>false</Enabled>
|
||||
</GhostDeployment>
|
||||
|
||||
|
||||
<!--
|
||||
Eager loading or lazy loading is a design pattern commonly used in computer programming which
|
||||
will initialize an object upon creation or load on-demand. In carbon, lazy loading is used to
|
||||
load tenant when a request is received only. Similarly Eager loading is used to enable load
|
||||
existing tenants after carbon server starts up. Using this feature, you will be able to include
|
||||
or exclude tenants which are to be loaded when server startup.
|
||||
|
||||
We can enable only one LoadingPolicy at a given time.
|
||||
|
||||
1. Tenant Lazy Loading
|
||||
This is the default behaviour and enabled by default. With this policy, tenants are not loaded at
|
||||
server startup, but loaded based on-demand (i.e when a request is received for a tenant).
|
||||
The default tenant idle time is 30 minutes.
|
||||
|
||||
2. Tenant Eager Loading
|
||||
This is by default not enabled. It can be be enabled by un-commenting the <EagerLoading> section.
|
||||
The eager loading configurations supported are as below. These configurations can be given as the
|
||||
value for <Include> element with eager loading.
|
||||
(i)Load all tenants when server startup - *
|
||||
(ii)Load all tenants except foo.com & bar.com - *,!foo.com,!bar.com
|
||||
(iii)Load only foo.com & bar.com to be included - foo.com,bar.com
|
||||
-->
|
||||
<Tenant>
|
||||
<LoadingPolicy>
|
||||
<LazyLoading>
|
||||
<IdleTime>30</IdleTime>
|
||||
</LazyLoading>
|
||||
<!-- <EagerLoading>
|
||||
<Include>*,!foo.com,!bar.com</Include>
|
||||
</EagerLoading>-->
|
||||
</LoadingPolicy>
|
||||
</Tenant>
|
||||
|
||||
<!--
|
||||
Caching related configurations
|
||||
-->
|
||||
<Cache>
|
||||
<!-- Default cache timeout in minutes -->
|
||||
<DefaultCacheTimeout>15</DefaultCacheTimeout>
|
||||
</Cache>
|
||||
|
||||
<!--
|
||||
Axis2 related configurations
|
||||
-->
|
||||
<Axis2Config>
|
||||
<!--
|
||||
Location of the Axis2 Services & Modules repository
|
||||
|
||||
This can be a directory in the local file system, or a URL.
|
||||
|
||||
e.g.
|
||||
1. /home/wso2wsas/repository/ - An absolute path
|
||||
2. repository - In this case, the path is relative to CARBON_HOME
|
||||
3. file:///home/wso2wsas/repository/
|
||||
4. http://wso2wsas/repository/
|
||||
-->
|
||||
<RepositoryLocation>${carbon.home}/repository/deployment/server/</RepositoryLocation>
|
||||
|
||||
<!--
|
||||
Deployment update interval in seconds. This is the interval between repository listener
|
||||
executions.
|
||||
-->
|
||||
<DeploymentUpdateInterval>15</DeploymentUpdateInterval>
|
||||
|
||||
<!--
|
||||
Location of the main Axis2 configuration descriptor file, a.k.a. axis2.xml file
|
||||
|
||||
This can be a file on the local file system, or a URL
|
||||
|
||||
e.g.
|
||||
1. /home/repository/axis2.xml - An absolute path
|
||||
2. conf/axis2.xml - In this case, the path is relative to CARBON_HOME
|
||||
3. file:///home/carbon/repository/axis2.xml
|
||||
4. http://repository/conf/axis2.xml
|
||||
-->
|
||||
<ConfigurationFile>${carbon.home}/conf/axis2/axis2.xml</ConfigurationFile>
|
||||
|
||||
<!--
|
||||
ServiceGroupContextIdleTime, which will be set in ConfigurationContex
|
||||
for multiple clients which are going to access the same ServiceGroupContext
|
||||
Default Value is 30 Sec.
|
||||
-->
|
||||
<ServiceGroupContextIdleTime>30000</ServiceGroupContextIdleTime>
|
||||
|
||||
<!--
|
||||
This repository location is used to crete the client side configuration
|
||||
context used by the server when calling admin services.
|
||||
-->
|
||||
<ClientRepositoryLocation>${carbon.home}/repository/deployment/client/</ClientRepositoryLocation>
|
||||
<!-- This axis2 xml is used in createing the configuration context by the FE server
|
||||
calling to BE server -->
|
||||
<clientAxis2XmlLocation>${carbon.home}/conf/axis2/axis2_client.xml</clientAxis2XmlLocation>
|
||||
<!-- If this parameter is set, the ?wsdl on an admin service will not give the admin service wsdl. -->
|
||||
<HideAdminServiceWSDLs>true</HideAdminServiceWSDLs>
|
||||
|
||||
<!--WARNING-Use With Care! Uncommenting bellow parameter would expose all AdminServices in HTTP transport.
|
||||
With HTTP transport your credentials and data routed in public channels are vulnerable for sniffing attacks.
|
||||
Use bellow parameter ONLY if your communication channels are confirmed to be secured by other means -->
|
||||
<!--HttpAdminServices>*</HttpAdminServices-->
|
||||
|
||||
</Axis2Config>
|
||||
|
||||
<!--
|
||||
The default user roles which will be created when the server
|
||||
is started up for the first time.
|
||||
-->
|
||||
<ServiceUserRoles>
|
||||
<Role>
|
||||
<Name>admin</Name>
|
||||
<Description>Default Administrator Role</Description>
|
||||
</Role>
|
||||
<Role>
|
||||
<Name>user</Name>
|
||||
<Description>Default User Role</Description>
|
||||
</Role>
|
||||
</ServiceUserRoles>
|
||||
|
||||
<!--
|
||||
Enable following config to allow Emails as usernames.
|
||||
-->
|
||||
<!--EnableEmailUserName>true</EnableEmailUserName-->
|
||||
|
||||
<!--
|
||||
Security configurations
|
||||
-->
|
||||
<Security>
|
||||
<!--
|
||||
KeyStore which will be used for encrypting/decrypting passwords
|
||||
and other sensitive information.
|
||||
-->
|
||||
<KeyStore>
|
||||
<!-- Keystore file location-->
|
||||
<Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
|
||||
<!-- Keystore type (JKS/PKCS12 etc.)-->
|
||||
<Type>JKS</Type>
|
||||
<!-- Keystore password-->
|
||||
<Password>wso2carbon</Password>
|
||||
<!-- Private Key alias-->
|
||||
<KeyAlias>wso2carbon</KeyAlias>
|
||||
<!-- Private Key password-->
|
||||
<KeyPassword>wso2carbon</KeyPassword>
|
||||
</KeyStore>
|
||||
|
||||
<!--
|
||||
System wide trust-store which is used to maintain the certificates of all
|
||||
the trusted parties.
|
||||
-->
|
||||
<TrustStore>
|
||||
<!-- trust-store file location -->
|
||||
<Location>${carbon.home}/repository/resources/security/client-truststore.jks</Location>
|
||||
<!-- trust-store type (JKS/PKCS12 etc.) -->
|
||||
<Type>JKS</Type>
|
||||
<!-- trust-store password -->
|
||||
<Password>wso2carbon</Password>
|
||||
</TrustStore>
|
||||
|
||||
<!--
|
||||
The Authenticator configuration to be used at the JVM level. We extend the
|
||||
java.net.Authenticator to make it possible to authenticate to given servers and
|
||||
proxies.
|
||||
-->
|
||||
<NetworkAuthenticatorConfig>
|
||||
<!--
|
||||
Below is a sample configuration for a single authenticator. Please note that
|
||||
all child elements are mandatory. Not having some child elements would lead to
|
||||
exceptions at runtime.
|
||||
-->
|
||||
<!-- <Credential> -->
|
||||
<!--
|
||||
the pattern that would match a subset of URLs for which this authenticator
|
||||
would be used
|
||||
-->
|
||||
<!-- <Pattern>regularExpression</Pattern> -->
|
||||
<!--
|
||||
the type of this authenticator. Allowed values are:
|
||||
1. server
|
||||
2. proxy
|
||||
-->
|
||||
<!-- <Type>proxy</Type> -->
|
||||
<!-- the username used to log in to server/proxy -->
|
||||
<!-- <Username>username</Username> -->
|
||||
<!-- the password used to log in to server/proxy -->
|
||||
<!-- <Password>password</Password> -->
|
||||
<!-- </Credential> -->
|
||||
</NetworkAuthenticatorConfig>
|
||||
|
||||
<!--
|
||||
The Tomcat realm to be used for hosted Web applications. Allowed values are;
|
||||
1. UserManager
|
||||
2. Memory
|
||||
|
||||
If this is set to 'UserManager', the realm will pick users & roles from the system's
|
||||
WSO2 User Manager. If it is set to 'memory', the realm will pick users & roles from
|
||||
CARBON_HOME/conf/tomcat/tomcat-users.xml
|
||||
-->
|
||||
<TomcatRealm>UserManager</TomcatRealm>
|
||||
|
||||
<!--Option to disable storing of tokens issued by STS-->
|
||||
<DisableTokenStore>false</DisableTokenStore>
|
||||
|
||||
<!--
|
||||
Security token store class name. If this is not set, default class will be
|
||||
org.wso2.carbon.security.util.SecurityTokenStore
|
||||
-->
|
||||
<!--TokenStoreClassName>org.wso2.carbon.identity.sts.store.DBTokenStore</TokenStoreClassName-->
|
||||
|
||||
<XSSPreventionConfig>
|
||||
<Enabled>true</Enabled>
|
||||
<Rule>allow</Rule>
|
||||
<Patterns>
|
||||
<!--Pattern></Pattern-->
|
||||
</Patterns>
|
||||
</XSSPreventionConfig>
|
||||
</Security>
|
||||
|
||||
<!--
|
||||
The temporary work directory
|
||||
-->
|
||||
<WorkDirectory>${carbon.home}/tmp/work</WorkDirectory>
|
||||
|
||||
<!--
|
||||
House-keeping configuration
|
||||
-->
|
||||
<HouseKeeping>
|
||||
|
||||
<!--
|
||||
true - Start House-keeping thread on server startup
|
||||
false - Do not start House-keeping thread on server startup.
|
||||
The user will run it manually as and when he wishes.
|
||||
-->
|
||||
<AutoStart>true</AutoStart>
|
||||
|
||||
<!--
|
||||
The interval in *minutes*, between house-keeping runs
|
||||
-->
|
||||
<Interval>10</Interval>
|
||||
|
||||
<!--
|
||||
The maximum time in *minutes*, temp files are allowed to live
|
||||
in the system. Files/directories which were modified more than
|
||||
"MaxTempFileLifetime" minutes ago will be removed by the
|
||||
house-keeping task
|
||||
-->
|
||||
<MaxTempFileLifetime>30</MaxTempFileLifetime>
|
||||
</HouseKeeping>
|
||||
|
||||
<!--
|
||||
Configuration for handling different types of file upload & other file uploading related
|
||||
config parameters.
|
||||
To map all actions to a particular FileUploadExecutor, use
|
||||
<Action>*</Action>
|
||||
-->
|
||||
<FileUploadConfig>
|
||||
<!--
|
||||
The total file upload size limit in MB
|
||||
-->
|
||||
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
||||
|
||||
<Mapping>
|
||||
<Actions>
|
||||
<Action>keystore</Action>
|
||||
<Action>certificate</Action>
|
||||
<Action>*</Action>
|
||||
</Actions>
|
||||
<Class>org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor</Class>
|
||||
</Mapping>
|
||||
|
||||
<Mapping>
|
||||
<Actions>
|
||||
<Action>jarZip</Action>
|
||||
</Actions>
|
||||
<Class>org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor</Class>
|
||||
</Mapping>
|
||||
<Mapping>
|
||||
<Actions>
|
||||
<Action>dbs</Action>
|
||||
</Actions>
|
||||
<Class>org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor</Class>
|
||||
</Mapping>
|
||||
<Mapping>
|
||||
<Actions>
|
||||
<Action>tools</Action>
|
||||
</Actions>
|
||||
<Class>org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor</Class>
|
||||
</Mapping>
|
||||
<Mapping>
|
||||
<Actions>
|
||||
<Action>toolsAny</Action>
|
||||
</Actions>
|
||||
<Class>org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor</Class>
|
||||
</Mapping>
|
||||
</FileUploadConfig>
|
||||
|
||||
<!-- FileNameRegEx is used to validate the file input/upload/write-out names.
|
||||
e.g.
|
||||
<FileNameRegEx>^(?!(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(?:\.[^.])?$)[^<>:"/\\|?*\x00-\x1F][^<>:"/\\|?*\x00-\x1F\ .]$</FileNameRegEx>
|
||||
-->
|
||||
<!--<FileNameRegEx></FileNameRegEx>-->
|
||||
|
||||
<!--
|
||||
Processors which process special HTTP GET requests such as ?wsdl, ?policy etc.
|
||||
|
||||
In order to plug in a processor to handle a special request, simply add an entry to this
|
||||
section.
|
||||
|
||||
The value of the Item element is the first parameter in the query string(e.g. ?wsdl)
|
||||
which needs special processing
|
||||
|
||||
The value of the Class element is a class which implements
|
||||
org.wso2.carbon.transport.HttpGetRequestProcessor
|
||||
-->
|
||||
<HttpGetRequestProcessors>
|
||||
<Processor>
|
||||
<Item>info</Item>
|
||||
<Class>org.wso2.carbon.core.transports.util.InfoProcessor</Class>
|
||||
</Processor>
|
||||
<Processor>
|
||||
<Item>wsdl</Item>
|
||||
<Class>org.wso2.carbon.core.transports.util.Wsdl11Processor</Class>
|
||||
</Processor>
|
||||
<Processor>
|
||||
<Item>wsdl2</Item>
|
||||
<Class>org.wso2.carbon.core.transports.util.Wsdl20Processor</Class>
|
||||
</Processor>
|
||||
<Processor>
|
||||
<Item>xsd</Item>
|
||||
<Class>org.wso2.carbon.core.transports.util.XsdProcessor</Class>
|
||||
</Processor>
|
||||
</HttpGetRequestProcessors>
|
||||
|
||||
<!-- Deployment Synchronizer Configuration. Enable value to true when running with "svn based" dep sync.
|
||||
In master nodes you need to set both AutoCommit and AutoCheckout to true
|
||||
and in worker nodes set only AutoCheckout to true.
|
||||
-->
|
||||
<DeploymentSynchronizer>
|
||||
<Enabled>false</Enabled>
|
||||
<AutoCommit>false</AutoCommit>
|
||||
<AutoCheckout>true</AutoCheckout>
|
||||
<RepositoryType>svn</RepositoryType>
|
||||
<SvnUrl>http://svnrepo.example.com/repos/</SvnUrl>
|
||||
<SvnUser>username</SvnUser>
|
||||
<SvnPassword>password</SvnPassword>
|
||||
<SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
|
||||
</DeploymentSynchronizer>
|
||||
|
||||
<!-- Deployment Synchronizer Configuration. Uncomment the following section when running with "registry based" dep sync.
|
||||
In master nodes you need to set both AutoCommit and AutoCheckout to true
|
||||
and in worker nodes set only AutoCheckout to true.
|
||||
-->
|
||||
<!--<DeploymentSynchronizer>
|
||||
<Enabled>true</Enabled>
|
||||
<AutoCommit>false</AutoCommit>
|
||||
<AutoCheckout>true</AutoCheckout>
|
||||
</DeploymentSynchronizer>-->
|
||||
|
||||
<!-- Mediation persistence configurations. Only valid if mediation features are available i.e. ESB -->
|
||||
<!--<MediationConfig>
|
||||
<LoadFromRegistry>false</LoadFromRegistry>
|
||||
<SaveToFile>false</SaveToFile>
|
||||
<Persistence>enabled</Persistence>
|
||||
<RegistryPersistence>enabled</RegistryPersistence>
|
||||
</MediationConfig>-->
|
||||
|
||||
<!--
|
||||
Server intializing code, specified as implementation classes of org.wso2.carbon.core.ServerInitializer.
|
||||
This code will be run when the Carbon server is initialized
|
||||
-->
|
||||
<ServerInitializers>
|
||||
<!--<Initializer></Initializer>-->
|
||||
</ServerInitializers>
|
||||
|
||||
<!--
|
||||
Indicates whether the Carbon Servlet is required by the system, and whether it should be
|
||||
registered
|
||||
-->
|
||||
<RequireCarbonServlet>${require.carbon.servlet}</RequireCarbonServlet>
|
||||
|
||||
<!--
|
||||
Carbon H2 OSGI Configuration
|
||||
By default non of the servers start.
|
||||
name="web" - Start the web server with the H2 Console
|
||||
name="webPort" - The port (default: 8082)
|
||||
name="webAllowOthers" - Allow other computers to connect
|
||||
name="webSSL" - Use encrypted (HTTPS) connections
|
||||
name="tcp" - Start the TCP server
|
||||
name="tcpPort" - The port (default: 9092)
|
||||
name="tcpAllowOthers" - Allow other computers to connect
|
||||
name="tcpSSL" - Use encrypted (SSL) connections
|
||||
name="pg" - Start the PG server
|
||||
name="pgPort" - The port (default: 5435)
|
||||
name="pgAllowOthers" - Allow other computers to connect
|
||||
name="trace" - Print additional trace information; for all servers
|
||||
name="baseDir" - The base directory for H2 databases; for all servers
|
||||
-->
|
||||
<!--H2DatabaseConfiguration>
|
||||
<property name="web" />
|
||||
<property name="webPort">8082</property>
|
||||
<property name="webAllowOthers" />
|
||||
<property name="webSSL" />
|
||||
<property name="tcp" />
|
||||
<property name="tcpPort">9092</property>
|
||||
<property name="tcpAllowOthers" />
|
||||
<property name="tcpSSL" />
|
||||
<property name="pg" />
|
||||
<property name="pgPort">5435</property>
|
||||
<property name="pgAllowOthers" />
|
||||
<property name="trace" />
|
||||
<property name="baseDir">${carbon.home}</property>
|
||||
</H2DatabaseConfiguration-->
|
||||
<!--Disabling statistics reporter by default-->
|
||||
<StatisticsReporterDisabled>true</StatisticsReporterDisabled>
|
||||
|
||||
<!-- Enable accessing Admin Console via HTTP -->
|
||||
<!-- EnableHTTPAdminConsole>true</EnableHTTPAdminConsole -->
|
||||
|
||||
<!--
|
||||
Default Feature Repository of WSO2 Carbon.
|
||||
-->
|
||||
<FeatureRepository>
|
||||
<RepositoryName>default repository</RepositoryName>
|
||||
<RepositoryURL>http://product-dist.wso2.com/p2/carbon/releases/wilkes/</RepositoryURL>
|
||||
</FeatureRepository>
|
||||
|
||||
<!--
|
||||
Configure API Management
|
||||
-->
|
||||
<APIManagement>
|
||||
|
||||
<!--Uses the embedded API Manager by default. If you want to use an external
|
||||
API Manager instance to manage APIs, configure below externalAPIManager-->
|
||||
|
||||
<Enabled>true</Enabled>
|
||||
|
||||
<!--Uncomment and configure API Gateway and
|
||||
Publisher URLs to use external API Manager instance-->
|
||||
|
||||
<!--ExternalAPIManager>
|
||||
|
||||
<APIGatewayURL>http://localhost:8281</APIGatewayURL>
|
||||
<APIPublisherURL>http://localhost:8281/publisher</APIPublisherURL>
|
||||
|
||||
</ExternalAPIManager-->
|
||||
|
||||
<LoadAPIContextsInServerStartup>true</LoadAPIContextsInServerStartup>
|
||||
</APIManagement>
|
||||
</Server>
|
@ -0,0 +1,249 @@
|
||||
# Eclipse Runtime Configuration Overrides
|
||||
# These properties are loaded prior to starting the framework and can also be used to override System Properties
|
||||
# @null is a special value used to override and clear the framework's copy of a System Property prior to starting the framework
|
||||
# "*" can be used together with @null to clear System Properties that match a prefix name.
|
||||
|
||||
osgi.*=@null
|
||||
org.osgi.*=@null
|
||||
eclipse.*=@null
|
||||
|
||||
osgi.parentClassloader=app
|
||||
osgi.contextClassLoaderParent=app
|
||||
|
||||
# When osgi.clean is set to "true", any cached data used by the OSGi framework
|
||||
# will be wiped clean. This will clean the caches used to store bundle
|
||||
# dependency resolution and eclipse extension registry data. Using this
|
||||
# option will force OSGi framework to reinitialize these caches.
|
||||
# The following setting is put in place to get rid of the problems
|
||||
# faced when re-starting the system. Please note that, when this setting is
|
||||
# true, if you manually start a bundle, it would not be available when
|
||||
# you re-start the system. To avid this, copy the bundle jar to the plugins
|
||||
# folder, before you re-start the system.
|
||||
osgi.clean=true
|
||||
|
||||
# Uncomment the following line to turn on Eclipse Equinox debugging.
|
||||
# You may also edit the osgi-debug.options file and fine tune the debugging
|
||||
# options to suite your needs.
|
||||
#osgi.debug=./conf/osgi-debug.options
|
||||
|
||||
# Following system property allows us to control the public JDK packages exported through the system bundle.
|
||||
org.osgi.framework.system.packages=javax.accessibility,\
|
||||
javax.activity,\
|
||||
javax.crypto,\
|
||||
javax.crypto.interfaces,\
|
||||
javax.crypto.spec,\
|
||||
javax.imageio,\
|
||||
javax.imageio.event,\
|
||||
javax.imageio.metadata,\
|
||||
javax.imageio.plugins.bmp,\
|
||||
javax.imageio.plugins.jpeg,\
|
||||
javax.imageio.spi,\
|
||||
javax.imageio.stream,\
|
||||
javax.jms,\
|
||||
javax.management,\
|
||||
javax.management.loading,\
|
||||
javax.management.modelmbean,\
|
||||
javax.management.monitor,\
|
||||
javax.management.openmbean,\
|
||||
javax.management.relation,\
|
||||
javax.management.remote,\
|
||||
javax.management.remote.rmi,\
|
||||
javax.management.timer,\
|
||||
javax.naming,\
|
||||
javax.naming.directory,\
|
||||
javax.naming.event,\
|
||||
javax.naming.ldap,\
|
||||
javax.naming.spi,\
|
||||
javax.net,\
|
||||
javax.net.ssl,\
|
||||
javax.print,\
|
||||
javax.print.attribute,\
|
||||
javax.print.attribute.standard,\
|
||||
javax.print.event,\
|
||||
javax.rmi,\
|
||||
javax.rmi.CORBA,\
|
||||
javax.rmi.ssl,\
|
||||
javax.script,\
|
||||
javax.security.auth,\
|
||||
javax.security.auth.callback,\
|
||||
javax.security.auth.kerberos,\
|
||||
javax.security.auth.login,\
|
||||
javax.security.auth.spi,\
|
||||
javax.security.auth.x500,\
|
||||
javax.security.cert,\
|
||||
javax.security.sasl,\
|
||||
javax.sound.midi,\
|
||||
javax.sound.midi.spi,\
|
||||
javax.sound.sampled,\
|
||||
javax.sound.sampled.spi,\
|
||||
javax.sql,\
|
||||
javax.sql.rowset,\
|
||||
javax.sql.rowset.serial,\
|
||||
javax.sql.rowset.spi,\
|
||||
javax.swing,\
|
||||
javax.swing.border,\
|
||||
javax.swing.colorchooser,\
|
||||
javax.swing.event,\
|
||||
javax.swing.filechooser,\
|
||||
javax.swing.plaf,\
|
||||
javax.swing.plaf.basic,\
|
||||
javax.swing.plaf.metal,\
|
||||
javax.swing.plaf.multi,\
|
||||
javax.swing.plaf.synth,\
|
||||
javax.swing.table,\
|
||||
javax.swing.text,\
|
||||
javax.swing.text.html,\
|
||||
javax.swing.text.html.parser,\
|
||||
javax.swing.text.rtf,\
|
||||
javax.swing.tree,\
|
||||
javax.swing.undo,\
|
||||
javax.transaction,\
|
||||
javax.transaction.xa,\
|
||||
javax.xml.namespace,\
|
||||
javax.xml.parsers,\
|
||||
javax.xml.transform,\
|
||||
javax.xml.transform.stream,\
|
||||
javax.xml.transform.dom,\
|
||||
javax.xml.transform.sax,\
|
||||
javax.xml,\
|
||||
javax.xml.validation,\
|
||||
javax.xml.datatype,\
|
||||
javax.xml.xpath,\
|
||||
javax.activation,\
|
||||
com.sun.activation.registries,\
|
||||
com.sun.activation.viewers,\
|
||||
org.ietf.jgss,\
|
||||
org.omg.CORBA,\
|
||||
org.omg.CORBA_2_3,\
|
||||
org.omg.CORBA_2_3.portable,\
|
||||
org.omg.CORBA.DynAnyPackage,\
|
||||
org.omg.CORBA.ORBPackage,\
|
||||
org.omg.CORBA.portable,\
|
||||
org.omg.CORBA.TypeCodePackage,\
|
||||
org.omg.CosNaming,\
|
||||
org.omg.CosNaming.NamingContextExtPackage,\
|
||||
org.omg.CosNaming.NamingContextPackage,\
|
||||
org.omg.Dynamic,\
|
||||
org.omg.DynamicAny,\
|
||||
org.omg.DynamicAny.DynAnyFactoryPackage,\
|
||||
org.omg.DynamicAny.DynAnyPackage,\
|
||||
org.omg.IOP,\
|
||||
org.omg.IOP.CodecFactoryPackage,\
|
||||
org.omg.IOP.CodecPackage,\
|
||||
org.omg.Messaging,\
|
||||
org.omg.PortableInterceptor,\
|
||||
org.omg.PortableInterceptor.ORBInitInfoPackage,\
|
||||
org.omg.PortableServer,\
|
||||
org.omg.PortableServer.CurrentPackage,\
|
||||
org.omg.PortableServer.POAManagerPackage,\
|
||||
org.omg.PortableServer.POAPackage,\
|
||||
org.omg.PortableServer.portable,\
|
||||
org.omg.PortableServer.ServantLocatorPackage,\
|
||||
org.omg.SendingContext,\
|
||||
org.omg.stub.java.rmi,\
|
||||
org.w3c.dom,\
|
||||
org.w3c.dom.bootstrap,\
|
||||
org.w3c.dom.css,\
|
||||
org.w3c.dom.events,\
|
||||
org.w3c.dom.html,\
|
||||
org.w3c.dom.ls,\
|
||||
org.w3c.dom.ranges,\
|
||||
org.w3c.dom.stylesheets,\
|
||||
org.w3c.dom.traversal,\
|
||||
org.w3c.dom.views ,\
|
||||
org.xml.sax,\
|
||||
org.xml.sax.ext,\
|
||||
org.xml.sax.helpers,\
|
||||
org.apache.xerces.xpointer,\
|
||||
org.apache.xerces.xni.grammars,\
|
||||
org.apache.xerces.impl.xs.util,\
|
||||
org.apache.xerces.jaxp.validation,\
|
||||
org.apache.xerces.impl.dtd.models,\
|
||||
org.apache.xerces.impl.xpath,\
|
||||
org.apache.xerces.dom3.as,\
|
||||
org.apache.xerces.impl.dv.xs,\
|
||||
org.apache.xerces.util,\
|
||||
org.apache.xerces.impl.xs.identity,\
|
||||
org.apache.xerces.impl.xs.opti,\
|
||||
org.apache.xerces.jaxp,\
|
||||
org.apache.xerces.impl.dv,\
|
||||
org.apache.xerces.xs.datatypes,\
|
||||
org.apache.xerces.dom.events,\
|
||||
org.apache.xerces.impl.msg,\
|
||||
org.apache.xerces.xni,\
|
||||
org.apache.xerces.impl.xs,\
|
||||
org.apache.xerces.impl,\
|
||||
org.apache.xerces.impl.io,\
|
||||
org.apache.xerces.xinclude,\
|
||||
org.apache.xerces.jaxp.datatype,\
|
||||
org.apache.xerces.parsers,\
|
||||
org.apache.xerces.impl.dv.util,\
|
||||
org.apache.xerces.xni.parser,\
|
||||
org.apache.xerces.impl.xs.traversers,\
|
||||
org.apache.xerces.impl.dv.dtd,\
|
||||
org.apache.xerces.xs,\
|
||||
org.apache.xerces.impl.dtd,\
|
||||
org.apache.xerces.impl.validation,\
|
||||
org.apache.xerces.impl.xs.models,\
|
||||
org.apache.xerces.impl.xpath.regex,\
|
||||
org.apache.xml.serialize,\
|
||||
org.apache.xerces.dom,\
|
||||
org.apache.xalan,\
|
||||
org.apache.xalan.xslt,\
|
||||
org.apache.xalan.templates,\
|
||||
org.apache.xalan.xsltc,\
|
||||
org.apache.xalan.xsltc.cmdline,\
|
||||
org.apache.xalan.xsltc.cmdline.getopt,\
|
||||
org.apache.xalan.xsltc.trax,\
|
||||
org.apache.xalan.xsltc.dom,\
|
||||
org.apache.xalan.xsltc.runtime,\
|
||||
org.apache.xalan.xsltc.runtime.output,\
|
||||
org.apache.xalan.xsltc.util,\
|
||||
org.apache.xalan.xsltc.compiler,\
|
||||
org.apache.xalan.xsltc.compiler.util,\
|
||||
org.apache.xalan.serialize,\
|
||||
org.apache.xalan.client,\
|
||||
org.apache.xalan.res,\
|
||||
org.apache.xalan.transformer,\
|
||||
org.apache.xalan.extensions,\
|
||||
org.apache.xalan.lib,\
|
||||
org.apache.xalan.lib.sql,\
|
||||
org.apache.xalan.processor,\
|
||||
org.apache.xalan.trace,\
|
||||
org.apache.xml.dtm,\
|
||||
org.apache.xml.dtm.ref,\
|
||||
org.apache.xml.dtm.ref.sax2dtm,\
|
||||
org.apache.xml.dtm.ref.dom2dtm,\
|
||||
org.apache.xml.utils,\
|
||||
org.apache.xml.utils.res,\
|
||||
org.apache.xml.res,\
|
||||
org.apache.xml.serializer,\
|
||||
org.apache.xml.serializer.utils,\
|
||||
org.apache.xpath,\
|
||||
org.apache.xpath.domapi,\
|
||||
org.apache.xpath.objects,\
|
||||
org.apache.xpath.patterns,\
|
||||
org.apache.xpath.jaxp,\
|
||||
org.apache.xpath.res,\
|
||||
org.apache.xpath.operations,\
|
||||
org.apache.xpath.functions,\
|
||||
org.apache.xpath.axes,\
|
||||
org.apache.xpath.compiler,\
|
||||
org.apache.xml.resolver,\
|
||||
org.apache.xml.resolver.tools,\
|
||||
org.apache.xml.resolver.helpers,\
|
||||
org.apache.xml.resolver.readers,\
|
||||
org.apache.xml.resolver.etc,\
|
||||
org.apache.xml.resolver.apps,\
|
||||
javax.xml.ws,\
|
||||
javax.xml.bind,\
|
||||
javax.xml.bind.annotation,\
|
||||
javax.annotation,\
|
||||
javax.jws,\
|
||||
javax.jws.soap,\
|
||||
javax.xml.soap,\
|
||||
com.sun.xml.internal.messaging.saaj.soap.ver1_1,\
|
||||
com.sun.xml.internal.messaging.saaj.soap,\
|
||||
com.sun.tools.internal.ws.spi,\
|
||||
org.github.jamm,\
|
||||
org.wso2.carbon.bootstrap
|
@ -0,0 +1,2 @@
|
||||
hazelcast.max.no.heartbeat.seconds=600
|
||||
hazelcast.shutdownhook.enabled=false
|
@ -0,0 +1,239 @@
|
||||
#
|
||||
# Copyright 2009-2015 WSO2, Inc. (http://wso2.com)
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
#
|
||||
# This is the log4j configuration file used by WSO2 Carbon
|
||||
#
|
||||
# IMPORTANT : Please do not remove or change the names of any
|
||||
# of the Appenders defined here. The layout pattern & log file
|
||||
# can be changed using the WSO2 Carbon Management Console, and those
|
||||
# settings will override the settings in this file.
|
||||
#
|
||||
|
||||
log4j.rootLogger=INFO, CARBON_CONSOLE, CARBON_LOGFILE, CARBON_MEMORY, CARBON_SYS_LOG
|
||||
|
||||
log4j.logger.AUDIT_LOG=INFO, AUDIT_LOGFILE
|
||||
log4j.logger.org.apache.axis2.wsdl.codegen.writer.PrettyPrinter=ERROR, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.axis2.clustering=INFO, CARBON_CONSOLE, CARBON_LOGFILE
|
||||
log4j.logger.org.apache=INFO, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.catalina=WARN
|
||||
log4j.logger.org.apache.tomcat=WARN
|
||||
log4j.logger.org.wso2.carbon.apacheds=WARN
|
||||
log4j.logger.org.apache.directory.server.ldap=WARN
|
||||
log4j.logger.org.apache.directory.server.core.event=WARN
|
||||
log4j.logger.com.atomikos=INFO,ATOMIKOS
|
||||
log4j.logger.org.quartz=WARN
|
||||
log4j.logger.org.apache.jackrabbit.webdav=WARN
|
||||
log4j.logger.org.apache.juddi=ERROR
|
||||
log4j.logger.org.apache.commons.digester.Digester=WARN
|
||||
log4j.logger.org.apache.jasper.compiler.TldLocationsCache=WARN
|
||||
log4j.logger.org.apache.qpid=WARN
|
||||
log4j.logger.org.apache.qpid.server.Main=INFO
|
||||
log4j.logger.qpid.message=WARN
|
||||
log4j.logger.qpid.message.broker.listening=INFO
|
||||
log4j.logger.org.apache.tiles=WARN
|
||||
log4j.logger.org.apache.commons.httpclient=ERROR
|
||||
log4j.logger.org.apache.coyote=WARN
|
||||
log4j.logger.org.apache.solr=ERROR
|
||||
log4j.logger.org.infinispan=WARN
|
||||
log4j.logger.org.jgroups=ERROR
|
||||
log4j.logger.org.wso2=INFO
|
||||
log4j.logger.org.apache.axis2.enterprise=FATAL, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.opensaml.xml=WARN, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.directory.shared.ldap=WARN, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.directory.server.ldap.handlers=WARN, CARBON_LOGFILE, CARBON_MEMORY
|
||||
#Following are to remove false error messages from startup (IS)
|
||||
log4j.logger.org.apache.directory.shared.ldap.entry.DefaultServerAttribute=FATAL, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.directory.server.core.DefaultDirectoryService=ERROR, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.directory.shared.ldap.ldif.LdifReader=ERROR, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.directory.server.ldap.LdapProtocolHandler=ERROR, CARBON_LOGFILE, CARBON_MEMORY
|
||||
log4j.logger.org.apache.directory.server.core=ERROR, CARBON_LOGFILE, CARBON_MEMORY
|
||||
#Hive Related Log configurations
|
||||
log4j.logger.DataNucleus=ERROR
|
||||
log4j.logger.Datastore=ERROR
|
||||
log4j.logger.Datastore.Schema=ERROR
|
||||
log4j.logger.JPOX.Datastore=ERROR
|
||||
log4j.logger.JPOX.Plugin=ERROR
|
||||
log4j.logger.JPOX.MetaData=ERROR
|
||||
log4j.logger.JPOX.Query=ERROR
|
||||
log4j.logger.JPOX.General=ERROR
|
||||
log4j.logger.JPOX.Enhancer=ERROR
|
||||
log4j.logger.org.apache.hadoop.hive=WARN
|
||||
log4j.logger.hive=WARN
|
||||
log4j.logger.ExecMapper=WARN
|
||||
log4j.logger.ExecReducer=WARN
|
||||
|
||||
#andes specific
|
||||
log4j.logger.org.wso2.andes.server.handler.ConnectionStartOkMethodHandler=WARN
|
||||
log4j.logger.org.wso2.andes.server.handler.ChannelOpenHandler=WARN
|
||||
log4j.logger.org.wso2.andes.server.handler.ChannelCloseHandler=WARN
|
||||
log4j.logger.org.wso2.andes.server.AMQChannel=WARN
|
||||
log4j.logger.org.wso2.andes.server.handler.ConnectionCloseMethodHandler=WARN
|
||||
log4j.logger.org.wso2.andes.server.handler.QueueDeclareHandler=WARN
|
||||
log4j.logger.org.wso2.andes.server.handler.QueueBindHandler=WARN
|
||||
log4j.logger.org.wso2.andes.server.virtualhost.VirtualHostConfigRecoveryHandler=WARN
|
||||
log4j.logger.org.wso2.andes.amqp.QpidAndesBridge=WARN
|
||||
log4j.logger.trace.messages=TRACE,CARBON_TRACE_LOGFILE
|
||||
|
||||
#trace level logs for WSO2 Message Broker
|
||||
#log4j.logger.org.wso2.andes.server.trace=TRACE,CARBON_TRACE_LOGFILE
|
||||
|
||||
# Uncomment to enable MessageTracer
|
||||
log4j.logger.org.wso2.andes.tools.utils.MessageTracer=INFO,CARBON_TRACE_LOGFILE
|
||||
|
||||
#Andes logs for troubleshooting
|
||||
#log4j.logger.org.wso2.andes.kernel.MessageFlusher=DEBUG
|
||||
#log4j.logger.org.wso2.andes.kernel.slot.SlotDeliveryWorker=DEBUG
|
||||
#log4j.logger.org.wso2.andes.amqp.QpidAndesBridge=DEBUG
|
||||
#log4j.logger.org.wso2.andes.server.AMQChannel=DEBUG
|
||||
#log4j.logger.org.wso2.andes.kernel.slot.SlotDeliveryWorkerManager=DEBUG
|
||||
#log4j.logger.org.wso2.andes.kernel.distruptor.inbound.MessageWriter=DEBUG
|
||||
#log4j.logger.org.wso2.andes.kernel.distruptor.inbound.AckHandler=DEBUG
|
||||
#log4j.logger.org.wso2.andes.kernel.distruptor.inbound.StateEventHandler=DEBUG
|
||||
#log4j.logger.org.wso2.andes.kernel.slot.SlotManagerClusterMode=DEBUG
|
||||
#log4j.logger.org.wso2.andes.subscription.LocalSubscription=DEBUG
|
||||
#log4j.logger.org.wso2.andes.subscription.SubscriptionStore=DEBUG
|
||||
|
||||
#MQTT specific
|
||||
#log4j.logger.org.dna.mqtt.wso2.AndesMQTTBridge=DEBUG
|
||||
#log4j.logger.org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor=DEBUG
|
||||
|
||||
# DAS_AGENT is set to be a Custom Log Appender.
|
||||
#log4j.appender.DAS_AGENT=org.wso2.carbon.analytics.shared.data.agents.log4j.appender.LogEventAppender
|
||||
# DAS_AGENT uses PatternLayout.
|
||||
#log4j.appender.DAS_AGENT.layout=org.wso2.carbon.analytics.shared.data.agents.log4j.util.TenantAwarePatternLayout
|
||||
#log4j.appender.DAS_AGENT.columnList=%D,%S,%A,%d,%c,%p,%m,%H,%I,%Stacktrace
|
||||
#log4j.appender.DAS_AGENT.userName=admin
|
||||
#log4j.appender.DAS_AGENT.password=admin
|
||||
#log4j.appender.DAS_AGENT.url=tcp://localhost:7612
|
||||
#log4j.appender.DAS_AGENT.maxTolerableConsecutiveFailure=5
|
||||
#log4j.appender.DAS_AGENT.streamDef=loganalyzer:1.0.0
|
||||
|
||||
log4j.additivity.org.apache.axis2.clustering=false
|
||||
log4j.additivity.com.atomikos=false
|
||||
|
||||
# CARBON_CONSOLE is set to be a ConsoleAppender using a PatternLayout.
|
||||
log4j.appender.CARBON_CONSOLE=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.CARBON_CONSOLE.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
|
||||
# ConversionPattern will be overridden by the configuration setting in the DB
|
||||
log4j.appender.CARBON_CONSOLE.layout.ConversionPattern=[%d] [${logger.server.name}] %P%5p {%c} - %x %m%n
|
||||
log4j.appender.CARBON_CONSOLE.layout.TenantPattern=%U%@%D[%T]
|
||||
log4j.appender.CARBON_CONSOLE.threshold=DEBUG
|
||||
|
||||
|
||||
# The memory appender for logging
|
||||
log4j.appender.CARBON_MEMORY=org.wso2.carbon.logging.service.appender.CarbonMemoryAppender
|
||||
log4j.appender.CARBON_MEMORY.bufferSize=2000
|
||||
log4j.appender.CARBON_MEMORY.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
|
||||
# ConversionPattern will be overridden by the configuration setting in the DB
|
||||
log4j.appender.CARBON_MEMORY.layout.ConversionPattern=TID: [%T] [%S] [%d] %P%5p {%c} - %x %m {%c}%n
|
||||
log4j.appender.CARBON_MEMORY.layout.TenantPattern=%U%@%D [%T] [%S]
|
||||
log4j.appender.CARBON_MEMORY.columnList=%T,%S,%A,%d,%c,%p,%m,%H,%I,%Stacktrace
|
||||
log4j.appender.CARBON_MEMORY.threshold=DEBUG
|
||||
|
||||
# CARBON_LOGFILE is set to be a DailyRollingFileAppender using a PatternLayout.
|
||||
log4j.appender.CARBON_LOGFILE=org.apache.log4j.DailyRollingFileAppender
|
||||
# Log file will be overridden by the configuration setting in the DB
|
||||
# This path should be relative to WSO2 Carbon Home
|
||||
log4j.appender.CARBON_LOGFILE.File=${carbon.home}/repository/logs/${instance.log}/wso2carbon${instance.log}.log
|
||||
log4j.appender.CARBON_LOGFILE.Append=true
|
||||
log4j.appender.CARBON_LOGFILE.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
|
||||
# ConversionPattern will be overridden by the configuration setting in the DB
|
||||
log4j.appender.CARBON_LOGFILE.layout.ConversionPattern=TID: [%T] [%S] [%d] %P%5p {%c} - %x %m {%c}%n
|
||||
log4j.appender.CARBON_LOGFILE.layout.TenantPattern=%U%@%D [%T] [%S]
|
||||
log4j.appender.CARBON_LOGFILE.threshold=DEBUG
|
||||
|
||||
log4j.appender.CARBON_SYS_LOG = org.apache.log4j.net.SyslogAppender
|
||||
log4j.appender.CARBON_SYS_LOG.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.CARBON_SYS_LOG.layout.ConversionPattern=[%d] %5p {%c} - %x %m {%c}%n
|
||||
log4j.appender.CARBON_SYS_LOG.SyslogHost=localhost
|
||||
log4j.appender.CARBON_SYS_LOG.Facility=USER
|
||||
log4j.appender.CARBON_SYS_LOG.threshold=DEBUG
|
||||
|
||||
# LOGEVENT is set to be a LogEventAppender using a PatternLayout to send logs to LOGEVENT
|
||||
log4j.appender.LOGEVENT=org.wso2.carbon.logging.appender.LogEventAppender
|
||||
log4j.appender.LOGEVENT.url=tcp://10.100.3.103:7611
|
||||
log4j.appender.LOGEVENT.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
|
||||
log4j.appender.LOGEVENT.columnList=%T,%S,%A,%d,%c,%p,%m,%H,%I,%Stacktrace
|
||||
log4j.appender.LOGEVENT.userName=admin
|
||||
log4j.appender.LOGEVENT.password=admin
|
||||
|
||||
# Appender config to CARBON_TRACE_LOGFILE
|
||||
log4j.appender.CARBON_TRACE_LOGFILE=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.CARBON_TRACE_LOGFILE.File=${carbon.home}/repository/logs/${instance.log}/wso2carbon-trace-messages${instance.log}.log
|
||||
log4j.appender.CARBON_TRACE_LOGFILE.Append=true
|
||||
log4j.appender.CARBON_TRACE_LOGFILE.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
|
||||
log4j.appender.CARBON_TRACE_LOGFILE.layout.ConversionPattern=[%d] %P%5p {%c} - %x %m {%c}%n
|
||||
log4j.appender.CARBON_TRACE_LOGFILE.layout.TenantPattern=%U%@%D [%T] [%S]
|
||||
log4j.appender.CARBON_TRACE_LOGFILE.threshold=TRACE
|
||||
log4j.additivity.trace.messages=false
|
||||
|
||||
# Appender config to AUDIT_LOGFILE
|
||||
log4j.appender.AUDIT_LOGFILE=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.AUDIT_LOGFILE.File=${carbon.home}/repository/logs/audit.log
|
||||
log4j.appender.AUDIT_LOGFILE.Append=true
|
||||
log4j.appender.AUDIT_LOGFILE.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
|
||||
log4j.appender.AUDIT_LOGFILE.layout.ConversionPattern=[%d] %P%5p - %x %m %n
|
||||
log4j.appender.AUDIT_LOGFILE.layout.TenantPattern=%U%@%D [%T] [%S]
|
||||
log4j.appender.AUDIT_LOGFILE.threshold=INFO
|
||||
log4j.additivity.AUDIT_LOG=false
|
||||
|
||||
# Appender config to send Atomikos transaction logs to new log file tm.out.
|
||||
log4j.appender.ATOMIKOS = org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.ATOMIKOS.File = repository/logs/tm.out
|
||||
log4j.appender.ATOMIKOS.Append = true
|
||||
log4j.appender.ATOMIKOS.layout = org.apache.log4j.PatternLayout
|
||||
log4j.appender.ATOMIKOS.layout.ConversionPattern=%p %t %c - %m%n
|
||||
|
||||
# This file is used to override the default logger settings, and is used to remove unwanted logs from Shindig appearing on the console.
|
||||
|
||||
# Specification of Handler used by Console Logger
|
||||
handlers=java.util.logging.ConsoleHandler
|
||||
|
||||
# Replacing default INFO level with SEVERE
|
||||
java.util.logging.ConsoleHandler.level=SEVERE
|
||||
|
||||
# moquette-log properties
|
||||
|
||||
log4j.logger.org.dna.mqtt=INFO
|
||||
log4j.logger.org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor=INFO
|
||||
log4j.logger.org.dna.mqtt.moquette.messaging.spi.impl.SimpleMessaging=WARN
|
||||
|
||||
#Protocol parsing
|
||||
log4j.logger.org.dna.mqtt.moquette.server.netty.NettyMQTTHandler=WARN
|
||||
#log4j.logger.org.dna.mqtt.moquette.server.netty.NettyMQTTHandler=DEBUG
|
||||
log4j.logger.org.dna.mqtt.moquette.parser.netty=WARN
|
||||
#Storage server
|
||||
#log4j.logger.org.dna.mqtt.moquette.messaging.spi.impl.subscriptions.SubscriptionsStore=DEBUG
|
||||
#log4j.logger.org.dna.mqtt.moquette.messaging.spi.impl.HawtDBStorageService=DEBUG
|
||||
|
||||
# stdout appender is set to be a ConsoleAppender.
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
#log4j.appender.stdout.Threshold=WARN
|
||||
#log4j.appender.stdout.Threshold=INFO
|
||||
#log4j.appender.stdout.Threshold=DEBUG
|
||||
#log4j.appender.stdout.Threshold=TRACE
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c{1} %x - %m%n
|
||||
|
||||
#file appender
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.Threshold=INFO
|
||||
log4j.appender.file.File=wso2carbon.log
|
||||
log4j.appender.file.MaxFileSize=1MB
|
||||
log4j.appender.file.MaxBackupIndex=1
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=%-4r [%t] %-5p %c{1} %x - %m%n
|
@ -0,0 +1,44 @@
|
||||
<!--
|
||||
This is the configuration file for the carbon event broker component. this configuration file configures the various subsystems of the event
|
||||
broker component and parameters.
|
||||
-->
|
||||
<eventBrokerConfig xmlns="http://wso2.org/carbon/event/broker">
|
||||
<eventBroker name="carbonEventBroker" class="org.wso2.carbon.andes.event.core.internal.CarbonEventBrokerFactory">
|
||||
<!-- topic manager implementation class.-->
|
||||
<topicManager name="TopicManager"
|
||||
class="org.wso2.carbon.andes.event.core.internal.subscription.registry.RegistryTopicManagerServiceFactory">
|
||||
<!-- root node of the topic tree -->
|
||||
<topicStoragePath>event/topics</topicStoragePath>
|
||||
</topicManager>
|
||||
<!-- subscription manager implementation. subscription manager persist the
|
||||
subscriptions at the registry. users can configure the topics root node and the topicIndex path -->
|
||||
<subscriptionManager name="subscriptionManager"
|
||||
class="org.wso2.carbon.andes.event.core.internal.subscription.registry.RegistrySubscriptionManagerFactory">
|
||||
<topicStoragePath>event/topics</topicStoragePath>
|
||||
<indexStoragePath>event/topicIndex</indexStoragePath>
|
||||
</subscriptionManager>
|
||||
<!-- delivery manager implementation. delivery manager does actual delivery part of the event broker -->
|
||||
<deliveryManager name="deliveryManager"
|
||||
class="org.wso2.carbon.andes.event.core.internal.delivery.jms.QpidJMSDeliveryManagerFactory"
|
||||
type="local">
|
||||
<!-- <remoteMessageBroker>
|
||||
<hostName>localhost</hostName>
|
||||
<servicePort>9443</servicePort>
|
||||
<webContext>/</webContext>
|
||||
<userName>admin</userName>
|
||||
<password>admin</password>
|
||||
<qpidPort>5672</qpidPort>
|
||||
<clientID>clientID</clientID>
|
||||
<virtualHostName>carbon</virtualHostName>
|
||||
</remoteMessageBroker> -->
|
||||
</deliveryManager>
|
||||
|
||||
<!-- when publishing an event event broker uses a separate thread pool with an executor. following parameters configure different parameters of that -->
|
||||
<eventPublisher>
|
||||
<minSpareThreads>5</minSpareThreads>
|
||||
<maxThreads>50</maxThreads>
|
||||
<maxQueuedRequests>1000</maxQueuedRequests>
|
||||
<keepAliveTime>1000</keepAliveTime>
|
||||
</eventPublisher>
|
||||
</eventBroker>
|
||||
</eventBrokerConfig>
|
@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
~ Copyright 2015 WSO2 Inc. (http://wso2.org)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<!--
|
||||
This is the main configuration file for metrics
|
||||
-->
|
||||
<Metrics xmlns="http://wso2.org/projects/carbon/metrics.xml">
|
||||
|
||||
<!--
|
||||
Enable Metrics
|
||||
-->
|
||||
<Enabled>true</Enabled>
|
||||
|
||||
<!--
|
||||
Metrics reporting configurations
|
||||
-->
|
||||
<Reporting>
|
||||
<JMX>
|
||||
<Enabled>true</Enabled>
|
||||
</JMX>
|
||||
<Console>
|
||||
<Enabled>false</Enabled>
|
||||
<!-- Polling Period in seconds.
|
||||
This is the period for polling metrics from the metric registry and
|
||||
printing in the console -->
|
||||
<PollingPeriod>60</PollingPeriod>
|
||||
</Console>
|
||||
<CSV>
|
||||
<Enabled>false</Enabled>
|
||||
<Location>${carbon.home}/repository/logs/metrics/</Location>
|
||||
<!-- Polling Period in seconds.
|
||||
This is the period for polling metrics from the metric registry and
|
||||
update CSV files in the given location -->
|
||||
<PollingPeriod>60</PollingPeriod>
|
||||
</CSV>
|
||||
<JDBC>
|
||||
<Enabled>true</Enabled>
|
||||
<!-- Source of Metrics, which will be used to
|
||||
identify each metric in database -->
|
||||
<!-- Commented to use the hostname
|
||||
<Source>Carbon</Source>
|
||||
-->
|
||||
<!--
|
||||
JNDI name of the data source to be used by the JDBC Reporter.
|
||||
This data source should be defined in a *-datasources.xml
|
||||
file in conf/datasources directory.
|
||||
-->
|
||||
<DataSourceName>jdbc/WSO2MetricsDB</DataSourceName>
|
||||
<!-- Polling Period in seconds.
|
||||
This is the period for polling metrics from the metric registry and
|
||||
updating the database with the values -->
|
||||
<PollingPeriod>60</PollingPeriod>
|
||||
<ScheduledCleanup>
|
||||
<!--
|
||||
Schedule regular deletion of metrics data older than a set number of days.
|
||||
|
||||
It is strongly recommended that you enable this job to ensure your metrics tables do not get extremely
|
||||
large. Deleting data older than seven days should be sufficient.
|
||||
-->
|
||||
<Enabled>true</Enabled>
|
||||
<!-- This is the period for each cleanup operation in seconds -->
|
||||
<ScheduledCleanupPeriod>86400</ScheduledCleanupPeriod>
|
||||
<!-- The scheduled job will cleanup all data older than the specified days -->
|
||||
<DaysToKeep>7</DaysToKeep>
|
||||
</ScheduledCleanup>
|
||||
</JDBC>
|
||||
<DAS>
|
||||
<Enabled>false</Enabled>
|
||||
<!-- Source of Metrics, which will be used to
|
||||
identify each metric sent in the streams -->
|
||||
<!-- Commented to use the hostname
|
||||
<Source>Carbon</Source>
|
||||
-->
|
||||
<!-- Polling Period in seconds.
|
||||
This is the period for polling metrics from the metric registry and
|
||||
sending events via the Data Publisher -->
|
||||
<PollingPeriod>60</PollingPeriod>
|
||||
<!-- The type used with Data Publisher -->
|
||||
<Type>thrift</Type>
|
||||
<!-- Data Receiver URL used by the Data Publisher -->
|
||||
<ReceiverURL>tcp://localhost:7612</ReceiverURL>
|
||||
<!-- Authentication URL for the Data Publisher -->
|
||||
<!-- <AuthURL>ssl://localhost:7711</AuthURL> -->
|
||||
<Username>admin</Username>
|
||||
<Password>admin</Password>
|
||||
<!-- Path for Data Agent Configuration -->
|
||||
<DataAgentConfigPath>conf/data-bridge/data-agent-config.xml</DataAgentConfigPath>
|
||||
</DAS>
|
||||
</Reporting>
|
||||
</Metrics>
|
@ -0,0 +1,18 @@
|
||||
# By default, This file contains the secret alias names and the plain text passwords enclosed with '[]' brackets
|
||||
# In Production environments, It is recommend to replace these plain text password by the encrypted values. CipherTool can be used for it.
|
||||
|
||||
Carbon.Security.KeyStore.Password=[wso2carbon]
|
||||
Carbon.Security.KeyStore.KeyPassword=[wso2carbon]
|
||||
Carbon.Security.TrustStore.Password=[wso2carbon]
|
||||
UserManager.AdminUser.Password=[admin]
|
||||
Datasources.WSO2_CARBON_DB.Configuration.Password=[wso2carbon]
|
||||
Server.Service.Connector.keystorePass=[wso2carbon]
|
||||
|
||||
# MB-Specific
|
||||
Datasources.WSO2_MB_STORE_DB.Configuration.Password=[wso2carbon]
|
||||
|
||||
#AMQP / MQTT JKS store passwords
|
||||
transports.amqp.sslConnection.keyStore.password=[wso2carbon]
|
||||
transports.amqp.sslConnection.trustStore.password=[wso2carbon]
|
||||
transports.mqtt.sslConnection.keyStore.password=[wso2carbon]
|
||||
transports.mqtt.sslConnection.trustStore.password=[wso2carbon]
|
@ -0,0 +1,21 @@
|
||||
# Important: This properties file contains all the aliases to be used in carbon components. If any property need to be secured, you need to add alias name, file name and the xpath as follows:.
|
||||
# The value goes as, the <file_name>//<xpath>,<true/false>
|
||||
# where <file_name> - is the file (along with the file path) to be secured,
|
||||
# <xpath> - is the xpath to the property value to be secured
|
||||
# <true / false> - This is true if the last parameter in the xpath is parameter (starts with [ and ends with ]) and you want its value to be replaced with "password"
|
||||
|
||||
Carbon.Security.KeyStore.Password=conf/carbon.xml//Server/Security/KeyStore/Password,false
|
||||
Carbon.Security.KeyStore.KeyPassword=conf/carbon.xml//Server/Security/KeyStore/KeyPassword,false
|
||||
Carbon.Security.TrustStore.Password=conf/carbon.xml//Server/Security/TrustStore/Password,false
|
||||
UserManager.AdminUser.Password=conf/user-mgt.xml//UserManager/Realm/Configuration/AdminUser/Password,false
|
||||
Datasources.WSO2_CARBON_DB.Configuration.Password=conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_CARBON_DB']/definition[@type='RDBMS']/configuration/password,false
|
||||
Server.Service.Connector.keystorePass=conf/tomcat/catalina-server.xml//Server/Service/Connector[@keystorePass],true
|
||||
|
||||
# MB-Specific
|
||||
Datasources.WSO2_MB_STORE_DB.Configuration.Password=conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_MB_STORE_DB']/definition/configuration/password,false
|
||||
|
||||
#AMQP / MQTT JKS store passwords
|
||||
transports.amqp.sslConnection.keyStore.password=conf/broker.xml//broker/transports/amqp/sslConnection/keyStore/password,true
|
||||
transports.amqp.sslConnection.trustStore.password=conf/broker.xml//broker/transports/amqp/sslConnection/trustStore/password,true
|
||||
transports.mqtt.sslConnection.keyStore.password=conf/broker.xml//broker/transports/mqtt/sslConnection/keyStore/password,true
|
||||
transports.mqtt.sslConnection.trustStore.password=conf/broker.xml//broker/transports/mqtt/sslConnection/trustStore/password,true
|
@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
|
||||
"http://java.sun.com/dtd/web-app_2_3.dtd">
|
||||
<web-app id="WebApp">
|
||||
|
||||
<security-constraint>
|
||||
<display-name>Restrict access to carbon console</display-name>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>Restricted Console UI</web-resource-name>
|
||||
<url-pattern>/carbon/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
<auth-constraint/>
|
||||
</security-constraint>
|
||||
|
||||
<!-- OWASP CSRFGuard per-application configuration property file location-->
|
||||
<context-param>
|
||||
<param-name>Owasp.CsrfGuard.Config</param-name>
|
||||
<param-value>conf/security/Owasp.CsrfGuard.Carbon.properties</param-value>
|
||||
</context-param>
|
||||
|
||||
<servlet id="bridge">
|
||||
<servlet-name>bridgeservlet</servlet-name>
|
||||
<display-name>Carbon Bridge Servlet</display-name>
|
||||
<description>Carbon Bridge Servlet</description>
|
||||
<servlet-class>org.wso2.carbon.tomcat.ext.servlet.DelegationServlet</servlet-class>
|
||||
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<!-- OWASP CSRFGuard servlet that serves dynamic token injection JavaScript-->
|
||||
<servlet>
|
||||
<servlet-name>JavaScriptServlet</servlet-name>
|
||||
<servlet-class>org.owasp.csrfguard.servlet.JavaScriptServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>bridgeservlet</servlet-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!--
|
||||
This is required if your application bundles expose JSPs.
|
||||
-->
|
||||
<servlet-mapping>
|
||||
<servlet-name>bridgeservlet</servlet-name>
|
||||
<url-pattern>*.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>JavaScriptServlet</servlet-name>
|
||||
<url-pattern>/carbon/admin/js/csrfPrevention.js</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!--This is for performing the character encoding in the JSPs. -->
|
||||
<filter>
|
||||
<filter-name>CharsetFilter</filter-name>
|
||||
<filter-class>org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>requestEncoding</param-name>
|
||||
<param-value>UTF-8</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<!-- OWASP CSRFGuard filter used to validate CSRF token-->
|
||||
<filter>
|
||||
<filter-name>CSRFGuard</filter-name>
|
||||
<filter-class>org.owasp.csrfguard.CsrfGuardFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<!-- Tomcat http header security filter -->
|
||||
<filter>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>hstsEnabled</param-name>
|
||||
<param-value>false</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>HttpHeaderSecurityFilter</filter-name>
|
||||
<url-pattern>*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>CharsetFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>CSRFGuard</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- OWASP CSRFGuard context listener used to read CSRF configuration -->
|
||||
<listener>
|
||||
<listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- OWASP CSRFGuard session listener used to generate per-session CSRF token -->
|
||||
<listener>
|
||||
<listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<session-config>
|
||||
<session-timeout>15</session-timeout>
|
||||
<cookie-config>
|
||||
<secure>true</secure>
|
||||
</cookie-config>
|
||||
</session-config>
|
||||
|
||||
<!-- custom error pages -->
|
||||
<error-page>
|
||||
<error-code>400</error-code>
|
||||
<location>/carbon/errors/error_400.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>401</error-code>
|
||||
<location>/carbon/errors/error_401.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>403</error-code>
|
||||
<location>/carbon/errors/error_403.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>404</error-code>
|
||||
<location>/carbon/errors/error_404.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>405</error-code>
|
||||
<location>/carbon/errors/error_405.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>408</error-code>
|
||||
<location>/carbon/errors/error_408.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>410</error-code>
|
||||
<location>/carbon/errors/error_410.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>500</error-code>
|
||||
<location>/carbon/errors/error_500.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>502</error-code>
|
||||
<location>/carbon/errors/error_502.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>503</error-code>
|
||||
<location>/carbon/errors/error_503.html</location>
|
||||
</error-page>
|
||||
<error-page>
|
||||
<error-code>504</error-code>
|
||||
<location>/carbon/errors/error_504.html</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<location>/carbon/errors/error.html</location>
|
||||
</error-page>
|
||||
</web-app>
|
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!--
|
||||
~ Copyright 2005-2013 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<!--
|
||||
This file defines the different classloading environments. This is container level config file. Individual webapps are not allowed to override these elements.
|
||||
|
||||
${carbon.home} represents the carbon.home system property.
|
||||
Other system properties can be specified in a similar manner.
|
||||
-->
|
||||
<Classloading xmlns="http://wso2.org/projects/as/classloading-environments">
|
||||
|
||||
<!--
|
||||
We define three different environments.
|
||||
|
||||
1) Delegated environment - This is a virtual environment where all the resources belongs to these environments are loaded from the parent. This way you can control whats being loaded from the parent classloader. Only the packages and resources specified in the delegated environments are loaded from the parent. All the others are loaded from the local webapp's classpath. If a webapps has speficied two or more delegated environments, they all get merged at runtime.
|
||||
-->
|
||||
<DelegatedEnvironments>
|
||||
|
||||
<DelegatedEnvironment>
|
||||
<Name>Tomcat</Name>
|
||||
<DelegatedPackages>javax.annotation.*,javax.ejb,javax.el,javax.persistence,javax.servlet.*,javax.xml,javax.xml.ws,org.apache.catalina.*,org.apache.coyote.*,org.apache.el.*,org.apache.jasper.*,org.apache.naming.*,org.apache.tomcat.*,com.sun.el.*,org.wso2.carbon.tomcat.jndi.*</DelegatedPackages>
|
||||
<DelegatedResources>*,!META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin,!META-INF/openwebbeans/openwebbeans.properties,!META-INF/standard-faces-config.xml,!META-INF/faces-config.xml</DelegatedResources>
|
||||
</DelegatedEnvironment>
|
||||
|
||||
<DelegatedEnvironment>
|
||||
<Name>Carbon</Name>
|
||||
<DelegatedPackages>*,!org.springframework.*,!org.apache.solr.*</DelegatedPackages>
|
||||
<DelegatedResources>*,!META-INF/services/org.apache.webbeans.spi.plugins.OpenWebBeansPlugin,!META-INF/openwebbeans/openwebbeans.properties,!META-INF/standard-faces-config.xml,!META-INF/faces-config.xml</DelegatedResources>
|
||||
</DelegatedEnvironment>
|
||||
|
||||
<DelegatedEnvironment>
|
||||
<Name>Javaee</Name>
|
||||
<DelegatedPackages>*,!org.springframework.*</DelegatedPackages>
|
||||
<DelegatedResources>*</DelegatedResources>
|
||||
</DelegatedEnvironment>
|
||||
|
||||
|
||||
</DelegatedEnvironments>
|
||||
|
||||
|
||||
<!--
|
||||
2) Shared environment - These environments are loaded once and shared between multiple webapps. Certain runtimes can be shared by multiple webapps. So no need to load them per webapp.
|
||||
-->
|
||||
|
||||
<!--SharedEnvironments>
|
||||
<SharedEnvironment>
|
||||
<name>Spring</name>
|
||||
<Classpath></Classpath>
|
||||
</SharedEnvironment>
|
||||
</SharedEnvironments-->
|
||||
|
||||
<!--
|
||||
3) Exclusive environment - These environments are loaded per webapp. Exclusive environments define a set of resources(jars) which should be loaded per webapp. e.g. CXF runtime.
|
||||
-->
|
||||
<ExclusiveEnvironments>
|
||||
<ExclusiveEnvironment>
|
||||
<Name>CXF</Name>
|
||||
<Classpath>${carbon.home}/../wso2/lib/runtimes/cxf/*.jar;${carbon.home}/../wso2/lib/runtimes/cxf/</Classpath>
|
||||
</ExclusiveEnvironment>
|
||||
</ExclusiveEnvironments>
|
||||
|
||||
</Classloading>
|
After Width: | Height: | Size: 523 B |
After Width: | Height: | Size: 233 B |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,69 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head> <script type="text/javascript" src="../../carbon/googleanalytics/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../../carbon/googleanalytics/js/googleAnalyticsProcessor.js"></script>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||
<title>StratosLive</title>
|
||||
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
|
||||
<link rel="icon" href="images/favicon.ico" type="image/x-icon"/>
|
||||
<meta name="description" content="WSO2 is the lean enterprise middleware company, delivering the only complete open source enterprise SOA middleware stack available internally and in the cloud." />
|
||||
<meta name="keywords" content="cloud, platform-as-a-service, PaaS" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="main-content">
|
||||
<div id="header">
|
||||
<div class="logo"><img src="images/logo.gif"/></div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="intro">
|
||||
<div class="register">
|
||||
<a href="https://stratoslive.wso2.com/carbon/tenant-register/select_domain.jsp"><img src="images/register.gif"/></a>
|
||||
<a href="../carbon/sso-acs/redirect_ajaxprocessor.jsp"><img src="images/sign-in.gif"/></a>
|
||||
</div>
|
||||
<p>WSO2 MB brings Event Driven Architecture capabilities to WSO2 Carbon platform. It provides WS-Eventing, JMS and SQS interfaces to client. It uses Apache Qpid as the underling broker which supports AMQP.</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div class="features">
|
||||
<h2>Features</h2>
|
||||
<div class="feature feature-left">
|
||||
<img src="images/feature-01-icon.gif"/>
|
||||
<h2>Bring CEP to SOA</h2>
|
||||
<p>
|
||||
Bring CEP to SOA by processing XML events and produce results as XML events.
|
||||
</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<img src="images/feature-02-icon.gif"/>
|
||||
<h2>Registry Storage</h2>
|
||||
<p>
|
||||
Ability to define different event streams, queries and out put streams and store them in the registry as a bucket.
|
||||
</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<img src="images/feature-03-icon.gif"/>
|
||||
<h2>Esper and Fusion</h2>
|
||||
<p>
|
||||
Support Esper and fusion back end runtimes.
|
||||
</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div class="footer-links">
|
||||
<a href="http://www.wso2.com/cloud/services/terms-of-use" target="_blank">Terms of Service</a> | <a href="http://www.wso2.com/cloud/services/privacy-policy" target="_blank">Privacy Policy</a> | <a href="http://www.wso2.com/cloud/services/support" target="_blank">Support</a>
|
||||
</div>
|
||||
<div class="powered">
|
||||
<span>Powered by</span><img src="images/powered-logo.gif" alt="ESB"/>
|
||||
</div>
|
||||
<span class="copyright">©stratoslive.wso2.com copyright 2010-2011 WSO2, Inc. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -0,0 +1,46 @@
|
||||
body { font-family: "Calibri","Lucida Grande","Lucida Sans","Microsoft Sans Serif","Lucida Sans Unicode","Verdana","Sans-serif","trebuchet ms"; font-size: .85em; line-height: 135%; color: #434343; margin: 0px; padding: 0px; background-color: #94C8EC;}
|
||||
|
||||
p { }
|
||||
|
||||
td { }
|
||||
|
||||
a:link { text-decoration: none; }
|
||||
|
||||
a:visited { text-decoration: none; }
|
||||
|
||||
a:hover { text-decoration: none; }
|
||||
|
||||
a:active { text-decoration: none; }
|
||||
|
||||
a img { border: 0px; }
|
||||
div
|
||||
.clear { clear: both; }
|
||||
|
||||
div#main-content { width: 960px; margin: auto; background-image: url(images/top.gif); background-repeat: no-repeat; background-position: left top; }
|
||||
|
||||
div#header { height: 125px; }
|
||||
div.logo { float: left; margin-top: 35px; }
|
||||
div.sign-in { float: right; margin-top: 35px; }
|
||||
|
||||
div#content { background-color: #ffffff; background-image: url(images/content-bg.gif); background-repeat: repeat-y; background-position: left top; }
|
||||
|
||||
div.intro { padding: 35px; padding-top: 10px; padding-bottom: 20px; font-size: 125%; line-height: 130%; float: left; background-image: url(images/intro-bg.gif); background-position: left bottom; background-repeat: no-repeat; }
|
||||
div.intro p { margin-top: 0px; margin-bottom: 0px; }
|
||||
|
||||
div.register { float: right; margin-left: 40px; margin-top: 0px; margin-right: 0px; width: 400px; text-align: center;}
|
||||
div.register a img { margin-bottom: 7px; }
|
||||
div.register a:hover img { opacity:0.7;filter:alpha(opacity=70) }
|
||||
|
||||
div.features { margin-top: 20px; }
|
||||
div.features h2 { margin-top: 0px; margin-bottom: 0px; font-size: 24px; color: #003A63; margin-left: 35px; margin-right: 35px; border-bottom: solid 0px #79BDE8; padding-bottom: 10px; background-image: url(images/title-bg.gif); background-repeat: no-repeat; background-position: left bottom; }
|
||||
div.feature { float: left; width: 230px; margin-left: 30px; margin-top: 7px; padding: 20px; text-align: left; }
|
||||
div.feature img { float: left; margin-right: 10px; width: 64px; }
|
||||
div.feature h2 { margin-top: 0px; margin-bottom: 7px; color: #0499CC; font-size: 140%; line-height: 110%; font-weight: normal; border-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-bottom: 0px; background-image: none; }
|
||||
div.feature p { margin-top: 0px; padding-top: 0px; }
|
||||
div.feature-left { margin-left: 41px; }
|
||||
|
||||
div#footer { height: 80px; background-image: url(images/bottom.gif); background-position: left top; background-repeat: no-repeat; padding-top: 25px; }
|
||||
div#footer div.powered { color: #333333; float: right; font-size: 85%; margin-right: 10px; }
|
||||
div#footer div.powered span { float: left; line-height: 23px; margin-right: 5px; }
|
||||
div.footer-links { padding-bottom: 5px; padding-left: 10px; border-bottom: solid 1px #4E84C4; margin-bottom: 10px; color: #4E84C4; }
|
||||
div#footer span.copyright { font-size: 90%; padding-left: 10px; }
|