gpt4 book ai didi

java - 尝试使用 java EventHubClient API 将事件发送到 Azure 事件中心时出现“连接中止”错误

转载 作者:行者123 更新时间:2023-12-02 03:11:59 24 4
gpt4 key购买 nike

我正在尝试编写一个java发布程序,以向事件中心发送一条消息。但是,当我尝试执行它时,我收到连接中止错误。我正在使用下面的链接(azure-eventhubs)和0.9.0版本中指定的maven依赖项下面是我试图遵循的链接和主要方法。

https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-java-ephcs-getstarted

public static void main(String[] args)
throws ServiceBusException, ExecutionException, InterruptedException, IOException {
final String namespaceName = "<namespace name>";
final String eventHubName = "<created with same name as namespace>";
final String sasKeyName = "RootManageSharedAccessKey";
final String sasKey = "<primary key from shared acccess policies>";

ConnectionStringBuilder connStr = new ConnectionStringBuilder(namespaceName, eventHubName, sasKeyName, sasKey);

byte[] payloadBytes = "Test AMQP message from JMS, Yaay it works".getBytes("UTF-8");
EventData sendEvent = new EventData(payloadBytes);

EventHubClient ehClient = EventHubClient.createFromConnectionStringSync(connStr.toString());
ehClient.sendSync(sendEvent);
}

这是我收到的错误的堆栈跟踪。如有任何帮助,我们将不胜感激。

  error[connection aborted]
Exception in thread "main" com.microsoft.azure.servicebus.ServiceBusException: connection aborted
at com.microsoft.azure.servicebus.ExceptionUtil.toException(ExceptionUtil.java:93)
at com.microsoft.azure.servicebus.MessagingFactory.onConnectionError(MessagingFactory.java:187)
at com.microsoft.azure.servicebus.amqp.ConnectionHandler.onTransportError(ConnectionHandler.java:105)
at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:191)
at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:309)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:276)
at com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:340)
at java.lang.Thread.run(Thread.java:745)

最佳答案

是的,这绝对是防火墙问题,您需要使用以下代码来帮助您解决将数据写入EventHub时的连接问题。

希望这有帮助!

final ConnectionStringBuilder connStr = new ConnectionStringBuilder()
.setNamespaceName("Your namespace name")
.setEventHubName("Your eventHub Name")
.setSasKeyName("Enter the SAS key name")
.setSasKey("SAS Key details");

connStr.setTransportType(TransportType.AMQP_WEB_SOCKETS);
ProxySelector.setDefault(new ProxySelector() {
@Override
public List<Proxy> select(URI uri) {
LinkedList<Proxy> proxies = new LinkedList<>();
proxies.add(new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy information" ,port)));
return proxies;
}
@Override
public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
// trace and follow up on why proxy server is down
}
});

关于java - 尝试使用 java EventHubClient API 将事件发送到 Azure 事件中心时出现“连接中止”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40905400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com