Spring JMS with Azure Service Bus

作者:Rui 发布时间:May 20, 2016 分类:JAVA,Azure,CLOUD 浏览:907

Spring JMS 整合Azure Service Bus,JMS API实现 依然借助于Qpid JMS Client的实现。

源码下载地址:spring-jms-servicebus-demo

Qpid JMS Client 连接 Azure Service Bus 的文档,请参考:
http://arui.me/index.php/archives/120/

首先,创建Maven 项目,将Spring JMS和Qpid的依赖加入到POM中。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.6.RELEASE</version>
    </dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jms</artifactId>
    <version>4.2.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.apache.qpid</groupId>
    <artifactId>qpid-jms-client</artifactId>
    <version>0.9.0</version>
</dependency>

之后,设置配置文件,并通过Spring读取配置文件

servicebus.hostname=amqps://kevinsb.servicebus.chinacloudapi.cn?amqp.idleTimeout=200000
servicebus.username=RootManageSharedAccessKey
servicebus.password=n6Kh4vcfEpSjD0oAZrmPtNF1oFEoVLsOra4FB4c36UM=
servicebus.queue=queue1

阅读剩余部分...

Using JMS with Azure Service Bus and AMQP 1.0 (New)

作者:Rui 发布时间:May 18, 2016 分类:JAVA,Azure,CLOUD 浏览:891

Microsoft Azure Service Bus 是微软提供的消息服务总线云服务,支持消息队列, 主题订阅,点对点消息, Event Hubs功能。类似于ActiveMQ的功能, Service Bus是支持AMQP 1.0协议的,所以基于AMQP 1.0协议实现的JMS客户端均都可以连接 Service Bus发送接受消息。

本文将采用Apache Qpid 来连接Service Bus 的消息队列,简单实现一个发送接收消息队列的功能。
Azure 官网提供的示例和文档,均是使用较旧的Qpid客户端,本文将使用最新的 Qpid JMS 0.9 去连接Service Bus.
可以从Qpid 官网中,看出最新的Qpid JMS client 是支持AMQP1.0协议的。
Untitled picture.png

using AMQP with Service Bus Queue

首先,引入Qpid JMS client lib,使用Maven配置依赖

<dependency>
    <groupId>org.apache.qpid</groupId>
    <artifactId>qpid-jms-client</artifactId>
    <version>0.9.0</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.5</version>
</dependency>

阅读剩余部分...

Java 调用 Azure HTTPS API 证书问题

作者:Rui 发布时间:May 16, 2016 分类:JAVA,Azure,CLOUD 浏览:830

Java 访问 Azure HTTPS的API时,会经常报:PKIX:unable to find valid certification path to requested target 这样的错误,这是因为Java有自己的KeyStore,并不会使用系统的证书, Java在自己的KeyStore中找不到对应的信任证书,就会报出此错误。所以如果需要使用Java访问Azure的HTTPS的API,就需要将Azure 网站的证书添加到JDK的KeyStore中。

以下是手动导入的方式:

  1. Azure 使用Wosign的证书, 从http://www.wosign.com/Root/index.htm# 站点下载WoSign 根证书(Certification Authority of WoSign),将.crt 文件后缀改为 .cer

  2. 执行以下命令导入

    keytool -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" -importcert -alias WoSign -file WS_CA1_NEW.cer
    

    接下来 会提示输入密码,默认密码为 changeit,输入之后,选择‘是’将其安装到JDK 可信证书库中。

  3. 如果看到以下结果,则导入成功。
    Image.png

也可以借助以下代码,将证书自动带入JDK的KeyStore,请参开此文档:http://arui.me/index.php/archives/69/

使用 Azure Resource Manage JAVA API 管理 Azure 资源

作者:Rui 发布时间:March 23, 2016 分类:JAVA,Azure,CLOUD 浏览:987

Azure提供两种资源管理模式,Service Manage 和Resource Manage, Service Manage 是相对较旧的管理模式,目前Azure Global 最新的管理界面已经完全使用Resource Manage的方式来管理Azure 资源,而中国Azure更新相对Global较为迟缓,依然使用经典的管理界面来管理资源,而旧的管理界面大多是以Service Manage的API来管理资源,所以目前在国内,依然使用Service Manage的API来管理资源。

虽然国内没有更新管理界面,但是部分Resource Manage的API,已经在服务端部署,所以我们也是可以使用Resource Manage的API来操作Azure资源,只是创建的资源目前在Portal界面是无法看到的。

以下是具体使用Resource Manage来操作Azure 资源。

在PowerShell中,登录Azure 账户

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

选择当前订阅ID

Set-AzureRmContext -SubscriptionId <subscription ID>

阅读剩余部分...

Azure Eclipse 插件离线安装

作者:Rui 发布时间:March 11, 2016 分类:JAVA,Azure,CLOUD 浏览:1,612

下载插件包 (版本2.8)
azure 2.8.0.zip

安装插件
将插件解压缩到Eclipse 安装目录下dropins文件夹内,之后重启Eclipse

注意:如果之前安装过Eclipse,请删除用户目录下的的.eclipse文件夹