Apache camel spring nao le arquivo xml

0 respostas
D

Bom dia galera, estou com problema em um exemplo que peguei na internet utilizando o apache camel, nao da erro, ai pode ser que eu esteja errando nas libs, mas ja tentei trocar e nao obtive sucesso, segue abaixo o codigo:

A classe produtora:

public class PojoProducer {

	@Produce(uri = "activemq:queue:fila.cartao.visa")
	private ProducerTemplate producerVISA;

	@Produce(uri = "activemq:queue:fila.cartao.master")
	private ProducerTemplate producerMASTER;

	@Produce(uri = "activemq:queue:fila.cartao.outros")
	private ProducerTemplate producerOutros;

	@Consume(uri = "file://C:/temp/arquivos")
	public void quandoTemArquivosMandaParaFilaJMS(String msg,@XPath("/cc/bandeira/text()") String bandeira) {
		System.out.println(".....................................................................");
		if ("Master".toUpperCase().equals(bandeira.toUpperCase())) {
			producerMASTER.sendBody(msg);

		} else if ("Visa".toUpperCase().equals(bandeira.toUpperCase())) {
			producerVISA.sendBody(msg);
		}
		else {
			producerOutros.sendBody(msg);
		}
	}
}

A classe consumer:

public class PojoConsumer {
	  
	 private XStream xstream;
	  
	 @Autowired
	 @Qualifier("visa")
	 private CartaoService visa;
	  
	 @Autowired
	 @Qualifier("master")
	 private CartaoService master;
	  
	 @Autowired()
	 @Qualifier("outros")
	 private CartaoService outros;
	  
	  
	 public PojoConsumer() {
	  xstream = new XStream();
	  xstream.alias("cc", CartaoCredito.class);
	 }
	  
	 private CartaoCredito xmlToPojo(String msg){
	  return (CartaoCredito)xstream.fromXML(msg);
	 }
	  
	 @Consume(uri = "activemq:queue:fila.cartao.visa")
	 public void consumeVISA(String msg){
	  CartaoCredito cc = xmlToPojo(msg);
	  visa.efetuarPagamento(cc);
	 }
	  
	 @Consume(uri = "activemq:queue:fila.cartao.master")
	 public void consumeMASTER(String msg){
	  CartaoCredito cc = xmlToPojo(msg);
	  master.efetuarPagamento(cc);
	 }
	  
	 @Consume(uri = "activemq:queue:fila.cartao.outros")
	 public void consumeOutros(String msg){
	  CartaoCredito cc = xmlToPojo(msg);
	  outros.efetuarPagamento(cc);
	 }
	  
	}

O main:

public class CamelMain{
	public static void main(String[] args) { 
		try{   
			new ClassPathXmlApplicationContext(new String[] {"classpath:camel.xml"});
		}catch(Exception e){
			e.printStackTrace();
		} 
		
		System.out.println("Esta rodando.....................................");
	}
}

O xml do spring:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amq="http://activemq.apache.org/schema/core"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:camel="http://camel.apache.org/schema/spring"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
							http://www.springframework.org/schema/beans/spring-beans-2.5.xsd         
							http://www.springframework.org/schema/context 
							http://www.springframework.org/schema/context/spring-context-2.5.xsd               
							http://camel.apache.org/schema/spring 
							http://camel.apache.org/schema/spring/camel-spring.xsd        
							http://activemq.apache.org/schema/core 
							http://activemq.apache.org/schema/core/activemq-core.xsd">

	<camelContext xmlns="http://camel.apache.org/schema/spring" />

	<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
		<property name="brokerURL" value="tcp://localhost:61616" />
	</bean>

	<context:component-scan base-package="testeCamel" />

	<bean class="testeCamel.PojoConsumer" />
	<bean class="testeCamel.PojoProducer" />
</beans>

A lista dos jar no meu classpath:

xstream-1.4.4.jar
commons-logging-1.1.3.jar
mysql-connector-java-5.1.25-bin.jar
spring-aop-4.0.0.M1.jar
spring-aspects-4.0.0.M1.jar
spring-beans-4.0.0.M1.jar
spring-build-src-4.0.0.M1.jar
spring-context-4.0.0.M1.jar
spring-context-support-4.0.0.M1.jar
spring-core-4.0.0.M1.jar
spring-expression-4.0.0.M1.jar
spring-instrument-4.0.0.M1.jar
spring-instrument-tomcat-4.0.0.M1.jar
spring-jdbc-4.0.0.M1.jar
spring-jms-4.0.0.M1.jar
spring-orm-4.0.0.M1.jar
spring-oxm-4.0.0.M1.jar
spring-test-4.0.0.M1.jar
spring-tx-4.0.0.M1.jar
spring-web-4.0.0.M1.jar
spring-webmvc-4.0.0.M1.jar
spring-webmvc-portlet-4.0.0.M1.jar
spring-websocket-4.0.0.M1.jar
ojdbc6.jar
activemq-camel-5.8.0.jar
camel-core-2.10.3.jar
camel-jms-2.10.3.jar
camel-krati-2.11.1.jar
camel-spring-2.10.3.jar
quartz-2.2.0.jar
slf4j-api-1.6.6.jar
xmlbeans-1.0.jar
activemq-all-5.1.0.jar
commons-dbcp-all-1.3.jar
jcl-over-slf4j-1.6.6.jar
caso queiram dar uma olhada no link do exemplo segue o link: http://diego-pacheco.blogspot.com.br/2010/02/camel-e-activemq-na-pratica-usando.html

Ao executar o main ele imprimi o sysout da classe main mas nao executa os metodos anotados com @Produce e @Consume, desde ja valeu :)

Criado 6 de setembro de 2013
Respostas 0
Participantes 1