velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ChadDavis <chadmichaelda...@gmail.com>
Subject Re: caching with multiple resource loaders
Date Tue, 17 Feb 2009 17:07:41 GMT
I'd be happy to share the fix.

On Tue, Feb 17, 2009 at 10:04 AM, Nathan Bubna <nbubna@gmail.com> wrote:
> Sure,  the default implementation class is:
> http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java?revision=729843&view=markup
>
> You can change that using this property:
> resource.manager.class =
> org.apache.velocity.runtime.resource.ResourceManagerImpl
>
> The ResourceManager sits atop the ResourceCache and the
> ResourceLoaders, coordinating their activity.  I think the basic
> problem is that when multiple loaders are configured, the
> ResourceManager is not paying attention to which loader a cached
> resource came from.   I imagine changing the refreshResource method to
> check if a cached resource that came from a lower-rung resource loader
> can be found in a higher one should do the trick.
>
> If you do get around to fixing this for yourself, would you consider
> sharing the fix?
>
> On Tue, Feb 17, 2009 at 8:51 AM, ChadDavis <chadmichaeldavis@gmail.com> wrote:
>> Can you give me a little low down on how the ResourceManager works
>> with the ResourceLoaders?  Maybe I can do a little fix and build for
>> my own needs.
>>
>> On Mon, Feb 16, 2009 at 10:30 PM, Nathan Bubna <nbubna@gmail.com> wrote:
>>> I don't think you're doing anything wrong, just something that no one
>>> else has tried.  I think this is a limitation of the default
>>> ResourceManager implementation.  Would you open a JIRA issue for this?
>>>  It seems like something that could and should be fixed.
>>>
>>> On Mon, Feb 16, 2009 at 4:16 PM, ChadDavis <chadmichaeldavis@gmail.com>
wrote:
>>>> I've got an app where I use a file resource loader followed by a
>>>> classpath resource loader.  I want the templates in the file location
>>>> to override the templates on the classpath.  This works partially.  If
>>>> a template with the same name is in both locations, it definitely
>>>> picks up the one in the file system.  If I remove the filesystem
>>>> template, during run time, the template on the classpath is then
>>>> found.  So far, so good.  If I then, however, try to put the template
>>>> back in the file system location, it is NOT picked up.
>>>>
>>>> Note, this is all during run time.  If I restart my app ( a web
>>>> application -- not using the velocity servlet ), the filesystem
>>>> template is again picked up.
>>>>
>>>>
>>>> Here is my configuration:
>>>>
>>>> #resource.loader=class
>>>>  resource.loader=file, class
>>>>
>>>> # File resource loader information
>>>> #
>>>> file.resource.loader.description=Velocity File Resource Loader
>>>> file.resource.loader.class=org.apache.velocity.runtime.resource.loader.FileResourceLoader
>>>> file.resource.loader.cache=true
>>>> file.resource.loader.modificationCheckInterval=1
>>>> file.resource.loader.path=/home/readyportal/Desktop/machineOneWorkspaces/bipSpace/BIP/src/wego/velocity/templates/
>>>>
>>>> #file.resource.loader.path=/home/readyportal/ReadyPortal/conf/velocity/templates/
>>>>
>>>> #
>>>> # Class resource loader information
>>>> #
>>>> class.resource.loader.description=Velocity Classpath Resource Loader
>>>> class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
>>>> class.resource.loader.cache=true
>>>> class.resource.loader.modificationCheckInterval=1
>>>>
>>>>
>>>> Other notes:
>>>>
>>>> If I turn the caching off on the classpath resource loader ( i.e.
>>>> change only the class.resource.loader.cache to false in the above
>>>> config ), everything works at runtime.
>>>>
>>>> What am I doing wrong?
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
>>>> For additional commands, e-mail: user-help@velocity.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
>>> For additional commands, e-mail: user-help@velocity.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
>> For additional commands, e-mail: user-help@velocity.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
> For additional commands, e-mail: user-help@velocity.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
For additional commands, e-mail: user-help@velocity.apache.org


Mime
View raw message