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


2 修改数据库配置

2.1     使用内嵌的h2数据库

修改数据源配置文件:

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

找到以下内容:

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

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

例如修改为:

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

2.2     使用外部mysql数据库

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

[carbon-repo]\repository\components\lib


2、修改数据源配置文件

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

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

                   <datasource>

                               <name>WSO2_CARBON_DB</name>

                               <description>The datasource used forregistry and user manager</description>

                               <jndiConfig>

                                        <name>jdbc/WSO2CarbonDB</name>

                               </jndiConfig>

                               <definition type="RDBMS">

                                        <configuration>

                                                 <url>jdbc:mysql://localhost:3306/wso2esbregdb</url>

                                                 <username>wso2esbregdb</username>

                                                 <password>wso2esbregdb</password>

                                                  <driverClassName>com.mysql.jdbc.Driver</driverClassName>

                                                  <maxActive>80</maxActive>

                                                  <maxWait>60000</maxWait>

                                                  <minIdle>5</minIdle>

                                                 <testOnBorrow>true</testOnBorrow>

                                                  <validationQuery>SELECT1</validationQuery>

                                                 <validationInterval>30000</validationInterval>

                                        </configuration>

                               </definition>

                   </datasource>

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


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




6 运行

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


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值