Hi Senaka, We had a meeting today in finding a possible solution to looking up the JNDI resources that is registered from Carbon. So we are registering our own provider to provide the multitenant support, by creating sub-contexts for each tenant. So we would like to know if this implementation can be used somehow in registering the JNDI resources that would be visible by other web apps, and what implications there would possibly be with any changes to the current implementation.
And the AS or the Carbon Kernel team please take ownership of this, since the internal workings Tomcat / Carbon Kernel will be required to provide a solution quickly in order to ship with the current C4 release. Cheers, Anjana. On Mon, Jul 9, 2012 at 5:11 PM, Isuru Suriarachchi <[email protected]> wrote: > As Kishanthan has explained in his last reply, this is not something > broken and this is how Tomcat is supposed to work. Therefore, I think we > have to have a meeting on this and decide what to do. > > Thanks, > ~Isuru > > > On Fri, Jul 6, 2012 at 11:44 PM, Dinusha Senanayaka <[email protected]>wrote: > >> Hi Kishanthan/ AS Team, >> >> Today App-factory team raised this issue again and they also need to have >> same requirement. (The capability of accessing resources( inside a wep-app) >> that registered with JNDI via carbon component using default InitialContext >> of carbon ). We need to discuss and come-up with a solution for this. >> >> Regards, >> Dinusha. >> >> >> On Thu, May 31, 2012 at 3:51 PM, Kishanthan Thangarajah < >> [email protected]> wrote: >> >>> >>> >>> On Wed, May 30, 2012 at 1:44 PM, Dinusha Senanayaka <[email protected]>wrote: >>> >>>> Here, what we want is to use the same transaction-manager that has >>>> expose by the transaction-manager component inside the web-app. But by >>>> defining it as a resource in server.xml or context.xml , it register a new >>>> transaction manager to use in wep-app rather using it from >>>> transaction-manager component. So we loss the need of having >>>> transaction-manager carbon component. >>>> >>> >>> AFAIK, in previous releases, these resources (TransactionManager, etc) >>> are registered with tomcat via the context descriptor file >>> (CARBON_HOME/lib/tomcat/conf/context.xml). >>> >>> But according to the current implementation in trunk, we are registering >>> those resources to Carbon's InitialContext via a carbon component >>> (transaction-manager) and we want those resources to be accessible >>> everywhere including webapps also. This is the requirement. But as I said >>> earlier, this will not work as we can see that we are trying to access a >>> resource which is not registered with tomcat. >>> >>> So I think the solution for this would be, when registering the resource >>> via carbon, we have to somehow make those available to tomcat global >>> resources. >>> >>> Kishanthan. >>> >>>> >>>> Regards, >>>> Dinusha. >>>> >>>> >>>> On Tue, May 29, 2012 at 11:36 AM, Isuru Suriarachchi <[email protected]>wrote: >>>> >>>>> >>>>> According to this, all our global resources can be registered in the >>>>> tomcat server.xml and can be looked up from anywhere. So we can make the >>>>> above resources work by doing this. >>>>> >>>>> But if we want to allow users to register and look up resources >>>>> through the carbon context, we have to register those resources in the >>>>> same >>>>> context as the server.xml resources. Then only those can be made global. >>>>> >>>>> Thanks, >>>>> ~Isuru >>>>> >>>>> >>>>> On Tue, May 29, 2012 at 10:44 AM, Kishanthan Thangarajah < >>>>> [email protected]> wrote: >>>>> >>>>>> This can be done. We have to first register JNDI resources for >>>>>> webapps context. Then we can lookup for them. As Paul mentioned, >>>>>> registering those resources can done in two ways. They can be either >>>>>> global >>>>>> or per webapp. If it is global, you have place them under >>>>>> <GlobalNamingResources> tag in tomcat's server.xml (catalina-server.xml >>>>>> in >>>>>> our case) file. Then they can be referenced in webapp via linking them in >>>>>> the context.xml file of webapp. >>>>>> >>>>>> Eg - <ResourceLink name="jdbc/MyDataSource" >>>>>> global="jdbc/MyDataSource" >>>>>> type="com.atomikos.jdbc.AtomikosDataSourceBean"/> >>>>>> >>>>>> If it is per webapp, then they can be registered by placing them in >>>>>> the context.xml file of the webapp it self. >>>>>> >>>>>> Eg - <Resource name="TransactionManager" auth="Container" >>>>>> type="com.atomikos.icatch.jta.UserTransactionManager" >>>>>> factory="org.apache.naming.factory.BeanFactory" /> >>>>>> >>>>>> Other properties for these resources should go inside each respective >>>>>> Resource tags. Make sure those classes used to define resource-type are >>>>>> in >>>>>> the classpath. Then have a reference for those resources in the web.xml >>>>>> of >>>>>> the webapp. >>>>>> >>>>>> Eg - <resource-ref> >>>>>> <description>Your Description</description> >>>>>> <res-ref-name>jdbc/MyDataSource</res-ref-name> >>>>>> >>>>>> <res-type>com.atomikos.jdbc.AtomikosDataSourceBean</res-type> >>>>>> <res-auth>Container</res-auth> >>>>>> </resource-ref> >>>>>> >>>>>> I'm currently writing an article on recent tomcat improvements, so >>>>>> it's better to include these details in there as-well. >>>>>> >>>>>> Thanks, >>>>>> Kishanthan. >>>>>> Ref - >>>>>> http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html >>>>>> >>>>>> On Mon, May 28, 2012 at 3:55 PM, Kishanthan Thangarajah < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, May 28, 2012 at 2:51 PM, Isuru Suriarachchi >>>>>>> <[email protected]>wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, May 28, 2012 at 2:45 PM, Paul Fremantle <[email protected]>wrote: >>>>>>>> >>>>>>>>> If that is the way its "meant" to work, then we need a way to >>>>>>>>> register things like DataSources and Transaction context into the >>>>>>>>> webapps >>>>>>>>> JNDI. >>>>>>>>> >>>>>>>>> There is some good docs on how this works in Tomcat here: >>>>>>>>> >>>>>>>>> http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html#context.xml_configuration >>>>>>>>> >>>>>>>>> In Tomcat it seems you can define JNDI entries either locally in >>>>>>>>> the web.xml or globally and then "link" to them. >>>>>>>>> >>>>>>>> >>>>>>>> +1. This should work for us and looks like it's the correct way of >>>>>>>> doing this. Kishanthan, please look into this.. >>>>>>>> >>>>>>> >>>>>>> I will have a look at this and provide an update. Created a jira to >>>>>>> track this [1]. >>>>>>> >>>>>>> Kishanthan. >>>>>>> [1] https://wso2.org/jira/browse/CARBON-13277 >>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> ~Isuru >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> Paul >>>>>>>>> >>>>>>>>> >>>>>>>>> On 28 May 2012 10:03, Isuru Suriarachchi <[email protected]> wrote: >>>>>>>>> >>>>>>>>>> I had a discussion on this with Kicha and looks like the way it >>>>>>>>>> works is correct. When jndi resources are registered in the webapp >>>>>>>>>> itself, >>>>>>>>>> those get registered in it's own context and can be loaded anywhere >>>>>>>>>> within >>>>>>>>>> the webapp. But when resources are registered in the initial >>>>>>>>>> context, those >>>>>>>>>> are not visible to the webapps. Looks like this is the correct >>>>>>>>>> behavior. >>>>>>>>>> >>>>>>>>>> Can we please check whether this webapp works in previous >>>>>>>>>> releases? >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> ~Isuru >>>>>>>>>> >>>>>>>>>> On Mon, May 28, 2012 at 1:00 PM, Kishanthan Thangarajah < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Here are the findings on this issue so far. >>>>>>>>>>> >>>>>>>>>>> In trunk, TransactionManager, UserTransaction etc, are getting >>>>>>>>>>> bind with InitialContext of javaUrlContextFactory[1] which handles >>>>>>>>>>> the >>>>>>>>>>> “java:” namespace. This context is not bound to any thread or >>>>>>>>>>> classloader. >>>>>>>>>>> But in a webapp case, their context are isolated from each other >>>>>>>>>>> and the >>>>>>>>>>> classloaders are bound to each webapps naming context. But the >>>>>>>>>>> initialContext from javaUrlContextFactory will not be accessible >>>>>>>>>>> for them. >>>>>>>>>>> This is why it fails when doing lookup within a webapp. >>>>>>>>>>> >>>>>>>>>>> The javaUrlContextFactory first checks whether current thread or >>>>>>>>>>> classloader is bound to any context. If not, it will return the >>>>>>>>>>> intialContext. This is why the lookup within a service is >>>>>>>>>>> successful since >>>>>>>>>>> its class loader is not bound to any naming context. The lookup >>>>>>>>>>> from any BE >>>>>>>>>>> component also works fine. >>>>>>>>>>> >>>>>>>>>>> So we have to think of a way to handle this issue. >>>>>>>>>>> >>>>>>>>>>> @Dinusha, can you try whether this webapp works in previous >>>>>>>>>>> releases? >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Kishanthan. >>>>>>>>>>> [1] >>>>>>>>>>> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.26/org/apache/naming/java/javaURLContextFactory.java#javaURLContextFactory.getInitialContext%28java.util.Hashtable%29 >>>>>>>>>>> >>>>>>>>>>> On Sun, May 27, 2012 at 11:47 AM, Dinusha Senanayaka < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Kishanthan, >>>>>>>>>>>> >>>>>>>>>>>> On Sun, May 27, 2012 at 12:07 AM, Kishanthan Thangarajah < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Sat, May 26, 2012 at 3:05 PM, Dinusha Senanayaka < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Kishanthan, >>>>>>>>>>>>>> >>>>>>>>>>>>>> The way you suggested also didn't work for me. I guess, in >>>>>>>>>>>>>> your sample wep-app, JNDI lookup has done for some data-source >>>>>>>>>>>>>> created >>>>>>>>>>>>>> within Tomcat itself. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Can you share the webapp? I'll have a look into this. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Please find the attached web-app. It refers to the >>>>>>>>>>>> transaction-manager, which has bind with JNDI, while >>>>>>>>>>>> transaction-manger >>>>>>>>>>>> bundle get start in carbon sever. >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Dinusha. >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Kishanthan. >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>> Dinusha. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sat, May 26, 2012 at 12:50 PM, Supun Malinga < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi Kishanthan, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Any idea why 'normal' jndi lookup doesn't work? >>>>>>>>>>>>>>> If I'm a user and want to do some jndi lookup insid ea >>>>>>>>>>>>>>> webapp I would follow the standard way. If that's not going to >>>>>>>>>>>>>>> work I think >>>>>>>>>>>>>>> we better at least document this. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> thanks, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Sat, May 26, 2012 at 11:31 AM, Kishanthan Thangarajah < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> This was one the issue I encountered when trying to write >>>>>>>>>>>>>>>> some webapps with webapp specific contextXml configuration >>>>>>>>>>>>>>>> where I store >>>>>>>>>>>>>>>> some JNDI resources in it. Normal lookup is as follow, which >>>>>>>>>>>>>>>> gives the >>>>>>>>>>>>>>>> exception when trying within a webapp, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Context initCtx = new InitialContext(); >>>>>>>>>>>>>>>> Context envCtx = (Context) >>>>>>>>>>>>>>>> initCtx.lookup("java:comp/env"); >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> But after some debugging at tomcat code level, I found a >>>>>>>>>>>>>>>> way to overcome this. We have to use the catalina jndi context >>>>>>>>>>>>>>>> implementation. Let me give some insight. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Context initCtx = new InitialContext(); >>>>>>>>>>>>>>>> SelectorContext selectorContext = new >>>>>>>>>>>>>>>> SelectorContext((Hashtable<String, Object>) >>>>>>>>>>>>>>>> initCtx.getEnvironment(), >>>>>>>>>>>>>>>> false); >>>>>>>>>>>>>>>> Context envCtx = (Context) >>>>>>>>>>>>>>>> selectorContext.lookup("java:comp/env"); >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Here the SelectorContext is the Catalina JNDI Context >>>>>>>>>>>>>>>> implementation. First using the IntialContext environment we >>>>>>>>>>>>>>>> have to build >>>>>>>>>>>>>>>> the Catalina selector context, and then we can lookup from >>>>>>>>>>>>>>>> that. Can you >>>>>>>>>>>>>>>> please try this and let me know if it fails? You can take a >>>>>>>>>>>>>>>> look at the >>>>>>>>>>>>>>>> webapp samples here [1]. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>> Kishanthan. >>>>>>>>>>>>>>>> [1] >>>>>>>>>>>>>>>> https://svn.wso2.org/repos/wso2/carbon/platform/trunk/products/as/modules/samples/product/TomcatWebApps/ >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Fri, May 25, 2012 at 5:45 PM, Dinusha Senanayaka < >>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi All, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I have registered a object with JNDI and try to access it >>>>>>>>>>>>>>>>> within a web-app. But JNDI lookup get fails saying >>>>>>>>>>>>>>>>> "javax.naming.NameNotFoundException: Name >>>>>>>>>>>>>>>>> [java:comp/TransactionManager] is >>>>>>>>>>>>>>>>> not bound in this Context. Unable to find [java:comp]". Even >>>>>>>>>>>>>>>>> I tried to >>>>>>>>>>>>>>>>> lookup a Carbon JNDI data-source, it also fails by giving >>>>>>>>>>>>>>>>> similar type >>>>>>>>>>>>>>>>> exception. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> But same JNDI lookups work inside a Axis2 service(AAR). >>>>>>>>>>>>>>>>> Any idea why this can be happened ? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>> Dinusha. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>> Dev mailing list >>>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> *Kishanthan Thangarajah* >>>>>>>>>>>>>>>> Software Engineer, >>>>>>>>>>>>>>>> Development Technologies Team, >>>>>>>>>>>>>>>> WSO2, Inc. >>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Mobile - +94773426635 >>>>>>>>>>>>>>>> Blog - *http://kishanthan.wordpress.com* >>>>>>>>>>>>>>>> Twitter - *http://twitter.com/kishanthan* >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>> Dev mailing list >>>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Supun Malinga, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Software Engineer, >>>>>>>>>>>>>>> WSO2 Inc. >>>>>>>>>>>>>>> http://wso2.com >>>>>>>>>>>>>>> http://wso2.org >>>>>>>>>>>>>>> email - [email protected] <[email protected]> >>>>>>>>>>>>>>> mobile - 071 56 91 321 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Kishanthan Thangarajah* >>>>>>>>>>>>> Software Engineer, >>>>>>>>>>>>> Development Technologies Team, >>>>>>>>>>>>> WSO2, Inc. >>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>> >>>>>>>>>>>>> Mobile - +94773426635 >>>>>>>>>>>>> Blog - *http://kishanthan.wordpress.com* >>>>>>>>>>>>> Twitter - *http://twitter.com/kishanthan* >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Kishanthan Thangarajah* >>>>>>>>>>> Software Engineer, >>>>>>>>>>> Development Technologies Team, >>>>>>>>>>> WSO2, Inc. >>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>> >>>>>>>>>>> Mobile - +94773426635 >>>>>>>>>>> Blog - *http://kishanthan.wordpress.com* >>>>>>>>>>> Twitter - *http://twitter.com/kishanthan* >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Dev mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Isuru Suriarachchi >>>>>>>>>> Senior Technical Lead >>>>>>>>>> WSO2 Inc. http://wso2.com >>>>>>>>>> email : [email protected] >>>>>>>>>> blog : http://isurues.wordpress.com/ >>>>>>>>>> >>>>>>>>>> lean . enterprise . middleware >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Dev mailing list >>>>>>>>>> [email protected] >>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Paul Fremantle >>>>>>>>> CTO and Co-Founder, WSO2 >>>>>>>>> OASIS WS-RX TC Co-chair, VP, Apache Synapse >>>>>>>>> >>>>>>>>> UK: +44 207 096 0336 >>>>>>>>> US: +1 646 595 7614 >>>>>>>>> >>>>>>>>> blog: http://pzf.fremantle.org >>>>>>>>> twitter.com/pzfreo >>>>>>>>> [email protected] >>>>>>>>> >>>>>>>>> wso2.com Lean Enterprise Middleware >>>>>>>>> >>>>>>>>> Disclaimer: This communication may contain privileged or other >>>>>>>>> confidential information and is intended exclusively for the >>>>>>>>> addressee/s. >>>>>>>>> If you are not the intended recipient/s, or believe that you may have >>>>>>>>> received this communication in error, please reply to the sender >>>>>>>>> indicating >>>>>>>>> that fact and delete the copy you received and in addition, you >>>>>>>>> should not >>>>>>>>> print, copy, retransmit, disseminate, or otherwise use the information >>>>>>>>> contained in this communication. Internet communications cannot be >>>>>>>>> guaranteed to be timely, secure, error or virus-free. The sender does >>>>>>>>> not >>>>>>>>> accept liability for any errors or omissions. >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Isuru Suriarachchi >>>>>>>> Senior Technical Lead >>>>>>>> WSO2 Inc. http://wso2.com >>>>>>>> email : [email protected] >>>>>>>> blog : http://isurues.wordpress.com/ >>>>>>>> >>>>>>>> lean . enterprise . middleware >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Kishanthan Thangarajah* >>>>>>> Software Engineer, >>>>>>> Development Technologies Team, >>>>>>> WSO2, Inc. >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>>> Mobile - +94773426635 >>>>>>> Blog - *http://kishanthan.wordpress.com* >>>>>>> Twitter - *http://twitter.com/kishanthan* >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Kishanthan Thangarajah* >>>>>> Software Engineer, >>>>>> Development Technologies Team, >>>>>> WSO2, Inc. >>>>>> lean.enterprise.middleware >>>>>> >>>>>> Mobile - +94773426635 >>>>>> Blog - *http://kishanthan.wordpress.com* >>>>>> Twitter - *http://twitter.com/kishanthan* >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Isuru Suriarachchi >>>>> Senior Technical Lead >>>>> WSO2 Inc. http://wso2.com >>>>> email : [email protected] >>>>> blog : http://isurues.wordpress.com/ >>>>> >>>>> lean . enterprise . middleware >>>>> >>>>> >>>> >>> >>> >>> -- >>> *Kishanthan Thangarajah* >>> Software Engineer, >>> Development Technologies Team, >>> WSO2, Inc. >>> lean.enterprise.middleware >>> >>> Mobile - +94773426635 >>> Blog - *http://kishanthan.wordpress.com* >>> Twitter - *http://twitter.com/kishanthan* >>> >>> >> > > > -- > Isuru Suriarachchi > Senior Technical Lead > WSO2 Inc. http://wso2.com > email : [email protected] > blog : http://isurues.wordpress.com/ > > lean . enterprise . middleware > > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- *Anjana Fernando* Associate Technical Lead WSO2 Inc. | http://wso2.com lean . enterprise . middleware
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
