wso2 Carbon在eclipse上运行

由于工作需要,了解esb方面的东西,经过多次比较,最后决定采用开源的wso2esb。经过多次实践终于编译过了源码,为了更全面深入的了解wso2esb,方便后续进行功能扩展好跟踪调试等,所以希望能在eclipse下运行wso2esb,以进行单步调试。wso2esb是基于wso2carbon平台构建的,又是基于OSGI架构的,所以只要在eclipse上成功运行carbon,那么也就能同样的运行wso2esb。经过一段时间的研究,终于在eclipse上运行起carbon了,步骤记录如下,以供需要的同仁参考:


1 拷贝必要的文件

新建carbon-repo文件夹:例如我的目录是 D:\Work\wso2\carbon-repo,后续文档中使用[carbon-repo]表示

从编译后的Carbon目录中将以下3个文件夹拷贝到carbon-repo文件夹中,后续文档中以[carbon]表示能直接运行的carbon的根目录(即编译后的目录)

bin、lib、repository

wso2 Carbon在eclipse上运行_第1张图片

2 修改数据库配置

2.1     使用内嵌的h2数据库

修改数据源配置文件:

[carbon-repo]\repository\conf\datasources\master-datasources.xml

找到以下内容:

jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000

修改为使用绝对地址的路径,使用[carbon]/ repository/database/…

例如修改为:

jdbc:h2: D:/Work/wso2/app/wso2carbon-4.2.0/repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000

2.2     使用外部mysql数据库

1、拷贝mysql的jsbc包到以下目录:

[carbon-repo]\repository\components\lib

wso2 Carbon在eclipse上运行_第2张图片

2、修改数据源配置文件

 [carbon-repo]\repository\conf\datasources\master-datasources.xml

将datasource标签内的内容修改为(根据实际情况修改数据库名、账户密码等,在wso2esb、carbon等项目文档中均有详细介绍):

                  

                               WSO2_CARBON_DB

                               The datasource used forregistry and user manager

                              

                                        jdbc/WSO2CarbonDB

                              

                              

                                       

                                                 jdbc:mysql://localhost:3306/wso2esbregdb

                                                 wso2esbregdb

                                                 wso2esbregdb

                                                  com.mysql.jdbc.Driver

                                                  80

                                                  60000

                                                  5

                                                 true

                                                  SELECT1

                                                 30000

                                       

                              

                  

3 入口函数

导入Carbon源码,找到入口函数

项目:org.wso2.carbon.bootstrap

入口类:org.wso2.carbon.bootstrap.Bootstrap

4 引入相关jar包

以下jar都能在编译后的源码中找到:

org.wso2.carbon.server-4.2.0.jar

tomcat-juli-7.0.34.jar

wso2 Carbon在eclipse上运行_第3张图片

5 设置运行参数

程序参数:RUN

JVM参数:

-Xbootclasspath/a:${CARBON_XBOOTCLASSPATH}

-Xms256m -Xmx1024m -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}

-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}\repository\conf\carbon.xml

-Dwso2.registry.xml="${CARBON_HOME}\repository\conf\registry.xml"

-Dwso2.user.mgt.xml="${CARBON_HOME}\repository\conf\user-mgt.xml"

-Dwso2.transports.xml="${CARBON_HOME}\repository\conf\mgt-transports.xml"

-Djava.util.logging.config.file="${CARBON_HOME}\repository\conf\etc\logging-bridge.properties"

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

-Dcarbon.config.dir.path="${CARBON_HOME}\repository\conf"

-Dcarbon.logs.path="${CARBON_HOME}\repository\logs"

-Dcomponents.repo="${CARBON_HOME}\repository\components"

-Dconf.location="${CARBON_HOME}\repository\conf"

-Dcom.atomikos.icatch.file="${CARBON_HOME}\lib\transactions.properties"

-Dcom.atomikos.icatch.hide_init_file_path="true"

-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

JVM参数中使用到的变量(根据实际情况修改变量的值):

CARBON_XBOOTCLASSPATH=

CARBON_HOME=D:\Work\wso2\app\wso2carbon-4.2.0-tomcat

CARBON_CLASSPATH="${CARBON_HOME}\lib;${JAVA_HOME}\lib\tools.jar;${CARBON_HOME}\bin\org.wso2.carbon.bootstrap-4.2.0.jar;${CARBON_HOME}\bin\tcpmon-1.0.jar;${CARBON_HOME}\bin\tomcat-juli-7.0.34.jar;${CARBON_HOME}\lib\commons-lang-2.6.0.wso2v1.jar"

JAVA_ENDORSED="${CARBON_HOME}\lib\endorsed;${JAVA_HOME}\jre\lib\endorsed;${JAVA_HOME}\lib\endorsed"

JAVA_OPTS=

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43

wso2 Carbon在eclipse上运行_第4张图片

wso2 Carbon在eclipse上运行_第5张图片


6 运行

执行org.wso2.carbon.bootstrap.Bootstrap下的main方法,控制台打印出如下信息:

wso2 Carbon在eclipse上运行_第6张图片

wso2 Carbon在eclipse上运行_第7张图片

 

你可能感兴趣的:(wso2)