Problema com Velocity [Resolvido]

1 resposta
vanderlanio

Senhores
Tenho o metodo baixo para carregar os templates do Velocity , para cada sistema tenho um templete , aconteceque que depois que ele carrega a propriedade file.resource.loader.path não consigo mais alterar só matando o Jboss . Já tentei até usar a o metodo Velocity.clearProperty(key) , ainda sim ele fica com o diretorio anterior em memoria. alguma dica ??

private void init(SystemDefinition systemDefinition) {
		log.info("Init Velocity File Resource Loader");

		try {
			Properties properties = new Properties();
			properties.put("file.resource.loader.path", systemDefinition.getDeployDirectory());
			properties.put("resource.loader", "file");
			properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
			Velocity.init(properties);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

1 Resposta

vanderlanio
vanderlanio:
Senhores Tenho o metodo baixo para carregar os templates do Velocity , para cada sistema tenho um templete , aconteceque que depois que ele carrega a propriedade file.resource.loader.path não consigo mais alterar só matando o Jboss . Já tentei até usar a o metodo Velocity.clearProperty(key) , ainda sim ele fica com o diretorio anterior em memoria. alguma dica ??
private void init(SystemDefinition systemDefinition) {
		log.info("Init Velocity File Resource Loader");

		try {
			Properties properties = new Properties();
			properties.put("file.resource.loader.path", systemDefinition.getDeployDirectory());
			properties.put("resource.loader", "file");
			properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
			Velocity.init(properties);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Solução :
O atributo file.resource.loader.path recebe uma lista de diretorio (string separado por virgula) criei um metodo que retorno uma string esses diretorios e problema resolvido, ele consegue achar todos os templetes em diretórios diferentes !

Fico:

/**
         *  arguments paths - string de paths separados por ',' 
         *  ex: tmp/system1, tmp/system2
         **/
	private void init(String paths) {
		log.info("Init Velocity File Resource Loader");

		try {
			Properties properties = new Properties();
			properties.put("file.resource.loader.path",paths);
			properties.put("resource.loader", "file");
			properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
			Velocity.init(properties);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
[/quote]
Criado 12 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 1
Participantes 1