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

Vjacheslav Borisov commented on CXF-5854:
-----------------------------------------

I can set it using 
    <bean id="xsltProvider" 
class="org.apache.cxf.jaxrs.provider.XSLTJaxbProvider" >
        <property name="resolver" ref="uriResolver"/>
        <property name="refreshTemplates" value="true"/>
    </bean>

But this is not very good solution as it requires to not forget change 
beans.xml 
May be good solution is get this variable from JNDI 
web.xml
    <env-entry>
        <description>XSLTJaxbProvider refreshMode</description>
        <env-entry-name>refreshMode</env-entry-name>
        <env-entry-type>java.lang.Boolean</env-entry-type>
        <env-entry-value>false</env-entry-value>
    </env-entry>

And set it using context in dev tomcat:
<Environment name="refreshMode" value="true" type="java.lang.Boolean" 
override="false"/>

But I am new to spring and don't know is jndi accesible from beans.xml or not.



> 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)

Reply via email to