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.

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
>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to