If you create VelocityContext yourself then you need to play all the
hops to get it working in OSGi land.
If you on the other hand use it as a Camel endpoint then we (try) to
make sure it works in osgi. I think we identified a bug recently.



On Thu, Sep 15, 2011 at 6:20 PM, Daniel Crompton
<d.cromp...@detelefoongids.nl> wrote:
>
> Hi,
>
>    I'm new to the list, and I was having some problems with
> camel-velocity. In my unit tests the velocity templates as used in the
> following piece of code resolve the location of the template on the
> classpath. However when I deploy the bundle to ServiceMix it doesn't
> find the file on the classpath eventhough it is in the bundle.
>
> I've looked for a solution and thought I might find one in the setting
> of the properties[3]
>
>
> [1]
> Velocity.init();
>
> VelocityContext context = new VelocityContext();
>
> context.put("textfullname", escapeHtml(fullName));
>
> StringWriter w = new StringWriter();
>
> Template template = Velocity.getTemplate("AddressModule.xml");
>
>
>
> [2]
> 17:57:48,806 | ERROR | 1 - file://inbox <file://inbox>  | velocity
> | ?                                   ? | 94 -
> org.apache.servicemix.bundle
> s.velocity - 1.7.0.1 | ResourceManager : unable to find resource
> 'AddressModule.xml' in any resource loader.
> 17:57:48,806 | ERROR | 1 - file://inbox <file://inbox>  |
> DefaultErrorHandler              | ?                                   ?
> | 57 - org.apache.camel.camel-core
> - 2.7.1.fuse-00-43 | Failed delivery for exchangeId:
> ID-DTAMS0883-4138-1316102252587-2-30. Exhausted after delivery attempt:
> 1 caught: org.apache.velo
> city.exception.ResourceNotFoundException: Unable to find resource
> 'AddressModule.xml'
> org.apache.velocity.exception.ResourceNotFoundException: Unable to find
> resource 'AddressModule.xml'
>        at
> org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(Re
> sourceManagerImpl.java:474)[94:org.apache.servicemix.bundles.veloci
> ty:1.7.0.1]
>        at
> org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(Res
> ourceManagerImpl.java:352)[94:org.apache.servicemix.bundles.velocit
> y:1.7.0.1]
>        at
> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.
> java:1533)[94:org.apache.servicemix.bundles.velocity:1.7.0.1]
>        at
> org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.
> java:1514)[94:org.apache.servicemix.bundles.velocity:1.7.0.1]
>        at
> org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleto
> n.java:299)[94:org.apache.servicemix.bundles.velocity:1.7.0.1]
>        at
> org.apache.velocity.app.Velocity.getTemplate(Velocity.java:358)[94:org.a
> pache.servicemix.bundles.velocity:1.7.0.1]
>        at
> nl.dtg.services.hi.HumanInferenceValidator.validateName(HumanInferenceVa
> lidator.java:180)[172:nl.dtg.services.hi:1.0.0.SNAPSHOT]
>
> [3]
>
>
> Dit bericht is afkomstig van De Telefoongids BV en uitsluitend bestemd voor 
> de geadresseerde. Dit bericht kan vertrouwelijke informatie bevatten. Als u 
> dit bericht per abuis hebt ontvangen, dan wordt u verzocht de afzender te 
> informeren en het bericht en eventuele bijlagen te vernietigen.
>
> Communicatie via Internet is niet beveiligd. De Telefoongids BV aanvaardt 
> geen aansprakelijkheid voor wijzigingen in de inhoud van het bericht en 
> eventuele bijlagen, onrechtmatige openbaarmaking ervan jegens derden of 
> schade als gevolg van gebruik van e-mailcommunicatie.
>
> De Telefoongids BV is gevestigd te Amsterdam (Handelregister nr. 27198207).
>
> ----------------------------------------------------------------------------------------------------------------------------
>
> This message is sent from De Telefoongids BV and is intended only for use by 
> the recipient. It may contain confidential information. If you are not the 
> intended recipient, please advise the sender immediately by reply e-mail and 
> delete this message and any attachments.
>
> Internet communications are not secure. De Telefoongids BV does not accept 
> any liability for mutilations to the contents of this message and attachments 
> thereto, if any, unlawful disclosure thereof to third parties, or damage 
> resulting from the use of e-mail communications.
>
> De Telefoongids BV is a private limited company with its seat in Amsterdam 
> (Trade Register no. 27198207).
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to