簡體   English   中英

如何使用 JAVA 程序將消息從文件路由到 Azure 事件中心

[英]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獲取sharedAccessNamesharedAccessKey值。

在此處輸入圖片說明

在此處閱讀有關 Camel 的事件中心 URI 的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM