Java Azure 服务总线在 运行 时抛出错误
Java Azure service bus throwing error at run time
注入构造函数时出错,java.lang.NoClassDefFoundError:com/azure/messaging/servicebus/ServiceBusClientBuilder
尝试使用依赖版本:7.0.2。
还尝试使用最新版本的 azure 服务总线依赖项导致运行时错误。
尝试了所有 Azure 服务总线依赖性问题仍然存在。
如果您使用的是 Eclipse,则创建一个 Java 控制台应用程序,将您的 Java 项目转换为 Maven:
right-click Package Explorer 中的项目 window、select 配置 -> 转换为 Maven 项目。
然后,将这两个库的依赖添加到POM.xml文件中,如下例所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.myorg.sbusquickstarts</groupId>
<artifactId>sbustopicqs</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>15</release>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.7.0</version>
</dependency>
</dependencies>
</project>
参考以下示例代码将消息发送到服务总线队列:
import com.azure.messaging.servicebus.*;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.Arrays;
import java.util.List;
public class servicebusQueueSample{
static String connectionString = "<NAMESPACE CONNECTION STRING>";
static String queueName = "<QUEUE NAME>";
static void sendMessage()
{
// create a Service Bus Sender client for the queue
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.connectionString(connectionString)
.sender()
.queueName(queueName)
.buildClient();
// send one message to the queue
senderClient.sendMessage(new ServiceBusMessage("Hello, World!"));
System.out.println("Sent a single message to the queue: " + queueName);
}
}
参考此 link 以获取 Java 的 Azure 服务总线示例客户端库。
注入构造函数时出错,java.lang.NoClassDefFoundError:com/azure/messaging/servicebus/ServiceBusClientBuilder
尝试使用依赖版本:7.0.2。
还尝试使用最新版本的 azure 服务总线依赖项导致运行时错误。
尝试了所有 Azure 服务总线依赖性问题仍然存在。
如果您使用的是 Eclipse,则创建一个 Java 控制台应用程序,将您的 Java 项目转换为 Maven: right-click Package Explorer 中的项目 window、select 配置 -> 转换为 Maven 项目。
然后,将这两个库的依赖添加到POM.xml文件中,如下例所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.myorg.sbusquickstarts</groupId>
<artifactId>sbustopicqs</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>15</release>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.7.0</version>
</dependency>
</dependencies>
</project>
参考以下示例代码将消息发送到服务总线队列:
import com.azure.messaging.servicebus.*;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.Arrays;
import java.util.List;
public class servicebusQueueSample{
static String connectionString = "<NAMESPACE CONNECTION STRING>";
static String queueName = "<QUEUE NAME>";
static void sendMessage()
{
// create a Service Bus Sender client for the queue
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.connectionString(connectionString)
.sender()
.queueName(queueName)
.buildClient();
// send one message to the queue
senderClient.sendMessage(new ServiceBusMessage("Hello, World!"));
System.out.println("Sent a single message to the queue: " + queueName);
}
}
参考此 link 以获取 Java 的 Azure 服务总线示例客户端库。