You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2014/07/10 11:56:04 UTC

[jira] [Commented] (CXF-5854) Add property "refreshTemplates" to XSLTJaxbProvider

    [ https://issues.apache.org/jira/browse/CXF-5854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14057328#comment-14057328 ] 

Sergey Beryozkin commented on CXF-5854:
---------------------------------------

So you'd have XSLTJaxbProvider with a parameterized refreshTemplates property ? Will be set to "true" at the dev time, and to "false" in the production ? 

Perhaps we can set it to AbstractConfigurableProvider which XSLTJaxbProvider extends and in the setter issue a LOG INFO message that 'this property has been set, make sure it is not set in the production as it will significantly slow down the service. if we were to do it then the refreshment would have to be done in writeTo/readFrom to minimize the refreshment 'noise' even at the dev time...

Cheers, Sergey

> Add property "refreshTemplates" to XSLTJaxbProvider
> ---------------------------------------------------
>
>                 Key: CXF-5854
>                 URL: https://issues.apache.org/jira/browse/CXF-5854
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>    Affects Versions: 3.0.0
>            Reporter: Vjacheslav Borisov
>            Priority: Minor
>
> Netbeans has feature named "Deploy on save" http://wiki.netbeans.org/FaqDeployOnSave, which allows to compile classes and copy static resources to web root "on save".
> But this is not works with XSLTJaxbProvider, which caches internally its templates and XSLTJaxbProvider does not see changed resources.
> This can be "fixed" using parameter like "refreshTemplates", which, if set to true,
> cleans all loaded templates on each request. This can be useful and save lot of time in development environment.
> {code:title=XSLTJaxbProvider.java|borderStyle=solid}
> public class XSLTJaxbProvider<T> extends JAXBElementProvider<T> {
>     public boolean isWriteable(Class type, Type genericType, Annotation[] anns, MediaType mt) {
> /* cut */
>         if (refreshTemplates) {
>             annotationTemplates=new ConcurrentHashMap<String, Templates>();
>            //refresh other types of templates
>         }
> /* cut */
>     }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)