jboss eap 7

就在几天前,新的JBoss EAP 7 ALPHA版本已经发布。 而且我已经写过博客,介绍如何开始使用它 。 一个非常有趣的部分是HTTP / 2支持,它已作为技术预览添加。 它由新的Web服务器Untertow提供。 HTTP / 2通过压缩头并在同一TCP连接上多路复用多个流来减少延迟。 它还支持服务器在请求资源之前将资源推送到客户端的功能,从而可以更快地加载页面。

技术预览组件

关于技术预览实际含义的简短说明。 JBoss EAP中的某些功能是作为技术预览提供的。 这意味着,尽管这些组件已包含在JBoss EAP中,但是它们在功能上并不完整,不适合生产使用。 因此,它们在开发中得到支持,但不推荐或不支持用于生产用途。 但是它们可以帮助我们获得更广泛的曝光和反馈。 因此,如果您鼓励某些无法正常工作的事情,或者对此功能的未来方向有想法,请随时与我们联系。

红帽公司打算在将来的版本中完全支持技术预览功能。

准备您的EAP安装

应用层协议协商(ALPN)是SSL协议的扩展,有助于加快HTTPS连接的速度。 它是与HTTP / 2一起定义的,它使用ALPN创建HTTPS连接。 由于大多数浏览器仅通过HTTPS实现HTTP / 2,因此OpenJDK在sun.security.ssl软件包中实现了SSL。 Java 7和Java 8中的当前实现不支持ALPN。 使用Java 9,(希望)将对ALPN( JEP 244 )提供本机支持。 EAP要求您使用Java8。由于缺少密码,因此根本无法在Java 7上运行HTTP / 2示例。

由于HTTP / 2也是Java EE8的目标,因此有望在Java 9发行之后的将来的Java SE 8更新中使用它。

为了解决Java 8上的这一限制,我们需要添加一个库,该库为JVM的启动类路径提供ALPN支持。 所需的jar文件的版本与使用中的JVM版本相关,因此必须确保为JVM使用正确的版本。 Jetty为Java提供了一个ALPN实现。 请访问码头网站,找到适合您的JDK的版本 。 在此示例中,我使用的JDK 1.8.0u60需要ALPN版本:“ 8.1.5.v20150921”。

将工作文件夹切换到JBOSS_HOME并将alpn库下载到/ bin文件夹。

curl http://central.maven.org/maven2/org/mortbay/jetty/alpn/alpn-boot/8.1.5.v20150921/alpn-boot-8.1.5.v20150921.jar >bin/alpn-boot-8.1.5.v20150921.jar

现在需要将该库添加到服务器的bootclasspath中。 将以下行添加到独立配置文件中

//standalone.conf on Linux
JAVA_OPTS="$JAVA_OPTS  -Xbootclasspath/p:$JBOSS_HOME/bin/alpn-boot-8.1.5.v20150921.jar"//standalone.conf.bat on Windows
set "JAVA_OPTS=%JAVA_OPTS% -Xbootclasspath/p:%JBOSS_HOME%/bin/alpn-boot-8.1.5.v20150921.jar"

下一步是为https连接器安装证书。 出于测试目的,您可以从Undertow测试套件中下载。 在我的旧博客中了解如何生成和运行自己的SSL证书 。

curl https://raw.githubusercontent.com/undertow-io/undertow/master/core/src/test/resources/server.keystore >standalone/configuration/server.keystore
curl https://raw.githubusercontent.com/undertow-io/undertow/master/core/src/test/resources/server.truststore >standalone/configuration/server.truststore

完成后,请启动服务器并通过命令行工具添加https连接器(连接到正在运行的服务器并发出以下突出显示的命令):

$>jboss-cli.bat|shYou are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.[disconnected /] connect[standalone@localhost:9990 /] /core-service=management/security-realm=https:add(){"outcome" => "success"}[standalone@localhost:9990 /]  /core-service=management/security-realm=https/authentication=truststore:add(keystore-path=server.truststore, keystore-password=password, keystore-relative-to=jboss.server.config.dir){"outcome" => "success","response-headers" => {"operation-requires-reload" => true,"process-state" => "reload-required"}
}[standalone@localhost:9990 /] /core-service=management/security-realm=https/server-identity=ssl:add(keystore-path=server.keystore, keystore-password=password, keystore-relative-to=jboss.server.config.dir){"outcome" => "success","response-headers" => {"operation-requires-reload" => true,"process-state" => "reload-required"}
}[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/https-listener=https:add(socket-binding=https, security-realm=https, enable-http2=true){"outcome" => "success","response-headers" => {"process-state" => "reload-required"}
}
[standalone@localhost:9990 /]

关闭并重新启动EAP实例。

测试连接

当服务器再次启动时,将浏览器指向https:// localhost:8443。 单击有关自签名证书的安全警告后,您会看到正常的EAP 7欢迎页面。

但是,如何确定该连接实际上是使用HTTP / 2? 您可以通过多种方式执行此操作。 如果您使用的是Chrome,则可以在浏览器栏中输入“ chrome:// net-internals”,然后在下拉菜单中选择“ HTTP / 2”。 如果您重新加载EAP主页并返回到chrome网络页面,则可以看到带有所有标头和信息的HTTP / 2会话。

另一个选择是使用一些JavaScript并将其部署到您的应用程序中:

<p style="font-size: 125%;">You are currently connected using the protocol: <b style='color: darkred;' id="transport">checking...</b>.</p>
<p id="summary" />
<script>var url = "/";var xhr = new XMLHttpRequest();xhr.onreadystatechange = function(e) {if (this.readyState === 4) {var transport = this.status == 200 ? xhr.getResponseHeader("X-Undertow-Transport") : null;transport = transport == null ? "unknown" : transport;document.getElementById("transport").innerHTML = transport;var summary = "No HTTP/2 Support!";if (transport.indexOf("h2") == 0) {summary = "Congratulations! Your client is using HTTP/2.";}document.getElementById("summary").innerHTML = summary;}}xhr.open('HEAD', url, true);xhr.send();
</script>

恭喜你! 您刚刚将EAP安装升级到HTTP / 2! 不要忘记提供反馈并了解有关JBoss EAP 7的更多信息:并且请记住:与任何Alpha版本一样,请预见问题。 如果发现任何问题,请在
相应的JIRA 。

  • Java EE 7功能快速入门( ZIP下载 )
  • 产品资料
  • 入门指南

翻译自: https://www.javacodegeeks.com/2015/11/http2-with-jboss-eap-7.html

jboss eap 7

jboss eap 7_使用JBoss EAP 7的HTTP / 2相关推荐

  1. jboss1.7_在JBoss Fuse / Fabric8 / Karaf中使用Byteman

    jboss1.7 您是否曾经尝试了解一些简单的东西不起作用的过程? 您正在任何众所周知的上下文中编写代码,并且无论出于何种原因它都无法正常工作. 而且您信任您的平台,因此您认真阅读了所有日志.而且您仍 ...

  2. jboss1.7_在JBoss 7中使用HA Singleton

    jboss1.7 前一段时间,我不得不更改Quartz Scheduler的标准集群行为,并使其能够在不同步数据库的情况下工作. 当然,有很多选择可以做到这一点,但是由于我是简单性的忠实拥护者,我决定 ...

  3. 802.1x认证方式(EAP中继认证与EAP终结认证)

    文章目录 1.前言 2.协议说明 3.报文分析 EAP中继模式:MD5-challenge EAP终结模式:MD5-challenge Radius CHAP认证原理 Message-Authenti ...

  4. 【Jboss EAP】初识JBoss EAP

    前言 小编最近加入了公司的JavaEE团队,在做一些JavaEE相关的项目,在项目中用的是JBoss EAP服务器,由于是接触JavaEE项目的时间不长,所以对于JBoss EAP来说,自己只处于基本 ...

  5. jboss mysql cluster_为JBoss AS 7配置Mysql数据源

    一.加入Mysql驱动文件 AS7在包管理上改动很大,清晰了很多,不过太费事了,不知道有木有更简单的方法 将驱动jar文件复制到/modules/com/mysql/main/目录下(/mysql/m ...

  6. jboss使用_使用JBoss Cool Store的终极云零售指南

    jboss使用 我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了. 带有JBoss Cool Store的App Dev Cloud 我们从头到尾讨 ...

  7. [jboss] 运行多个JBoss实例

    今天应用更新,放到测试服务器上打算测试.测试服务器上有个jboss4.2.3有项目在跑,我是功能改造又不想影响现有的环境.于是就想复制一份jboss4.2.3 将打包的应用放上去.但是已启动好多JVM ...

  8. Jboss账号密码、jboss网站跟目录、Jboss弱口令

    我们在JBoss安 装目录/server/default/config下找到它,并进行JBoss配置.查找名字为:jmx-console的application- policy: <applic ...

  9. JBoss EAP应用获取运行模式、相关路径及节点信息

    一.背景 某应用系统在JBoss EAP 7.0的standalone模式(单实例模式)下运行正常,但在切换到domain模式(域模式)后陆续发现一些问题.为解决这些问题产生了这样的需求:如何判断JB ...

最新文章

  1. Linux下的下载工具 axel
  2. 组合恒等式7 组合变换的互逆公式 简介与简单例子
  3. Linux Ubuntu常用命令
  4. Python这门语言为什么适合初学者?88.7%的小白听了会感谢选择它
  5. idea创建Package时出现包名累加,而不是树形结构解决方法
  6. html5与css3入门知识点精炼
  7. Linux优盘挂载卸载以及文件查看
  8. Delphi 与 DirectX 之 DelphiX(80): TDIB.BlendPixel();
  9. 很抱歉 此功能看似已中断 并需要修复。请使用Windows控制面板中的“程序与功能”选项修复
  10. 检查radio/checkbox是否至少选择一项
  11. java消息头_java中怎么进行头消息校验
  12. python ppt表格样式展示
  13. JAVA网站后台管理系统
  14. C语言中负数在计算机内部的二进制表示方式(以补码表示负数、整数的范围及所占字节数)
  15. Win10图片查看器打不开图片,报错内存不足
  16. Java后端开发工程师
  17. 如何keil4下面创建工程?
  18. iOS Hook在IDA中显示为sub_xxx的函数
  19. php 鲜为人知的函数
  20. 高通开发系列 - Voice Call之语音通话软件框架介绍(翻译)

热门文章

  1. AT4505-[AGC029F]Construction of a tree【构造题,hall定理,网络流】
  2. P4755-Beautiful Pair【笛卡尔树,线段树】
  3. 【2018.4.14】模拟赛之四-ssl2394 剪草【dp】
  4. 【图论】【斜率优化】前往大都会(loj 2769)
  5. 【主席树】可持久化数组(金牌导航 可持久化数据结构-3)
  6. 【DP】数字游戏(jzoj 2131)
  7. 2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)
  8. 超详细的 Redis Cluster 官方集群搭建指南
  9. 漫画:什么是人工智能
  10. Nodejs安装及使用