changed project structure
This commit is contained in:
68
src/main/java/com/release11/Main.java
Normal file
68
src/main/java/com/release11/Main.java
Normal file
@@ -0,0 +1,68 @@
|
||||
package com.release11;
|
||||
|
||||
import com.mysql.cj.jdbc.MysqlDataSource;
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.camel.AggregationStrategy;
|
||||
import org.apache.camel.CamelContext;
|
||||
import org.apache.camel.ProducerTemplate;
|
||||
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));
|
||||
|
||||
|
||||
AggregationStrategy aggregationStrategy = new MyAggregation();
|
||||
|
||||
|
||||
DAO dao = new DAO();
|
||||
context.addRoutes(new RouteBuilder() {
|
||||
@Override
|
||||
public void configure() throws Exception {
|
||||
from("direct:start").to("jdbc:source")
|
||||
.split(body())
|
||||
.bean(dao,"splitMaterial")
|
||||
.to("activemq:queue:material")
|
||||
.to("log:?level=INFO&showHeaders=true&showBody=true");
|
||||
|
||||
from("activemq:queue:material")
|
||||
.enrich("jdbc:source",aggregationStrategy)
|
||||
.to("activemq:queue:materialPackage")
|
||||
.to("log:?level=INFO&showHeaders=true&showBody=true");
|
||||
}
|
||||
});
|
||||
|
||||
context.start();
|
||||
ProducerTemplate template = context.createProducerTemplate();
|
||||
template.sendBody("direct:start", "SELECT * FROM material LIMIT 1");
|
||||
|
||||
Thread.sleep(1000);
|
||||
template.setDefaultEndpointUri("activemq:queue:material");
|
||||
|
||||
context.stop();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user