74 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| package com.release11;
 | |
| 
 | |
| import com.mysql.cj.jdbc.MysqlDataSource;
 | |
| import org.apache.activemq.ActiveMQConnectionFactory;
 | |
| import org.apache.activemq.command.ActiveMQMapMessage;
 | |
| import org.apache.camel.*;
 | |
| import org.apache.camel.builder.RouteBuilder;
 | |
| import org.apache.camel.component.jms.JmsComponent;
 | |
| import org.apache.camel.impl.DefaultCamelContext;
 | |
| import org.apache.camel.support.SimpleRegistry;
 | |
| import org.apache.log4j.BasicConfigurator;
 | |
| 
 | |
| public class Main {
 | |
| 
 | |
|     public static void main(String[] args) throws Exception {
 | |
| 
 | |
|         //MyBuilder myBuilder = new MyBuilder();
 | |
|         //myBuilder.doRandomMaterials();
 | |
|         //myBuilder.doRandomPackage();
 | |
| 
 | |
|         //to("log:?level=INFO&showHeaders=true&showBody=true")
 | |
| 
 | |
|         MysqlDataSource source = new MysqlDataSource();
 | |
|         String jacek = "jdbc:mysql://10.101.111.19:3306/camel_db";
 | |
|         source.setURL(jacek);
 | |
|         source.setUser("root");
 | |
|         source.setPassword("admin");
 | |
|         SimpleRegistry registry = new SimpleRegistry();
 | |
|         registry.bind("source", MysqlDataSource.class, source);
 | |
|         CamelContext context = new DefaultCamelContext(registry);
 | |
|         BasicConfigurator.configure();
 | |
|         ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://10.101.111.19:8088");
 | |
|         connectionFactory.setUserName("admin");
 | |
|         connectionFactory.setPassword("admin");
 | |
|         context.addComponent("activemq", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
 | |
| 
 | |
|         DAO myFunctions = new DAO();
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|         context.addRoutes(new RouteBuilder() {
 | |
|             @Override
 | |
|             public void configure() throws Exception {
 | |
| 
 | |
|                 from("direct:start")
 | |
|                         .setBody(constant("SELECT * FROM material LIMIT 10"))
 | |
|                         .to("jdbc:source")
 | |
|                         .split(body())
 | |
|                         .to("activemq:queue:material");
 | |
| 
 | |
|                 from("activemq:queue:material")
 | |
|                         .split(body())
 | |
|                         //.bean(myFunctions, "getId")
 | |
|                         .setHeader("id", simple("${body[id]}"))
 | |
|                         .setBody(constant("SELECT * FROM package WHERE material_id = :?id"))
 | |
|                         .to("jdbc:source?useHeadersAsParameters=true")
 | |
|                         .to("activemq:queue:materialPackage");
 | |
|                         //.to("log:?level=INFO&showBody=true");
 | |
| 
 | |
|             }
 | |
|         });
 | |
| 
 | |
|         context.start();
 | |
|         ProducerTemplate template = context.createProducerTemplate();
 | |
|         template.sendBody("direct:start", null);
 | |
|         Thread.sleep(1000);
 | |
|         //template.setDefaultEndpointUri("activemq:queue:material");
 | |
| 
 | |
|         context.stop();
 | |
|     }
 | |
| }
 |