Hi Mark,

The following is added in server.xml:

 <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

              <Environment name="my/secret/password" value="JohnDoe" 
type="java.lang.String"/>
  </GlobalNamingResources>

And the following is added in context.xml:

  <Environment name="my/local/test" value="local test" type="java.lang.String" 
override="false"/>
  <ResourceLink name="my/secret/password" global="my/secret/password" 
type="java.lang.String" />

If I try to get "my/local/test", it works and I get "local test". But if I try 
to get " my/secret/password", it returns NULL.

Regards,
Chinoy

-----Original Message-----
From: Mark Thomas [mailto:ma...@apache.org] 
Sent: Friday, September 30, 2016 6:00 PM
To: Tomcat Users List <users@tomcat.apache.org>
Subject: Re: Unable to access Global JNDI Resource

On 30/09/2016 13:20, Chinoy Gupta wrote:
> Hi Mark,
> 
> This is my stacktrace:
> 
>       ResourceLinkFactory.validateGlobalResourceAccess(String) line: 109      
>       ResourceLinkFactory.getObjectInstance(Object, Name, Context, 
> Hashtable<?,?>) line: 142  
>       NamingManager.getObjectInstance(Object, Name, Context, Hashtable<?,?>) 
> line: 321        
>       NamingContext.lookup(Name, boolean) line: 847   
>       NamingContext.lookup(Name) line: 158    
>       NamingContext.lookup(Name, boolean) line: 835   
>       NamingContext.lookup(Name) line: 158    
>       NamingContext.lookup(Name, boolean) line: 835   
>       NamingContext.lookup(String) line: 172
> 
> validateGlobalResourceAccess function returns false and then 
> getObjectInstance returns NULL.

You haven't defined a ResourceLink.

Mark

> 
> Regards,
> Chinoy
> 
> 
> -----Original Message-----
> From: Mark Thomas [mailto:ma...@apache.org]
> Sent: Friday, September 30, 2016 5:28 PM
> To: Tomcat Users List <users@tomcat.apache.org>
> Subject: Re: Unable to access Global JNDI Resource
> 
> On 30/09/2016 12:50, Chinoy Gupta wrote:
>> I am getting NULL instead of the resource's value. I debugged the 
>> tomcat code and figured out that in ResourceLinkFactory.java, before 
>> fetching the resource there is a validation based on current 
>> classloader. That validation fails and tomcat returns NULL.
> 
> The above statement is not correct. If the class loader based validation 
> fails, Tomcat throws an exception. It does not return null.
> 
> Mark
> 
>>
>> -----Original Message----- From: Mark Thomas 
>> [mailto:ma...@apache.org]
>> Sent: Friday, September 30, 2016 4:11 PM
>> To: Tomcat Users List <users@tomcat.apache.org> Subject: Re: Unable 
>> to access Global JNDI Resource
>>
>> On 30/09/2016 11:30, Chinoy Gupta wrote:
>>> Hi,
>>>
>>> I have a web application which runs on tomcat. In server.xml, I 
>>> provide some resources under "<GlobalNamingResources> section" and 
>>> then provide a ResourceLink to the same in context.xml. And then I 
>>> fetch that resource in my application. This was working properly 
>>> earlier but started breaking with 8.0.37.
>>
>> Define breaking. Ideally with a stack trace.
>>
>> Mark
>>
>>
>>> I think the reason is the extra validation check introduced in 
>>> ResourceLinkFactory class. My application has its own classloader 
>>> and when I try to fetch the JNDI resource, the Thread's classloader 
>>> is my custom one rather than the default one. Because of that 
>>> validation fails and tomcat returns NULL. Is there a way to fix this 
>>> through configuration or any other means?
>>>
>>> Regards, Chinoy
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>>
>>
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>>
>>
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to