[英]How to Route message from file to Azure Event Hub Using JAVA Program
//SimpleRouteBuilder
import org.apache.camel.builder.RouteBuilder;
public class SimpleRouteBuilder extends RouteBuilder{
@Override
public void configure() throws Exception {
from("file:d:/InputFolderForCamel").split().tokenize("\n").to("jms:queue:javainuse");
}
//MainClass
SimpleRouteBuilder routeBuilder = new SimpleRouteBuilder();
CamelContext ctx = new DefaultCamelContext();
//configure jms component
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://0.0.0.0:61616");
ctx.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
try {
ctx.addRoutes(routeBuilder);
ctx.start();
Thread.sleep(5 * 60 * 1000);
ctx.stop();
}
catch (Exception e) {
e.printStackTrace();
}
它與 ActiveMQ 一起工作正常。
我想用 Azure 事件中心編寫相同的 java 程序。 文件必須由 Camel 讀取並路由到 Azure 事件中心
from("file:d:/InputFolderForCamel").split().tokenize("\n").
to("azure-eventhubs://[namespace/eventHubName][?options]");
URI 格式:azure-eventhubs://[namespace/eventHubName][?options]
如果您提供 connectionString,則不需要 namespace 和 eventHubName,因為這些選項已包含在 connectionString 中。
例如: azure-eventhubs://camel/camelHub?sharedAccessName={your-SASpolicyName}&sharedAccessKey={your-SASaccessKey}
如果您想使用原始連接字符串,它將是azure-eventhubs:?connectionString=Endpoint=sb://{your-namespace-name}.servicebus.windows.net/;SharedAccessKeyName={your-SASpolicyName};SharedAccessKey={your-SASaccessKey};EntityPath={event-hub-name}
你可以從 Azure 門戶 -> 你的事件中心命名空間 -> '共享訪問策略' sharedAccessName
sharedAccessKey
獲取sharedAccessName
和sharedAccessKey
值。
在此處閱讀有關 Camel 的事件中心 URI 的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.