From b5af4176d2f2869ae41561da47b74bf5a905915f Mon Sep 17 00:00:00 2001 From: sinthuja Date: Mon, 13 Mar 2017 21:37:45 +0530 Subject: [PATCH] Adding broker related files, and fixing the startup errors in all three profiles. --- .../conf/tomcat/carbon/WEB-INF/web.xml | 177 +++++ .../webapp-classloading-environments.xml | 77 ++ modules/distribution/src/assembly/bin.xml | 304 +++++++- .../src/broker/bin/wso2server.bat | 194 +++++ .../distribution/src/broker/bin/wso2server.sh | 343 +++++++++ .../src/broker/conf/axis2/axis2.xml | 725 ++++++++++++++++++ .../distribution/src/broker/conf/broker.xml | 586 ++++++++++++++ .../distribution/src/broker/conf/carbon.xml | 677 ++++++++++++++++ .../conf/datasources/master-datasources.xml | 209 +++++ .../src/broker/conf/etc/launch.ini | 249 ++++++ .../src/broker/conf/hazelcast.properties | 2 + .../src/broker/conf/log4j.properties | 239 ++++++ .../broker/conf/messaging-event-broker.xml | 44 ++ .../distribution/src/broker/conf/metrics.xml | 103 +++ .../conf/security/cipher-text.properties | 18 + .../conf/security/cipher-tool.properties | 21 + .../broker/conf/tomcat/carbon/WEB-INF/web.xml | 177 +++++ .../webapp-classloading-environments.xml | 77 ++ .../resources/STRATOS_ROOT/images/bottom.gif | Bin 0 -> 523 bytes .../STRATOS_ROOT/images/content-bg.gif | Bin 0 -> 233 bytes .../resources/STRATOS_ROOT/images/favicon.ico | Bin 0 -> 17542 bytes .../STRATOS_ROOT/images/feature-01-icon.gif | Bin 0 -> 2063 bytes .../STRATOS_ROOT/images/feature-02-icon.gif | Bin 0 -> 2141 bytes .../STRATOS_ROOT/images/feature-03-icon.gif | Bin 0 -> 2649 bytes .../STRATOS_ROOT/images/intro-bg.gif | Bin 0 -> 3964 bytes .../resources/STRATOS_ROOT/images/logo.gif | Bin 0 -> 3931 bytes .../STRATOS_ROOT/images/powered-logo.gif | Bin 0 -> 1280 bytes .../STRATOS_ROOT/images/register.gif | Bin 0 -> 6859 bytes .../resources/STRATOS_ROOT/images/sign-in.gif | Bin 0 -> 3256 bytes .../STRATOS_ROOT/images/title-bg.gif | Bin 0 -> 1182 bytes .../resources/STRATOS_ROOT/images/top.gif | Bin 0 -> 16149 bytes .../broker/resources/STRATOS_ROOT/index.html | 69 ++ .../broker/resources/STRATOS_ROOT/style.css | 46 ++ pom.xml | 6 +- 34 files changed, 4339 insertions(+), 4 deletions(-) create mode 100644 modules/distribution/src/analytics/conf/tomcat/carbon/WEB-INF/web.xml create mode 100644 modules/distribution/src/analytics/conf/tomcat/webapp-classloading-environments.xml create mode 100644 modules/distribution/src/broker/bin/wso2server.bat create mode 100644 modules/distribution/src/broker/bin/wso2server.sh create mode 100644 modules/distribution/src/broker/conf/axis2/axis2.xml create mode 100755 modules/distribution/src/broker/conf/broker.xml create mode 100755 modules/distribution/src/broker/conf/carbon.xml create mode 100644 modules/distribution/src/broker/conf/datasources/master-datasources.xml create mode 100644 modules/distribution/src/broker/conf/etc/launch.ini create mode 100644 modules/distribution/src/broker/conf/hazelcast.properties create mode 100644 modules/distribution/src/broker/conf/log4j.properties create mode 100644 modules/distribution/src/broker/conf/messaging-event-broker.xml create mode 100644 modules/distribution/src/broker/conf/metrics.xml create mode 100644 modules/distribution/src/broker/conf/security/cipher-text.properties create mode 100644 modules/distribution/src/broker/conf/security/cipher-tool.properties create mode 100644 modules/distribution/src/broker/conf/tomcat/carbon/WEB-INF/web.xml create mode 100644 modules/distribution/src/broker/conf/tomcat/webapp-classloading-environments.xml create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/bottom.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/content-bg.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/favicon.ico create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/feature-01-icon.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/feature-02-icon.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/feature-03-icon.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/intro-bg.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/logo.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/powered-logo.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/register.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/sign-in.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/title-bg.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/images/top.gif create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/index.html create mode 100644 modules/distribution/src/broker/resources/STRATOS_ROOT/style.css diff --git a/modules/distribution/src/analytics/conf/tomcat/carbon/WEB-INF/web.xml b/modules/distribution/src/analytics/conf/tomcat/carbon/WEB-INF/web.xml new file mode 100644 index 00000000..ea3db45a --- /dev/null +++ b/modules/distribution/src/analytics/conf/tomcat/carbon/WEB-INF/web.xml @@ -0,0 +1,177 @@ + + + + + + + Restrict access to carbon console + + Restricted Console UI + /carbon/* + + + + + + + Owasp.CsrfGuard.Config + conf/security/Owasp.CsrfGuard.Carbon.properties + + + + bridgeservlet + Carbon Bridge Servlet + Carbon Bridge Servlet + org.wso2.carbon.tomcat.ext.servlet.DelegationServlet + + 1 + + + + + JavaScriptServlet + org.owasp.csrfguard.servlet.JavaScriptServlet + + + + bridgeservlet + /* + + + + bridgeservlet + *.jsp + + + + JavaScriptServlet + /carbon/admin/js/csrfPrevention.js + + + + + CharsetFilter + org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter + + requestEncoding + UTF-8 + + + + + + CSRFGuard + org.owasp.csrfguard.CsrfGuardFilter + + + + + HttpHeaderSecurityFilter + org.apache.catalina.filters.HttpHeaderSecurityFilter + + hstsEnabled + false + + + + + HttpHeaderSecurityFilter + * + + + + CharsetFilter + /* + + + + CSRFGuard + /* + + + + + org.owasp.csrfguard.CsrfGuardServletContextListener + + + + + org.owasp.csrfguard.CsrfGuardHttpSessionListener + + + + 15 + + true + + + + + + 400 + /carbon/errors/error_400.html + + + 401 + /carbon/errors/error_401.html + + + 403 + /carbon/errors/error_403.html + + + 404 + /carbon/errors/error_404.html + + + 405 + /carbon/errors/error_405.html + + + 408 + /carbon/errors/error_408.html + + + 410 + /carbon/errors/error_410.html + + + 500 + /carbon/errors/error_500.html + + + 502 + /carbon/errors/error_502.html + + + 503 + /carbon/errors/error_503.html + + + 504 + /carbon/errors/error_504.html + + + + /carbon/errors/error.html + + diff --git a/modules/distribution/src/analytics/conf/tomcat/webapp-classloading-environments.xml b/modules/distribution/src/analytics/conf/tomcat/webapp-classloading-environments.xml new file mode 100644 index 00000000..a1f5db56 --- /dev/null +++ b/modules/distribution/src/analytics/conf/tomcat/webapp-classloading-environments.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + Tomcat + 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.* + *,!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 + + + + Carbon + *,!org.springframework.*,!org.apache.solr.* + *,!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 + + + + Javaee + *,!org.springframework.* + * + + + + + + + + + + + + + + CXF + ${carbon.home}/../lib/runtimes/cxf/*.jar;${carbon.home}/../lib/runtimes/cxf/ + + + + diff --git a/modules/distribution/src/assembly/bin.xml b/modules/distribution/src/assembly/bin.xml index acb36603..c3259819 100755 --- a/modules/distribution/src/assembly/bin.xml +++ b/modules/distribution/src/assembly/bin.xml @@ -648,6 +648,9 @@ **/log4j.properties **/jndi.properties **/registry.xml + **/webapp-classloading-environments.xml + **/tomcat/carbon/WEB-INF/web.xml + **/spark-udf-config.xml @@ -749,7 +752,7 @@ ../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/deployment/server/webapps - ${pom.artifactId}-${pom.version}/repository/deployment/server/webapps + ${pom.artifactId}-${pom.version}/wso2/analytics/repository/deployment/server/webapps @@ -821,6 +824,136 @@ + + + + target/wso2carbon-core-${carbon.kernel.version} + ${pom.artifactId}-${pom.version}/wso2/broker + + **/*.sh + **/repository/conf/** + **/repository/components/** + **/repository/database/** + **/wso2/components/** + **/wso2 + **/lib/** + **/bin/** + **/services/sample01.aar + **/repository/services/version/** + **/version.txt + **/wso2carbon-version.txt + **/wso2server.bat + **/README.txt + **/LICENSE.txt + **/release-notes.html + + + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf + + ${pom.artifactId}-${pom.version}/wso2/broker/conf + + **/axis2.xml + **/broker.xml + **/carbon.xml + **/cipher-text.properties + **/cipher-tool.properties + **/hazelcast.properties + **/master-datasources.xml + **/messaging-event-broker.xml + **/metrics.xml + **/web.xml + **/launch.ini + **/log4j.properties + **/webapp-mode/WEB-INF/web.xml + **/webapp-classloading-environments.xml + + + + + + src/broker/conf/security + + ${pom.artifactId}-${pom.version}/wso2/broker/conf/security + + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/database + + ${pom.artifactId}-${pom.version}/wso2/broker/repository/database + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/lib + ${pom.artifactId}-${pom.version}/wso2/lib + + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/bin + + ${pom.artifactId}-${pom.version}/wso2/broker/bin + + **/wso2server.sh + **/wso2server.bat + + + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/deployment/server/webapps + + ${pom.artifactId}-${pom.version}/wso2/borker/repository/deployment/server/webapps + + + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/modules + + ${pom.artifactId}-${pom.version}/wso2/broker/modules + + **/* + + + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/resources + + ${pom.artifactId}-${pom.version}/wso2/broker/resources + + + + + src/broker/resources/STRATOS_ROOT + + ${pom.artifactId}-${pom.version}/wso2/broker/repository/deployment/server/webapps/STRATOS_ROOT + + 644 + 775 + + + + ../p2-profile/broker-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/components + + ${pom.artifactId}-${pom.version}/wso2/components + + **/eclipse.ini + **/*.lock + **/.data + **/.settings + features/** + **/org.wso2.carbon.feature.mgt.ui* + **/lib + **/json_2.0.0.wso2v1.jar + **/nimbus-jose-jwt_2.26.1.wso2v2.jar + + + @@ -838,6 +971,32 @@ org.apache.rampart:rampart:mar + + ${pom.artifactId}-${pom.version}/wso2/broker/repository/deployment/client/modules + + + org.apache.rampart:rampart:mar + + + + ${pom.artifactId}-${pom.version}/wso2/broker/client-lib + + org.wso2.andes.wso2:andes-client:jar + org.apache.geronimo.specs.wso2:geronimo-jms_1.1_spec:jar + org.wso2.carbon:org.wso2.carbon.event.client.stub:jar + org.wso2.carbon:org.wso2.carbon.event.client:jar + slf4j.wso2:slf4j:jar + log4j:log4j:jar + org.wso2.securevault:org.wso2.securevault:jar + org.wso2.carbon:org.wso2.carbon.logging:jar + + + + wso2iot-broker-${pom.version}/repository/lib + + jline:jline:jar + + @@ -1402,6 +1561,16 @@ 644 + + src/analytics/conf/tomcat/webapp-classloading-environments.xml + ${pom.artifactId}-${pom.version}/wso2/analytics/conf/tomcat + + + + src/analytics/conf/tomcat/carbon/WEB-INF/web.xml + ${pom.artifactId}-${pom.version}/wso2/analytics/conf/tomcat/carbon/WEB-INF + + @@ -1500,5 +1669,138 @@ 644 + + + + target/wso2carbon-core-${carbon.kernel.version}/bin/README.txt + ${pom.artifactId}-${pom.version}/wso2/broker/bin/ + true + 644 + + + target/wso2carbon-core-${carbon.kernel.version}/bin/version.txt + ${pom.artifactId}-${pom.version}/wso2/broker/bin/ + true + 644 + + + src/broker/conf/carbon.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf/ + true + + + target/wso2carbon-core-${carbon.kernel.version}/repository/conf/README + ${pom.artifactId}-${pom.version}/wso2/broker/conf/ + true + 644 + + + target/wso2carbon-core-${carbon.kernel.version}/repository/README.txt + ${pom.artifactId}-${pom.version}/wso2/broker/repository/ + true + 644 + + + target/wso2carbon-core-${carbon.kernel.version}/repository/database/README.txt + ${pom.artifactId}-${pom.version}/wso2/broker/repository/database/ + true + 644 + + + target/wso2carbon-core-${carbon.kernel.version}/repository/deployment/README.txt + ${pom.artifactId}-${pom.version}/wso2/broker/repository/deployment/ + true + 644 + + + target/wso2carbon-core-${carbon.kernel.version}/repository/logs/README.txt + ${pom.artifactId}-${pom.version}/wso2/broker/repository/logs/ + true + 644 + + + target/wso2carbon-core-${carbon.kernel.version}/repository/resources/README.txt + ${pom.artifactId}-${pom.version}/wso2/broker/repository/resources/ + true + 644 + + + + src/broker/conf/log4j.properties + ${pom.artifactId}-${pom.version}/wso2/broker/conf/ + 644 + + + + src/broker/conf/etc/launch.ini + ${pom.artifactId}-${pom.version}/wso2/broker/conf/etc + 644 + + + + src/broker/conf/axis2/axis2.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf/axis2 + 644 + + + + src/broker/conf/tomcat/carbon/WEB-INF/web.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf/tomcat/carbon/WEB-INF + + 644 + + + + src/broker/conf/tomcat/webapp-classloading-environments.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf/tomcat/webapp-classloading-environments.xml + + 644 + + + + src/broker/conf/broker.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf + 644 + + + + src/broker/conf/hazelcast.properties + ${pom.artifactId}-${pom.version}/wso2/broker/conf + 644 + + + + src/broker/conf/datasources/master-datasources.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf/datasources + 644 + + + + src/broker/conf/messaging-event-broker.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf + 644 + + + + src/broker/conf/metrics.xml + ${pom.artifactId}-${pom.version}/wso2/broker/conf + 644 + + + + src/broker/bin/wso2server.sh + ${pom.artifactId}-${pom.version}/wso2/broker/bin/ + true + 755 + + + + src/broker/bin/wso2server.bat + ${pom.artifactId}-${pom.version}/wso2/broker/bin/ + + true + 644 + + diff --git a/modules/distribution/src/broker/bin/wso2server.bat b/modules/distribution/src/broker/bin/wso2server.bat new file mode 100644 index 00000000..31490504 --- /dev/null +++ b/modules/distribution/src/broker/bin/wso2server.bat @@ -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 diff --git a/modules/distribution/src/broker/bin/wso2server.sh b/modules/distribution/src/broker/bin/wso2server.sh new file mode 100644 index 00000000..729bc04f --- /dev/null +++ b/modules/distribution/src/broker/bin/wso2server.sh @@ -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 diff --git a/modules/distribution/src/broker/conf/axis2/axis2.xml b/modules/distribution/src/broker/conf/axis2/axis2.xml new file mode 100644 index 00000000..6d7d1067 --- /dev/null +++ b/modules/distribution/src/broker/conf/axis2/axis2.xml @@ -0,0 +1,725 @@ + + + + + + + + + + + + + ${hotdeployment} + ${hotupdate} + optional + true + work/mtom + 4000 + + ${childfirstCL} + + + true + + + true + + + + false + + inmemory + + + + + + + services + + + axis2services + + + axis2modules + + + WSO2 Message Broker-3.0.0 + + + WSO2 Message Broker-3.0.0 + + + + + + + false + + + + + + false + + + true + + + + ./repository/deployment/server/synapse-configs + + + + . + + + . + + + WSO2 Carbon Server + + + + + + + ${jaxwsparam} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 9763 + + + + + + + + + + + + 9443 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HTTP/1.1 + chunked + + true + + + HTTP/1.1 + chunked + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + multicast + + + + + wso2.carbon.domain + + + + + + 45564 + + 100 + + 60 + + + + + + 127.0.0.1 + + + + + + 4000 + + + + + + + + + + + + + + org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.TreeSetLongWrapperSerializer + org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.TreeSetSlotWrapperSerializer + org.wso2.andes.server.cluster.coordination.hazelcast.custom.serializer.HashMapStringTreeSetWrapperSerializer + + + + + + 127.0.0.1 + 4000 + + + + + + + + + diff --git a/modules/distribution/src/broker/conf/broker.xml b/modules/distribution/src/broker/conf/broker.xml new file mode 100755 index 00000000..9e525b7b --- /dev/null +++ b/modules/distribution/src/broker/conf/broker.xml @@ -0,0 +1,586 @@ + + + + + + + + + default + + localhost + 7611 + 0 + + 5 + + 10 + + + + + 5000 + + + 3000 + + + 4000 + + + + + + + 1000 + + + + + + + + 0.0.0.0 + + + + + + repository/resources/security/wso2carbon.jks + wso2carbon + SunX509 + + + repository/resources/security/client-truststore.jks + wso2carbon + SunX509 + + + + 10 + false + true + + + + + 0.0.0.0 + + + + + + repository/resources/security/wso2carbon.jks + wso2carbon + SunX509 + + + repository/resources/security/client-truststore.jks + wso2carbon + SunX509 + + + + + 32768 + + + 32768 + + + + + REQUIRED + + + + https://localhost:9443/services/OAuth2TokenValidationService + admin + admin + 10 + 150 + + + + REQUIRED + + + + + + + /permission/device-mgt/user/groups/device_events + + /permission/device-mgt/user/groups/device_operation + + admin + admin + https://localhost:8243 + + 100 + https://localhost:8243 + + + + + + + + + + + + + + + WSO2MBStoreDB + 08 + 23,27,44 + 21,22 + 40 + + + + WSO2MBStoreDB + 08 + 23,27,44 + 21,22 + 40 + + + + + 256 + + 4 + + 2 + + + strong + + + false + + + + org.wso2.andes.server.cluster.coordination.TimeStampBasedMessageIdGenerator + + + 10 + + + + + + + 10000000 + + + + + + + + 2000 + + + 1000 + + + 1000 + + + 5 + + + + + + 1000 + + + 4096 + + + 5 + + + 5 + + + 5 + + + 65000 + + + + 100 + + 120 + + + + + DISCARD_NONE + + 60 + + + + + + 1 + + + 100 + + + 1000 + + + + + + 3 + + + 65500 + + + false + + + 1000 + + + + + + 1 + + + 65536 + + + 70 + + + 180 + + + 1 + + + + + + 10 + + + 900 + + + 3 + + + + + + + + 100 + + + 100000 + + + false + + + + + + + + 800 + 8000 + + + + + 100 + 1000 + + + + + + RDBMS + + + + + + 5 + + + 900 + + + + + + 1 + + + + + + + default + + + diff --git a/modules/distribution/src/broker/conf/carbon.xml b/modules/distribution/src/broker/conf/carbon.xml new file mode 100755 index 00000000..ef7a7bfb --- /dev/null +++ b/modules/distribution/src/broker/conf/carbon.xml @@ -0,0 +1,677 @@ + + + + + + + + WSO2 Message Broker + + + MB + + + 3.2.0 + + + + + + + + + local:/${carbon.context}/services/ + + + + + + + MessageBroker + + + + + + + org.wso2.carbon + + + / + + + + + + + + + 15 + + + + + + + + + 3 + + + + + 9999 + + 11111 + + + + + + 10389 + + 8000 + + + + + + 10500 + + + + + + + + + org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory + + + + + + + + + java + + + + + + + + + + false + + + false + + + 600 + + + + false + + + + + + + + 30 + + + + + + + + + 15 + + + + + + ${carbon.home}/repository/deployment/server/ + + + 15 + + + ${carbon.home}/conf/axis2/axis2.xml + + + 30000 + + + ${carbon.home}/repository/deployment/client/ + + ${carbon.home}/conf/axis2/axis2_client.xml + + true + + + + + + + + + + admin + Default Administrator Role + + + user + Default User Role + + + + + + + + + + + + ${carbon.home}/repository/resources/security/wso2carbon.jks + + JKS + + wso2carbon + + wso2carbon + + wso2carbon + + + + + + ${carbon.home}/repository/resources/security/client-truststore.jks + + JKS + + wso2carbon + + + + + + + + + + + + + + + + + + + UserManager + + + false + + + + + + true + allow + + + + + + + + ${carbon.home}/tmp/work + + + + + + true + + + 10 + + + 30 + + + + + + 100 + + + + keystore + certificate + * + + org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor + + + + + jarZip + + org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor + + + + dbs + + org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor + + + + tools + + org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor + + + + toolsAny + + org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor + + + + + + + + + + info + org.wso2.carbon.core.transports.util.InfoProcessor + + + wsdl + org.wso2.carbon.core.transports.util.Wsdl11Processor + + + wsdl2 + org.wso2.carbon.core.transports.util.Wsdl20Processor + + + xsd + org.wso2.carbon.core.transports.util.XsdProcessor + + + + + + false + false + true + svn + http://svnrepo.example.com/repos/ + username + password + true + + + + + + + + + + + + + + + ${require.carbon.servlet} + + + + + true + + + + + + + default repository + http://product-dist.wso2.com/p2/carbon/releases/wilkes/ + + + + + + + + true + + + + + + true + + diff --git a/modules/distribution/src/broker/conf/datasources/master-datasources.xml b/modules/distribution/src/broker/conf/datasources/master-datasources.xml new file mode 100644 index 00000000..c36b7eb4 --- /dev/null +++ b/modules/distribution/src/broker/conf/datasources/master-datasources.xml @@ -0,0 +1,209 @@ + + + + org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader + + + + + + + + + WSO2_CARBON_DB + The datasource used for registry and user manager + + jdbc/WSO2CarbonDB + + + + jdbc:h2:../../repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=9095 + wso2carbon + wso2carbon + org.h2.Driver + 50 + 60000 + true + SELECT 1 + 30000 + + + + + + + + WSO2_MB_STORE_DB + The datasource used for message broker database + + WSO2MBStoreDB + + + + jdbc:h2:repository/database/WSO2MB_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000 + wso2carbon + wso2carbon + org.h2.Driver + 50 + 60000 + true + SELECT 1 + 30000 + false + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/distribution/src/broker/conf/etc/launch.ini b/modules/distribution/src/broker/conf/etc/launch.ini new file mode 100644 index 00000000..5b98245b --- /dev/null +++ b/modules/distribution/src/broker/conf/etc/launch.ini @@ -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 diff --git a/modules/distribution/src/broker/conf/hazelcast.properties b/modules/distribution/src/broker/conf/hazelcast.properties new file mode 100644 index 00000000..e0dbc500 --- /dev/null +++ b/modules/distribution/src/broker/conf/hazelcast.properties @@ -0,0 +1,2 @@ +hazelcast.max.no.heartbeat.seconds=600 +hazelcast.shutdownhook.enabled=false \ No newline at end of file diff --git a/modules/distribution/src/broker/conf/log4j.properties b/modules/distribution/src/broker/conf/log4j.properties new file mode 100644 index 00000000..f078312c --- /dev/null +++ b/modules/distribution/src/broker/conf/log4j.properties @@ -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 diff --git a/modules/distribution/src/broker/conf/messaging-event-broker.xml b/modules/distribution/src/broker/conf/messaging-event-broker.xml new file mode 100644 index 00000000..6bc2cc3c --- /dev/null +++ b/modules/distribution/src/broker/conf/messaging-event-broker.xml @@ -0,0 +1,44 @@ + + + + + + + event/topics + + + + event/topics + event/topicIndex + + + + + + + + + 5 + 50 + 1000 + 1000 + + + diff --git a/modules/distribution/src/broker/conf/metrics.xml b/modules/distribution/src/broker/conf/metrics.xml new file mode 100644 index 00000000..68cbaaf3 --- /dev/null +++ b/modules/distribution/src/broker/conf/metrics.xml @@ -0,0 +1,103 @@ + + + + + + + true + + + + + true + + + false + + 60 + + + false + ${carbon.home}/repository/logs/metrics/ + + 60 + + + true + + + + jdbc/WSO2MetricsDB + + 60 + + + true + + 86400 + + 7 + + + + false + + + + 60 + + thrift + + tcp://localhost:7612 + + + admin + admin + + conf/data-bridge/data-agent-config.xml + + + diff --git a/modules/distribution/src/broker/conf/security/cipher-text.properties b/modules/distribution/src/broker/conf/security/cipher-text.properties new file mode 100644 index 00000000..6c2023d2 --- /dev/null +++ b/modules/distribution/src/broker/conf/security/cipher-text.properties @@ -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] \ No newline at end of file diff --git a/modules/distribution/src/broker/conf/security/cipher-tool.properties b/modules/distribution/src/broker/conf/security/cipher-tool.properties new file mode 100644 index 00000000..ee054cea --- /dev/null +++ b/modules/distribution/src/broker/conf/security/cipher-tool.properties @@ -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 //, +# where - is the file (along with the file path) to be secured, +# - is the xpath to the property value to be secured +# - 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 \ No newline at end of file diff --git a/modules/distribution/src/broker/conf/tomcat/carbon/WEB-INF/web.xml b/modules/distribution/src/broker/conf/tomcat/carbon/WEB-INF/web.xml new file mode 100644 index 00000000..ea3db45a --- /dev/null +++ b/modules/distribution/src/broker/conf/tomcat/carbon/WEB-INF/web.xml @@ -0,0 +1,177 @@ + + + + + + + Restrict access to carbon console + + Restricted Console UI + /carbon/* + + + + + + + Owasp.CsrfGuard.Config + conf/security/Owasp.CsrfGuard.Carbon.properties + + + + bridgeservlet + Carbon Bridge Servlet + Carbon Bridge Servlet + org.wso2.carbon.tomcat.ext.servlet.DelegationServlet + + 1 + + + + + JavaScriptServlet + org.owasp.csrfguard.servlet.JavaScriptServlet + + + + bridgeservlet + /* + + + + bridgeservlet + *.jsp + + + + JavaScriptServlet + /carbon/admin/js/csrfPrevention.js + + + + + CharsetFilter + org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter + + requestEncoding + UTF-8 + + + + + + CSRFGuard + org.owasp.csrfguard.CsrfGuardFilter + + + + + HttpHeaderSecurityFilter + org.apache.catalina.filters.HttpHeaderSecurityFilter + + hstsEnabled + false + + + + + HttpHeaderSecurityFilter + * + + + + CharsetFilter + /* + + + + CSRFGuard + /* + + + + + org.owasp.csrfguard.CsrfGuardServletContextListener + + + + + org.owasp.csrfguard.CsrfGuardHttpSessionListener + + + + 15 + + true + + + + + + 400 + /carbon/errors/error_400.html + + + 401 + /carbon/errors/error_401.html + + + 403 + /carbon/errors/error_403.html + + + 404 + /carbon/errors/error_404.html + + + 405 + /carbon/errors/error_405.html + + + 408 + /carbon/errors/error_408.html + + + 410 + /carbon/errors/error_410.html + + + 500 + /carbon/errors/error_500.html + + + 502 + /carbon/errors/error_502.html + + + 503 + /carbon/errors/error_503.html + + + 504 + /carbon/errors/error_504.html + + + + /carbon/errors/error.html + + diff --git a/modules/distribution/src/broker/conf/tomcat/webapp-classloading-environments.xml b/modules/distribution/src/broker/conf/tomcat/webapp-classloading-environments.xml new file mode 100644 index 00000000..02e2e057 --- /dev/null +++ b/modules/distribution/src/broker/conf/tomcat/webapp-classloading-environments.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + Tomcat + 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.* + *,!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 + + + + Carbon + *,!org.springframework.*,!org.apache.solr.* + *,!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 + + + + Javaee + *,!org.springframework.* + * + + + + + + + + + + + + + + CXF + ${carbon.home}/../wso2/lib/runtimes/cxf/*.jar;${carbon.home}/../wso2/lib/runtimes/cxf/ + + + + diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/bottom.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..56792668e8ad466b1fc4eec64f5c5e1723495010 GIT binary patch literal 523 zcmV+m0`&byNk%w1VZZ|q0K@GS*9>-qTm z{h`nAsMGN8_WZ8a@$vZl?DhQk`~Kwd`q1b1_4@tR>iFI6`L)^d)9Co>^!oq+00000 z000000000000000A^8LV00000EC2ui0Kfwe06+!*ARq(@V4i5Iu59bRa4gSsZQppV z?|kq7z@TtQEERNwTELlPH^rJea_M0PIFU7jnX{+Q zpFo2O9g1To04WiODqYI7sne&&>P!Jp0f4tSP_t^?%C)Q4ArY`305D;I1OVi+2>8mj zt=qS7g$lqRr2zm7y)Kw&fW?;IzkmY^9!$8f;lqd%D_+dFvExn!>;h=%a>3cSm@{kM N%z2rGjlDtu06W&(7hC`U literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/content-bg.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/content-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d0a5795fb5dbff8dea7f542d5f70d611e58fcd1 GIT binary patch literal 233 zcmV7q-rSG?7T(|c{`YP^Co{WucIM2PGiOd)jmAUsjHYHy4N6(F zIYgsrrO{|)x#YgGMsp9(e0*H@vtH0>-c8VGD&sk~AMuPvBQ@1%!toBe&#fA@wQR_|F!3al*Y^g7@j z4jiITMsfKR^)R#z0K9^CJ^ptXm491qG1)_Ikz7HJYWkcU{koSN1BhYxPZ>R`M?&}|A}3+g*i?nAjBr3(L|{wdllMf)*;7N}Q2S>frihFoYe z)>Dpa?G;dyEK6!kM`n+xcJKC~#Ge_H(IR+$xKU2rAPHb4#th?ga~1MnOz$90$`cYbe= zJm|pB^2i^r>c*bCtDA87o;=~=J$dY@Tk_Cj=jA?Izm=n!Kft>x?mUmD1Pj`)1B?WO z0bc&M_=k6z-4-1f&sX=>q<#o!Sg58kKj4uUlV0jz(4Ne zTD|6b1lMf&q7J+w1%OXtT4l=p_Z*c{iw#nyU6C_@XR1NLy^zz5*Ax*g_0cHXQ0(h^+1EOU~ z51Fg4fw~M}dG_4j@lWl3%RIv4TfeCFsiu_zqdLfM{pU+!X!J;yTIW&Y#ky zTgX4vKp%Z?r*pTQ6rIcTFV8#7OH6;pYr#RQ3+2D~fBn9o!edqn$uz3`#k?i+{-1D} zAj?Sh^ELwa)qqSuYgq~mki+Z!D|sK-q2L+F#p;s2Mk{&jnIEML8}qM{w})|3#LWjn zw47%mf9y?N8Uy3~upR*ZdH+in{YA;e(P55=w1+>E&_)5WXf4gUclJdNC-c@Beap*+I85_%sK=4IihJn63?_iRtSISlk z1!Wm10(=yeYXER*q=+0m1ML6B)%L~%L7)EWpkHq|>GU5?x_npA9fKgJP~2UWme}*4 zgG)~FIU#s78*~zuN6C;qjd%`nSi%!^pO7Af9{Tupujm4#1l{-xCj&Fhz|lyd zpmBJ%L7WHQyXdEgmEhg*Y@>+HGl=NSd&s?z`Ki%tyA0Q-h{jZDCUl3UH*zT#TD<6c!r~<&q~~UT{#%G^409(F|sz1k6y3Snr6H5^@i>PjaLWu=VN}Ov4SSj%x3pJW+p|iJD^wCnGQJXEQ zyoy0z(daWW+dyGcjTDrDeGeH1c}uTOET&uFHNJQ*a+*PvWpXCY$$oorzWH9n`Bi{9 z3;+*B%lepd`yguY#~wimonDe-TXl@gF+GUMGbwT4iTIf&il1o|-Ikl(2#K$kwin+n zO`?n`LBZ)Y(n9pj1CcIa8pJTs@>3c20 zsbD`tCh^5i@v}?rUuzR?M79yEX>*M`0_Tb&RbIjmjlV~>22w7pKrUfR*bC*297~%fYOx?gsrwVGbd%rz^VgkL|h0BedzzfW!j3qY-G-biPrvTxb?;7F(zV#yxh{ zg+E3V#@pw`(b@HATYvD(AeDz`H~424=EJn#Su&R$Lm%Ql?=w5Eqj>uRi(vhO@m42S zg7l;H&Hu#WB&zAHTfO|F|0rKcIFj1*aSF`uh#w`{)Ri1eR z`=8}@*JWnvxymB0|LHpK%dYXQVjSxR^H$1?QicDydDj@c*(`x-igYyW20gw*F_w~ccP^q&v>TjLy) z0PxhguK2$1Hg3JdDO9?@XA#|3m_?6ORvLpfziWIPf3r;y3qH4r(VML_Zi`Kf-C`Fb zKXB5bBG);j;>XO5i|dS^yI!_*^Z#9(b+h)_1kP#Fr@Qn)RsLi;gw%1dkl9{?9R^^% zv=>VDBbCaa+I^NJCcWnr9l$ePSD2~SN-OnVZK13kb~0EV*H=I*TKgY6jsM6_lRvRj zG5~X+_rGMB@-&x12cRQ$S#HKzub%f52E9eq$65YBpOc$UEV0po9Kd}ofPD}V02Tkl zLCZYiI%b4+SnhOoTW+CVtIVSB8nfuX#zONxvk5D7PR7VZK{q`W@#*hQF=d;L(zaVg z`VOm@ggL-QQ2F4|_T}GId4;~e><~lNT0|mbbS<2d@i;SM@>mBn3VjCFARV@K@^zu= zqFNo(pKY5$;N1fy+ra8M+;GSWPo1Q%)Ooqh)MKTM`W9Mg(EEUOHYz+0-2{J6x_-PW zD08QcvUb@ibGMyRx7%pnFD{w?r1tJ-X1hX5zpzo8MP`<(kkMvJ#94_mQ`J{krwwLZ zJi|)z$nPNgb%g!O{uZ|57Xe-eXaOq!x6Aw9BcfKz7rQLF{X_3U8x45hDu%4Hh@tDP zv{lvRpG1EF8&`NerpV}!O`z~+4O=RtI(AO9FtayCB zj6Xj=_`8#OuC$0ZvA?=NP9#CrwF3T4fIsUPwSj*u^rVPvv(TsAA)Opn*2i)V_)h}< zVbDWga?2hrYc}m&A+F`1q(Pg=Ic$TCMsBiUKU(SAODgNTm;SMGagm*79dOX>&m5Gq z*N(IEuiNvP`@iey@^WE@GcH*;g(pEd2y~%WQ?OCQFUpxs{sfevV zI;jA1wBV3UU5j(KpWL3`xOB%USeE?(8~PB=w4Em%;`86_ET7rt7m0IBtT$5J42y`E za8k&@ajLHiG-qF&6XhmAd*ELU^e>g2?saIZi2|NCY(+B6R)% zEOWp=D*nYNvjFvB%U47!p;Ui%yoxm&QS^Pu*oB#}jPTvP^XTwv(0} zbJB|AybgA{XL_=%;&&c^_S5&-=whjTQ?@4}_=hNZx{V_H6tX|dEpyzwa{_D76A%gf zAEQ0bVZe+-9+A-rUfr_yXH48ql#a9O(L$2S`9*mSi$VJ~pgZJd z$YZp3uK|}~k+r=?tiHM}Wrveew%L@7oi?%KCnuc;Z(HrI^;U5NQbwynAD?iDm0vo= z(!&mVV16?GE<6>n?-x7uE40E7XQP|Yp&s%Qi7QvGh!8#e((q3MSGUY$9%9*`8yUNt>iLv~@uux_(E6|KbmW|%`(~AX@P!b4b;(J` z@a(7SPO>}yntym5SU$bA!AiZLn@oUwJ9OIRYq@mc0yS&eg8Y10-js_Cz;03fx%E)` z07`YXvN%6lZ`FB-*XskOb3AHZkX*ogg>G=I>;k|*aP4)M!>1-ba^;atk@7v^^G3r+dND*CLpLN~XHMx!icDJ{j2)hv$j>xVh(Kw=60RB*ZJSveNM{X>!6u@ULABm-T)3cXfDb* zxaW15f5=YTPde$s9n8hy;xVRw*=y~W4r1N>%~f`)-8qA_zP^w04BwvvOa#;gc!U1` z%76RlT!v(C^la8~s8`)q{TfW#cx`+BL4v;EAn=hgt7I)^Lr0wnzM8S$fjwdqkh>xk zy3j(LX}f;1i;I|x+xNxuV80x62jK5eTIZjlpzs9Vv+)0y#*D6^KCT4!>L|S)#p`MB z+xD6KOn6is@4>S_&CJ3bp&Mv#aIYs|{KuWJdC+rM|<@LPZ4+Tdx*aG~S*O~6WqD%%Pxaj`(ah9i@M?{S} zUNH%+^u5wH&Pv~U|NFeph;sJ}=sph0-h(p_dNkvnfwN=EHrO@LLB@P&Bi2d!uXRxW z^+ee_EqA-*79EUhpYoRPYgI!6eEmX!{{fwZxUi&e0YIEc&vY;6XM0*)pVWTT{34IO zY3n>Y4$Jq7h^`m(dY_Drx-^njDX+PxI+Rb_d=!2tuby~S{U{GX5oi6zQ zh~J-t^Ittn`{1%iVyoU25}I~-wr0InF9zyEE4S*G8{U5O(gy8DFKhh9$YqUN4w)BU zvq=xX>aSF+_}WX)y&M%?>y^Y7U0UHqtOk!dxXZdd@339SGYaR^NEGO zdyHTCi${;iYdm{SE-W{GzbPv``cGNq(RWIrXRqYto^R!E_k8=EedXFb%~(%r>ym96 zb~xo|DygMLgB?$V)?8XqVm0YfNm*1C||f;F4bPVj6RvmJDbLD9zKVjGO-lmt3o(haB0+ zQwpo=DTl;+%K9iz_y#>$pNG6D1;|gXyQ%em1rvSiOb=a9OhxzuD#I69h2;liT@}bW z&SyaxR0<{coNM&V(+nQmI;}!j>(q)mKVMlFpbbIZLWs@};O`fL*cRgOfg{l8RP@hw ze2yD%Us}gA&QnQ4nFNsk&G=5ME9K_s>@YfhH2HR9B;J&nuX9nEgK*{lnx`4l>L1eqB&+B}u`|6~iL^<}2 zF>=>6A4=oSUecxBH|sM^_P}(LT}n6Fk@H}a2YqgU{ebgcQu9MFKUH_Z80B=BlKbuW zy&K>a+&_^Q;=1O0>3m)bmtvEK%l&s9!5Aj?`6F(DTox0t51(yf#4{AmZIPxtAYJQR zl5`;gc|{x-U^~r${%>HMYXH`p_zeFI&$j|v0bYF48t8*-c;UQ>klM|EN1Af~PhBSb zO(l6993S?ZVx(c~O!RJ%jan{n#ri_0npEGi|HK`PU^EH)vIo^gnI$jPWT+pN4c*(Nv_L+Z9xL5heIvCdD>XLslVL6HebPqa~)4h?$G zcwXn{9jfcOWrbg=O&I_`CEH>3XLJ6C%lE0yAGrv9R+(KkQHf3JlJyGRgHL(cVH;wB zh*zfDNE&%Ufn2b{&$|e`*C9|J?i*RZOS$ur$Bybe(^Ffmk{@FH>4*1B z^&YcV^tIYQqYFz&l*XPu!~W4Kh!>xLPl@M0eUC*QUys-(`>;80XY6JkpQzw~RSZU4 zA#10FRv%OIID{*XuF$!gPO1T)pEkoua{qmb?B}}|{LodFg8jqlb#tFQJbg`IXw8bC z`!vM&Ij2VPo>VM2PRt1G{fz|2>mqYa3<~1sf^}H@CYB$uDpkfKUWxXIw~DIci+MtG+v5i*A?qCCm+XVGil}K;ntRY?5B~=-d5&Xqz68gxIp>38bcpS% zc?CA$&<3$<|1|8O{`*LhLw7({wu1}}P$!Omk=^H42z))Yd1Ri0YUCLej!k!X*F@~f zxcb$4v2(D7K11B?0AS0gN@DrjHE2s-5?$DrM}L?|v|DOY^BoXNrvUIrt?5QOa@u8o z^ZLy{Xd~|w-VW4gP)(+W$*in|E=;{sR+=tze2Ypdi z(nU4#s5^42XWZB?wl$e=rxpv0f_?AHkMiC_SHOY)ZTjL04W9QECBO5b$jhBdyYm~< zH;db-zjJJ#b4a+o+b-uHT$jN9g)G3Hk+U)Xgr0~wOW!~q4ugEGDj{c~Y3lLk8f2f@ z(|WO$+ATH-jt%ZO=~_S69Ed(YP1I+NllrbD(PItKFE?Gim*hvdZt&mTo^iPdA7HoT zCQ&_^W5%49hy0!zEje!RE5;wAjvv)Tl|}VOZTqOhdrtU{)fgEaKErGHu)m+K3F4U8 zF!!mJheIgu{VO_7*=YEd?=2^2XamX$BU5PCxzAFbKxw;AJ2M<6w$~v z{*W~V-Bt&}r5D&fl^AZ$lPU)rHshY%yY`XM@4Z2KRcO5aTf`V?VT# zYTK8YzYRW%8Ss%#{Mafc;7qz-l6p~g{=dObleEOF=HhUUKs}rr@yL0I$TcCS0y&O} zL&1BT)2QY%4#GaDB!$-TXgzYJXLy~YumS6YZO~e)lDgeWh#RT|E!#iyWGdoe9FMW7 ze$I#M!|Q$gtdj% zk;`NueL{DF%;WK$nEy=VM+dv*50_0l4D)E-C%fZ_&BFZ7XFNGR$9Ny}j^cAbh#xKs zk-OKX~9Hb>oq; z=+nw?=6$ho>RzIKzuMh<+O-hq4DoK&r!p7*bob@Ljqem%gBa@~_=cGO-Ph(%4v6Z0 zK?EO!TOa%w{2wkyHGAv~9y@KFXGC1H*ohw&Ur0mDiv4M;zqE_*FAHM-qzyjUJ@5zq zaHSNba_jT$MJFLPEOM|u*NTab9z8}eHDZJ|0C7T>K6(uq-hH9l`7qzR=UuiOmAS;L zNtf|SnY%2Pr++GF_5qtR2lHKW*h%|;bMU?wCg8&J<*Tf`<2})@5HU3P@8SopCO>Tm z`TJ>A-zmnof(ALE5pmj(sQRUHzwFrVx?UgpLh~NU?Q(XTF1+&v5qzP_;v$DweAv#Q zuwQfs{BP%OfiJN7%qMObxzVEZT0=^3L~YXg1@L;a|Bd>@C-tybE7{kF`Yg z`p&y5`T6tMJpZl0qpdzL)VFqmOWr+k&_^Cln7P3->%9Y&dyZSsY5J~v2j(9pTR{=g zJBNs79E4K=zT>oAg2sJ9G-(@RIG+(^ZoPl1!Qka-`tXF-(DgXycplcf7V>PWCpK*P zxAx8>!N3IYbnco`zMa0| z`{$<2->&vMe9A(PK@(RP!r(x zQw%K4;=;p!d9|8vc>ay~cl_HG+z3gUeIcxM{^`K@uG0p94^G4OVmt6j@CW44p1|nl z-hVYr?HL9sGTS&D-yp0CNHu(=2DS$v00(F>Otps}Ejdepl^Zl!Q~(7%y$!ugXvsW$Q-RHW!?G$(v3!#M-c z9|A97FR%3X@qJ(G>$f(*$8UXrkMEGO{U_w#5Asbh?qyvVx}Tc2!nrG)mpOHZm5!Ws z(BeZj8u&hP6z17UmqX+?;lHG7H4Qp?m?5q~hf!twD_d_q`)1YZlZ;1`aK3&4ed9Ig zS8NwDux$q0h~*MXM^!E%w^*z>Zb#0SRrqC+&>{CTAgul$(FrZvmhG48ZRg&42DEse zbNM%X#e!B5FOPlLKjS~?BeUDaDwTU^M}NZh%z=-;(gfsM5C4w*^))X(+JF5S_mV+l zdt{DL%}He$4jZl1zD3?A<=|TY?r-)1E4>fA4?^yrfqXNnCKu7%12zgshc9Bx843%J zUFaU8|LS6Y;P*Z9y(u2KrLaL+D2nc@1yxV6!X`J1>XS`0d%r91vpI4QE5UZF4B*_^ z-YZSwUD$0rcJI|D;hRAe&}_<;#z_O?c#NnVLkG}?bL^Ew=vG(mleqi+Ix%zJ5^6qv zhp08>qFoHX0lKeiUBI{W(wJh=b}^C)aD9w?qTnppgdFg#}-$D&Sr&m|`MrvlLOgMZZSq-@*8^tubJY%RVPz zr{8}#LL<}XQOeu>Xw671ecVe!KW`jHH_>G7r&dD#0^?Hd`W<=kZ0~B>ZfygF{@`Hhu};szheRkhMQtJPyx86d-07j zfm}Wp9XJP69{x4tn;IiqfgHazOe6N4oP+IE_9{GXRlk8^d354x`QMxfwm&nfm{^YR zcT)IP#3iq?3Ex8X;~Zsy@#^ibeetLsgAcTENeNJbL6;!*)M=lcV=8 z{26!tHf6?M3*?4Hz%En$S^lZWUmf+6fKP^F#1z}GbBDJ!m~}prihr&$0m`F#x#@!( zkjqX{6W<`PO>^mP`To}&cQJj*Iv{2(meYck5ew>cPFHoC zF&~&K>N5;$@J$v$M&LUdv-li)$82{B$a}H;uoZh$<=Yb7S%K{!SO(GfEmm>jI*EeW zvnWswgx(DQrGLQH*e1PeGw$vS-^;)8sLvLip(8m!8Q=n+=V|% z7jLrPihL&C6>*(%ltB1q(YJy#jP$`VW8M9hEk|v#RDmCC9b}T3zhh#V#Im1xs{#Ca zoF|C9DRSkz5b{02Ut=!AzHh<2jy07WpPb+jC`FM=9(3Gd$rIME;LVH_Tk0d764smfJ&@DEqJxz}G#nsr{6 zH1l*&lM(BqwLZSxpmTMH&ZPo$@a{F@o5nxdP2K5#R%@<6 z;&~~e3F&;jRUbO~0iWx6ADwL6X^g+SkC>^q>mV2X7ko2k_s4fL9hR7BA-+lIzQRHg z<4=%(t9%NOYp~t@5&Ry=ZI$0_(`QOmem^qnPP52d^X=_F+VK6L>s!oL@KfGH9)SB= z|2X5oZ4bZW9fN`#dJB0^HdA}#D6@^s{BrCZ`>z!G z`37vESq9QJ82+E6-pT4WMsj-b2vsg@jQqKkFNS=6=`mDG^!s$@YQ!VC$?+|GN z@{)G{tdRehbB@|=hfiP};0HhI4Ik^=gMw}zTTB~~7ysUfa9Wn!gzkL5o;oaZs^>EM zL0ofa7Am4;R2igtFsR|ynuzXnmjUdbQZ)sO%ET6x$udjyAd^nUA9wA!vxs?nh z`VP}0Bnv+97FmCEA3ZmkWqehf`|$m$q}uoc(aR~w+h22mOt;{uQ!iEjQ@<1B<3W$D#d|$2dYqxPr^}`GQ(BhlG6DyC{ zAb(sqbXaPnInX8C*9YI&>FW!w`Hh}3mwc=FP(q`mWyA8fsXMCe!UxU30~a}`dXc*Qf5ZXqy$7M&eBR2K;8_e()`qsr?djQDm-VXvaYr l9Xj?L^}4$~msW_HODKx~Id0MO58@{WzZaqHB`=NUe*mJ~KJown literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/feature-01-icon.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/feature-01-icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4ea8cdacef9018cabd37dea0497bfd84766c5c9 GIT binary patch literal 2063 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 T4t= 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 HfB*nH6k8sC literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/intro-bg.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/intro-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..a38a0dfa40ca8732e6e7f2fd35c501b9d228cfe5 GIT binary patch literal 3964 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≥DdMTWCl zpzJm{y93Sc!m{~fHg8uH>A^I+4`dHOIfHP{Fq$)hPU*#R#6pfl$&rDa325`A=FAwp zc?#RCAU7+8&2!3T{Q(T#t7Q@1vW#v~VOv(nEt-7Hg0N*1Y|%owIyl#W<{H84#XeY2 z$h9heU5H$#gS=fAczbU0tYoe;g}1kd=Qhi8x9~g;w(hrZT`#nHK5m6jTA@9yhh|%k Mumdz6dz>!(FUDx?GXMYp literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/logo.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee9beef1e8558631f82ef9482769a3e255a31d79 GIT binary patch literal 3931 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 M>Cl9ch67gr1wRMD^#A|> literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/powered-logo.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/powered-logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb478bf990eeb9b37bcb5816507a9b19a41db655 GIT binary patch literal 1280 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 literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/sign-in.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/sign-in.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e992cc2ef72f512512cacab5d180cd4584d0ecf GIT binary patch literal 3256 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 literal 0 HcmV?d00001 diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/images/top.gif b/modules/distribution/src/broker/resources/STRATOS_ROOT/images/top.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ed482c2768d988ddbb5e7dc91c80bc1815d2b2a GIT binary patch literal 16149 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 + + + + + + + StratosLive + + + + + + + +
+ +
+
+
+ + +
+

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.

+
+
+
+

Features

+
+ +

Bring CEP to SOA

+

+ Bring CEP to SOA by processing XML events and produce results as XML events. +

+
+
+ +

Registry Storage

+

+ Ability to define different event streams, queries and out put streams and store them in the registry as a bucket. +

+
+
+ +

Esper and Fusion

+

+ Support Esper and fusion back end runtimes. +

+
+
+
+
+
+ +
+ + + + diff --git a/modules/distribution/src/broker/resources/STRATOS_ROOT/style.css b/modules/distribution/src/broker/resources/STRATOS_ROOT/style.css new file mode 100644 index 00000000..f91a662a --- /dev/null +++ b/modules/distribution/src/broker/resources/STRATOS_ROOT/style.css @@ -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; } \ No newline at end of file diff --git a/pom.xml b/pom.xml index 692d9acb..3d01a982 100644 --- a/pom.xml +++ b/pom.xml @@ -1537,7 +1537,7 @@ - 2.0.20-SNAPSHOT + 2.0.23-SNAPSHOT [2.0.0, 3.0.0) @@ -1545,7 +1545,7 @@ - 3.0.12-SNAPSHOT + 3.0.13-SNAPSHOT 6.1.73-SNAPSHOT @@ -1577,7 +1577,7 @@ ${product.iot.version} 3.1.3 - 3.1.3 + 3.1.16 1.51.0.0