changed project structure

This commit is contained in:
2021-11-16 11:07:00 +01:00
parent 61b4dfef99
commit 3d687e0845
33 changed files with 29 additions and 196 deletions

View 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();
}
}