Hi,

Is this resolved? We are getting the same error when trying to integrate a
product specific H2 database to the ML product (WSO2ML_DB). However,
inbuilt carbon H2 DB works fine. Error is thrown when the product (from UI)
tries to access the WSO2ML_DB.

Follow are the configurations did when adding the new database.

*module/distribution/pom.xml :*

               <execution>
                        <id>Create-ML-Database</id>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <path id="h2.classpath">
                                    <path refid="maven.compile.classpath"/>
                                </path>
                                <echo
                                        message="########### Creating
Machine Learner Database ##############"/>
                                <sql
                                        driver="org.h2.Driver"

url="jdbc:h2:${basedir}/target/database/WSO2ML_DB"
                                        userid="wso2carbon"
password="wso2carbon" autocommit="true"
                                        onerror="continue">
                                    <classpath>
                                        <path refid="h2.classpath"/>
                                    </classpath>
                                    <fileset
file="${basedir}/src/main/resources/dbscripts/h2.sql"/>
                                </sql>
                                <echo
                                        message="##################### END
########################"/>
                            </tasks>
                        </configuration>
                    </execution>


and copy the created database by
module/distribution/src/mainassembly/bin.xml using the following segment.
        <file>
            <source>target/database/WSO2ML_DB.h2.db</source>

<outputDirectory>wso2ml-${pom.version}/repository/database</outputDirectory>
            <filtered>true</filtered>
            <fileMode>666</fileMode>
        </file>

The database was exposed as JNDI and is added to the master-datasources.xml.

Thanks,
Supun

On Tue, Sep 2, 2014 at 11:34 AM, Ajith Vitharana <[email protected]> wrote:

>
>
>
> On Tue, Sep 2, 2014 at 6:54 AM, Amalka Subasinghe <[email protected]> wrote:
>
>> Hi Friszan,
>>
>> Here I got this error, when I try to start the APIM, just unzipping the
>> pack under module/distribution. Not while executing tests.
>>
>
> Please go and talk to AM team :) . Anyway this error can be due to few
> reasons.
>
> 1. This AM database create and package to the AM product while building
> the product. So you can look at the build log to find any errors.
> 2. Enable the H2 configurations in carbon.xml and access through the
>  browser.
> 3. Did we  upgrade the H2 version in GIT ?
> 4. Check whether the AM source is properly updated in GIT.
>
> Thanks
> Ajith.
>
>
>
>> Thanks
>> Amalka
>>
>>
>>
>> On Mon, Sep 1, 2014 at 11:10 PM, Firzhan Naqash <[email protected]> wrote:
>>
>>> Hi Amalka,
>>>
>>> Since you are trying to set up for automation test, have you turned on
>>> the filtering of maven-resources-plugin?
>>>
>>> If so that might be trying to modify the H2 database while APIM
>>> modifying it, thus leads to corruption.
>>>
>>> Can you check on it ?
>>>
>>>
>>> Regards,
>>> Firzhan
>>>
>>>
>>> On Mon, Sep 1, 2014 at 3:34 PM, Amalka Subasinghe <[email protected]>
>>> wrote:
>>>
>>>> ERROR - ApiMgtDAO Error while adding the API:
>>>> org.wso2.carbon.apimgt.api.model.APIIdentifier@60ba6803 to the database
>>>> org.h2.jdbc.JdbcSQLException: File corrupted while reading record:
>>>> "/home/amalka/amalkas/apim-packs/Untitled
>>>> Folder/wso2am-1.7.0-SNAPSHOT/repository/database/WSO2AM_DB.h2.db". Possible
>>>> solution: use the recovery tool [90030-140]
>>>>
>>>>     at
>>>> org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
>>>>     at org.h2.message.DbException.get(DbException.java:167)
>>>>     at org.h2.message.DbException.get(DbException.java:144)
>>>>     at org.h2.store.PageStore.readVariableHeader(PageStore.java:699)
>>>>     at org.h2.store.PageStore.openExisting(PageStore.java:314)
>>>>     at org.h2.store.PageStore.open(PageStore.java:271)
>>>>     at org.h2.engine.Database.getPageStore(Database.java:2059)
>>>>     at org.h2.engine.Database.open(Database.java:534)
>>>>     at org.h2.engine.Database.openDatabase(Database.java:207)
>>>>     at org.h2.engine.Database.<init>(Database.java:202)
>>>>     at org.h2.engine.Engine.openSession(Engine.java:56)
>>>>     at org.h2.engine.Engine.openSession(Engine.java:146)
>>>>     at org.h2.engine.Engine.getSession(Engine.java:125)
>>>>     at org.h2.engine.Session.createSession(Session.java:122)
>>>>     at
>>>> org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:241)
>>>>     at org.h2.engine.SessionRemote.createSession(SessionRemote.java:219)
>>>>     at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
>>>>     at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
>>>>     at org.h2.Driver.connect(Driver.java:73)
>>>>     at
>>>> org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
>>>>     at
>>>> org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
>>>>     at
>>>> org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
>>>>     at
>>>> org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
>>>>     at
>>>> org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188)
>>>>     at
>>>> org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
>>>>     at
>>>> org.wso2.carbon.apimgt.impl.utils.APIMgtDBUtil.getConnection(APIMgtDBUtil.java:138)
>>>>     at
>>>> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.addAPI(ApiMgtDAO.java:4847)
>>>>     at
>>>> org.wso2.carbon.apimgt.impl.APIProviderImpl.addAPI(APIProviderImpl.java:383)
>>>>     at
>>>> org.wso2.carbon.apimgt.impl.UserAwareAPIProvider.addAPI(UserAwareAPIProvider.java:45)
>>>>     at
>>>> org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_addAPI(APIProviderHostObject.java:1200)
>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>     at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>     at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>     at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
>>>>     at
>>>> org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
>>>>     at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.modules.api.c2._c_anonymous_7(/publisher/modules/api/add.jag:144)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.modules.api.c2.call(/publisher/modules/api/add.jag)
>>>>     at
>>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>>>     at
>>>> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>>>     at
>>>> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>>>     at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.modules.api.c0._c_anonymous_1(/publisher/modules/api/module.jag:5)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.modules.api.c0.call(/publisher/modules/api/module.jag)
>>>>     at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0._c_anonymous_1(/publisher/site/blocks/item-add/ajax/add.jag:117)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag)
>>>>     at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0._c_script_0(/publisher/site/blocks/item-add/ajax/add.jag:4)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag)
>>>>     at
>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
>>>>     at
>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.call(/publisher/site/blocks/item-add/ajax/add.jag)
>>>>     at
>>>> org.jaggeryjs.rhino.publisher.site.blocks.item_add.ajax.c0.exec(/publisher/site/blocks/item-add/ajax/add.jag)
>>>>     at
>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)
>>>>     at
>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
>>>>     at
>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:453)
>>>>     at
>>>> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>     at
>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
>>>>     at
>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
>>>>     at
>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378)
>>>>     at
>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
>>>>     at
>>>> org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>     at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>>>>     at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>>>>     at
>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
>>>>     at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>>>>     at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
>>>>     at
>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>>     at
>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>     at
>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>>     at
>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>>     at
>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>>     at
>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:154)
>>>>     at
>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>>>>     at
>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>>     at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>>>>     at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>     at
>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
>>>>     at
>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
>>>>     at
>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721)
>>>>     at
>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>     at java.lang.Thread.run(Thread.java:662)
>>>>
>>>>
>>>>
>>>> On Mon, Sep 1, 2014 at 3:11 PM, Ajith Vitharana <[email protected]>
>>>> wrote:
>>>>
>>>>>
>>>>> Please attach the complete error log.
>>>>>
>>>>> -Ajith
>>>>>
>>>>>
>>>>> On Mon, Sep 1, 2014 at 2:59 PM, Amalka Subasinghe <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm also getting the same issue, any update on this?
>>>>>>  we want to up the basic APIM setup with H2 database for test
>>>>>> automation
>>>>>>
>>>>>> Thanks
>>>>>> Amalka
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Aug 25, 2014 at 6:48 PM, Roshan Wijesena <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Danushka, Abimaran
>>>>>>>
>>>>>>> Thanks for your responses..
>>>>>>>
>>>>>>> I am trying to start up basic APIM setup  with built in  H2 database
>>>>>>> first because we ship H2 database by default. I can understand the fact
>>>>>>> that DB is corrupted, just curious why is getting corrupted every time 
>>>>>>> that
>>>>>>> I am going to start up the set up.
>>>>>>>
>>>>>>> Regards
>>>>>>> Roshan
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Aug 25, 2014 at 6:28 PM, Danushka Fernando <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Roshan
>>>>>>>>
>>>>>>>> H2 dbs get corrupted some times. We are not recommending H2 in
>>>>>>>> production deployments. So if you want to store some data please use 
>>>>>>>> mysql.
>>>>>>>> And you can delete h2 dbs (under $CARBON_HOME/repository/database/) and
>>>>>>>> start the server with -Dsetup option.
>>>>>>>>
>>>>>>>> Thanks & Regards
>>>>>>>> Danushka Fernando
>>>>>>>> Software Engineer
>>>>>>>> WSO2 inc. http://wso2.com/
>>>>>>>> Mobile : +94716332729
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Aug 25, 2014 at 5:20 PM, Abimaran Kugathasan <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi Roshan,
>>>>>>>>>
>>>>>>>>> Seems that DB file was correpted. Can you check WSO2AM_DB.trace.db
>>>>>>>>> file and attached it here?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Aug 25, 2014 at 4:15 PM, Roshan Wijesena <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Devs,
>>>>>>>>>>
>>>>>>>>>> I am keep getting below exception when I am trying to add a new
>>>>>>>>>> API via publisher
>>>>>>>>>>
>>>>>>>>>> Caused by: org.h2.jdbc.JdbcSQLException: File corrupted while
>>>>>>>>>> reading record:
>>>>>>>>>> "/home/roshan/workspace/MIT/wso2am-1.7.0-SNAPSHOT/repository/database/WSO2AM_DB.h2.db".
>>>>>>>>>> Possible solution: use the recovery tool [90030-140]
>>>>>>>>>>  at
>>>>>>>>>> org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
>>>>>>>>>> at org.h2.message.DbException.get(DbException.java:167)
>>>>>>>>>>  at org.h2.message.DbException.get(DbException.java:144)
>>>>>>>>>> at org.h2.store.PageStore.readVariableHeader(PageStore.java:699)
>>>>>>>>>>  at org.h2.store.PageStore.openExisting(PageStore.java:314)
>>>>>>>>>> at org.h2.store.PageStore.open(PageStore.java:271)
>>>>>>>>>>  at org.h2.engine.Database.getPageStore(Database.java:2059)
>>>>>>>>>> at org.h2.engine.Database.open(Database.java:534)
>>>>>>>>>>  at org.h2.engine.Database.openDatabase(Database.java:207)
>>>>>>>>>> at org.h2.engine.Database.<init>(Database.java:202)
>>>>>>>>>>  at org.h2.engine.Engine.openSession(Engine.java:56)
>>>>>>>>>> at org.h2.engine.Engine.openSession(Engine.java:146)
>>>>>>>>>>  at org.h2.engine.Engine.getSession(Engine.java:125)
>>>>>>>>>> at org.h2.engine.Session.createSession(Session.java:122)
>>>>>>>>>>  at
>>>>>>>>>> org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:241)
>>>>>>>>>> at
>>>>>>>>>> org.h2.engine.SessionRemote.createSession(SessionRemote.java:219)
>>>>>>>>>>  at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
>>>>>>>>>> at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
>>>>>>>>>>  at org.h2.Driver.connect(Driver.java:73)
>>>>>>>>>> at
>>>>>>>>>> org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
>>>>>>>>>>  at
>>>>>>>>>> org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
>>>>>>>>>> at
>>>>>>>>>> org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
>>>>>>>>>>  at
>>>>>>>>>> org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
>>>>>>>>>> at
>>>>>>>>>> org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188)
>>>>>>>>>>  at
>>>>>>>>>> org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:128)
>>>>>>>>>> at
>>>>>>>>>> org.wso2.carbon.apimgt.impl.utils.APIMgtDBUtil.getConnection(APIMgtDBUtil.java:138)
>>>>>>>>>>  at
>>>>>>>>>> org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.addAPI(ApiMgtDAO.java:4833)
>>>>>>>>>> ... 66 more
>>>>>>>>>>
>>>>>>>>>> any one has idea why is this?
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>> Roshan
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Roshan Wijesena.
>>>>>>>>>> Senior Software Engineer-WSO2 Inc.
>>>>>>>>>> Mobile: *+94752126789*
>>>>>>>>>> Email: [email protected]
>>>>>>>>>> *WSO2, Inc. :** wso2.com <http://wso2.com/>*
>>>>>>>>>> lean.enterprise.middleware.
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Dev mailing list
>>>>>>>>>> [email protected]
>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Thanks
>>>>>>>>> Abimaran Kugathasan
>>>>>>>>>
>>>>>>>>> Software Engineer | WSO2 Inc
>>>>>>>>> Data & APIs Technologies Team
>>>>>>>>> Mobile : +94 77 1708229
>>>>>>>>>
>>>>>>>>> <http://stackoverflow.com/users/515034>
>>>>>>>>> <http://lk.linkedin.com/in/abimaran>
>>>>>>>>> <http://www.lkabimaran.blogspot.com/>
>>>>>>>>> <https://github.com/abimaran>  <https://twitter.com/abimaran>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Dev mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Roshan Wijesena.
>>>>>>> Senior Software Engineer-WSO2 Inc.
>>>>>>> Mobile: *+94752126789*
>>>>>>> Email: [email protected]
>>>>>>> *WSO2, Inc. :** wso2.com <http://wso2.com/>*
>>>>>>> lean.enterprise.middleware.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dev mailing list
>>>>>>> [email protected]
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Amalka Subasinghe
>>>>>>
>>>>>> Senior Software Engineer
>>>>>> WSO2 Inc.
>>>>>> Mobile: +94 77 9401267
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> [email protected]
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ajith Vitharana.
>>>>> WSO2 Inc. - http://wso2.org
>>>>> Email  :  [email protected]
>>>>> Mobile : +94772217350
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Amalka Subasinghe
>>>>
>>>> Senior Software Engineer
>>>> WSO2 Inc.
>>>> Mobile: +94 77 9401267
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>
>>
>> --
>>
>> Amalka Subasinghe
>>
>> Senior Software Engineer
>> WSO2 Inc.
>> Mobile: +94 77 9401267
>>
>
>
>
> --
> Ajith Vitharana.
> WSO2 Inc. - http://wso2.org
> Email  :  [email protected]
> Mobile : +94772217350
>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
*Supun Sethunga*
Software Engineer
WSO2, Inc.
lean | enterprise | middleware
Mobile : +94 716546324
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to