openshift学习

OpenShift是“红帽开发的开放式混合云应用程序平台”。 它具有不同的风格,对于大多数您想做的事情,最有趣的部分是公共云应用程序开发和托管平台“ OpenShift Online ”。 您可以轻松地尝试一下,因为在云中使用OpenShift Online是免费的,而且很容易。 它所需要的只是一个电子邮件地址 。 该免费产品最多允许三个基本的小型设备,并可以托管来自多种不同语言和框架的三个应用程序。 如果您需要更多,可以将您的计划升级到付费版本。 有关更多详细信息,请访问在线功能比较网站 。

OpenShift上的JBoss A-MQ

Java消息服务是跨系统通信的有效方法,即使在非Java应用程序之间也是如此。 通过基于开放源代码技术和强大的标准,RedHat OpenShift使开发人员可以轻松地将其JMS应用程序移动到云中,或编写利用JMS消息和加密的Internet连接的新系统。

这篇文章将介绍使用两个主要应用程序的方法:用于托管Web应用程序的WildFly 8和用于异步消息传递的JBoss A-MQ 。 这两个应用程序都可以在OpenShift的免费层中运行。

创建一个A-MQ装备

通过将A-MQ部署到OpenShift云,您的设备将收到几个可公开访问的端口。 然后,客户端系统可以使用这些远程端口连接到您的A-MQ服务。 端点需要加密,因此不会在Internet上以纯文本形式发送JMS消息。

创建A-MQ装备的第一步是克隆现有的JBoss Fuse A-MQ墨盒。 对于那些对墨盒管理感兴趣的人,可以查看有关该墨盒的完整详细信息 。 (注意:如果您正在寻找带有ActiveMQ的上游墨盒, 请查看此博客。 )

rhc create-app amq http://is.gd/Q5ihum

创建后,该齿轮会提供三个重要的信息:

  1. 您将用于登录JBoss Fuse的管理密码,用于管理A-MQ。
  2. 客户与A-MQ进行通信所必须具有的新公钥。 该信息如下所示:

    ––BEGIN证书-

    -结束证书-

  3. A-MQ用于远程连接的公共端口列表。

在OpenShift上管理加密

客户端和您的OpenShift设备之间的区别在于OpenShift需要私钥。 如果需要更改密钥,则密钥库文件为FILENAME。 如果更改密钥,则客户端必须具有公共密钥才能信任它。 如果更改键,则必须重新启动齿轮。 如果您在创建齿轮时忘记了复制证书,并且更改了密钥库并需要提取密钥,请使用以下命令:

keytool -list -keystore ~/jboss-amq/jboss-a-mq-6.1.0.redhat-378/etc/keystore.jks
keytool -exportcert -alias (whatever it says) -keystore -file openshiftamq.cer

使用SFTP客户端下载openshiftamq.cer文件并配置客户端。

在客户端上管理加密

  1. 将密钥文本复制到名为amqpublic.cer的文件中。 复制每一行,包括BEGIN和END行。
  2. 将公共证书导入到客户将使用的信任库中。
    keytool -importcert -alias openshiftamq -file openshiftamq.cer openshiftamq.jks
  3. 将openshiftamq.jks文件作为应用程序的类路径资源或令人难忘的地方。 您不再需要.cer文件,但仍可以保留它。
  4. 在客户端代码中,将此信任库配置为与A-MQ连接一起使用。 如果不执行此步骤,则客户端将不信任服务器。
    private ConnectionFactory connection(String url) {ActiveMQSslConnectionFactory connectionFactory = new ActiveMQSslConnectionFactory(url);try {connectionFactory.setTrustStore("openshiftamq.jks"); //or file if not in classpath root} catch (Exception ex) {Logger.getLogger(getClass().getName()).log(Level.SEVERE, "Unable to load trust store.", ex);}connectionFactory.setTrustStorePassword("put your password here");return connectionFactory;
    }

客户远程通讯

使用OpenShift保险丝A-MQ装置的好处之一是可以暴露多个外部端口。 因此,您的A-MQ服务可用,而无需rhc port-forward命令。 A-MQ客户的URL如下所示:

ssl://gearname-YourDomain.rhcloud.com:PORT
  • 齿轮名–管理控制台中齿轮的名称。
  • YourDomain –您的标准OpenShift域。
  • PORT –创建盒带时提供的数字端口号。

使用上面的ConnectionFactory代码配置客户端。

OpenShift Gear中的其他ActiveMQ配置

您的OpenShift实例中提供了标准A-MQ实例的许多配置选项。 为此的配置文件是:

~/jboss-amq/jboss-a-mq-6.1.0.redhat-78/etc/activemq.xml

有一些警告。 即,您可以更改<transportConnector />的协议,但不能更改IP或端口。 这些端口由您的OpenShift Gear控制,并且实际上是外部区域唯一允许的端口。

防止齿轮空转

OpenShift被设计为资源共享系统,空闲资源实际上将进入睡眠状态直到被访问。 JMS在OpenShift上造成了一个特殊的问题,即如果JMS处于空闲状态,则连接将不起作用,新客户端也将无法连接。

为防止这种情况,请自动执行一个脚本,该脚本会定期与JBoss Fuse Web控制台进行交互,或者始终保持至少一个客户端与您的A-MQ连接。

翻译自: https://www.javacodegeeks.com/2014/11/jms-with-jboss-a-mq-on-openshift-lessons-learned-about-remote-clients-and-encryption.html

openshift学习

openshift学习_在OpenShift上将JMS与JBoss A-MQ结合使用。 学习了有关远程客户端和加密的经验。...相关推荐

  1. 在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...

    OpenShift是"红帽开发的开放式混合云应用程序平台". 它具有不同的风格,对于大多数您想做的事情,最有趣的部分是公共云应用程序开发和托管平台" OpenShift ...

  2. openshift 部署_在OpenShift上部署Java EE微服务

    openshift 部署 我昨天用WildFly Swarm在博客上发布了有关简单JAX-RS微服务的博客. 您学习了如何使用Maven构建所谓的"胖子",还使用Maven Doc ...

  3. PyCharm社区版支持深度学习_在Windows的Ubuntu子系统运行支持CUDA的深度学习代码

    2020年6月,微软公布了Windows Subsystem for Linux 2的最新更新,全面支持CUDA和N卡GPU.在Windows上跑Ubuntu子系统并在其中运行GPU加速的深度学习代码 ...

  4. 人声抑制 深度学习_一种融合骨振动传感器和麦克风信号的深度学习语音提取和降噪方法与流程...

    本发明涉及电子设备语音降噪技术领域,更具体地说,涉及一种融合骨振动传感器和麦克风信号的深度学习降噪方法. 背景技术: 语音降噪技术是指从带噪语音信号中分离出语音信号,该技术拥有广泛的应用,通常有单麦克 ...

  5. openshift安装_云幸福–如何在几分钟内安装新的OpenShift Container Platform 3.7

    openshift安装 此安装需要安装Red Hat Middleware产品流(预配置的容器选项)以及所有其他功能,例如源容器,映像容器和.Net Core容器.自OpenShift容器平台发布以来 ...

  6. python ui bs_Guibs的Python学习_列表

    Guibs 的 Python学习_列表# 列表# 列表由一系列按特定顺序排列的元素组成, 其中元素和元素之间可以没有任何关系 # 在 Python 中, 用方括号 [] 来表示列表, 并用逗号 , 分 ...

  7. openshift介绍及centos7安装单节点openshift、Redhat安装openshift集群完全教程

    Centos7中openshift_3.11单节点安装及配置开机自启详解 本次openshift安装使用最简单便捷的单节点安装,适用于本地开发及测试 openshift简介 OpenShift是红帽公 ...

  8. lime 深度学习_用LIME解释机器学习预测并建立信任

    lime 深度学习 It's needless to say: machine learning is powerful. 不用说:机器学习功能强大. At the most basic level, ...

  9. javame学习_从零基础自学Java教程:648集全网最新Java学习教程,一学就会

    我们都知道Java的功能非常的强大,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即J ...

最新文章

  1. Mixing ASP.NET MVC and Webforms
  2. SQLServer2008-镜像数据库实施手册(双机)SQL-Server2014同样适用
  3. 初中学历在辽宁学计算机,在辽宁省实验中学学习是怎样一番体验?
  4. PAT乙级 1029 旧键盘
  5. 【技术贴】Please verify that the Microsoft Data Access
  6. 敏捷软件质量保证的方法与实践
  7. 2018年7-8月学习有效反馈
  8. Windows上免费轻量好用的软件(不定期更新)
  9. html的柱状图去除右边纵坐标,excel如何把次坐标轴逆序
  10. python 爬取订单_【python实战】【持续更新】爬取某发卡网订单
  11. HDU 5977 Garden of Eden (树形dp+快速沃尔什变换FWT)
  12. 设置excel中数据有效性不被复制黏贴破坏
  13. 毕业后第二份工作:进军外企 赴新加坡工作 月薪18K
  14. 区块链-压缩格式的密钥
  15. HTTP协议分析实验
  16. 英文 E-mail写作指南
  17. 好心情心理咨询平台:独处≠孤独,独处对心理健康有多重要?
  18. MFRC53101TOFE小知识
  19. 使用python和xlwings合并excel文件
  20. 理想低通滤波器、Butterworth滤波器和高斯滤波器

热门文章

  1. P2710-数列【Splay】
  2. jzoj3859-孤独一生【dp,树状数组】
  3. bzoj3732-Network【Kruskal重构树模板】
  4. P3810-[模板]三维偏序(陌上花开)【CDQ分治,树状数组】
  5. P1494-[国家集训队]小Z的袜子【分块优化莫队】
  6. E. Pattern Matching(题意理解+拓扑排序)
  7. 【DP】Bovine Genetics G(P7152)
  8. 【dfs】【拓扑排序】组合树
  9. 如何轻松愉快的理解条件随机场(CRF)
  10. mybatis入门(五)之Java API