6.1.0 发行注记
JBoss 企业级应用程序平台 6.1
JBoss 企业级应用程序平台 6.1.0 里的新功能、已知问题和支持信息。
摘要
Release notes for JBoss Enterprise Application Platform 6.1.0.
1. 简介 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
欢迎使用 JBoss 企业级应用程序平台 6(EAP)。在你开始熟悉最新版本的 JBoss EAP 时,这些发行注记为你提供了关于新的功能、最近解决的问题和已知问题的信息。请和整个 JBoss EAP 6 文档套件(位于 http://docs.redhat.com/)一起使用本文档。
重要
本发行注记里的修改是相对于以前的
6.0.1
版本的。当从 6.0.0
升级时,也请参考 6.0.1
发行注记里的完整的修改列表。
1.1. 提供反馈 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要为本文档提供反馈,请在 https://bugzilla.redhat.com 里使用产品
JBoss Enterprise Application Platform
、版本 6.1.0
和组件 documentation-6.1.0_Release_Notes
来报告程序错误。为方便起见,你可以使用下列 URL 自动填写产品、版本和组件:https://bugzilla.redhat.com/enter_bug.cgi?component=doc%20-%20release%20notes&product=JBoss%20Enterprise%20Application%20Platform%206&version=6.1.0
1.2. 概述 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
JBoss EAP 6 是红帽对机构发展和部署企业级应用程序方式的重大修改的响应。因为机构寻求更低的操作成本并减少为新应用程序作市场宣传的时间,JBoss EAP 6 已经为将来的远景、创新的模块化的云就绪架构、强大的管理和自动化、世界级的开发人员生产力进行了重构。
JBoss EAP 6 是通过 Java EE 6 认证的,它功能强大、管理灵活、改进了性能和扩充性,且有许多新功能来提高开发人员的开发能力。有着红帽对于认证和支持的市场领先的声誉,它可以确保你未来的管理和开发需要。
2. 新的功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
JBoss 企业级应用程序平台 6.1.0 里添加了下列新功能。
- JBoss Web 里的全局值
- JBoss EAP 5 提供了为 web 容器配置全局值的能力。在 6.0 里,你只能为单个应用程序配置值。而 JBoss EAP 6.1 又恢复了这个能力。
- 用于 EJB 客户的改进的 Initial Context 选项
- JBoss EAP 6.1 提供了一个方法来配置带有 Map 的 InitialContext 并创建一个作用域为这个 InitialContext 的 EjbClientContext。这个方法也启用了这个配置而无需依赖于 JBoss 专有的类。
- 将其他信息传入授权模块
- 在 JBoss EAP 6.0 里,将其他信息传入授权模块时不可能的,因为 Java EE 拦截器在容器拦截器以及登录模块之后才会被调用。JBoss EAP 6.1 已经添加了将 Java EE 拦截器注入到容器拦截器链的能力。
- 安全上下文传播和用户切换
- JBoss EAP 6 提供了 Quickstarts 来展示下列功能:
ejb-security-interceptors
- 展示如何使用拦截器来对每次调用切换 EJB 调用的标识符。ejb-security-interceptors
- 展示拦截器如何注入到服务器的拦截器链以从 EJB 传播安全上下文到另为一个,并切换 EJB 的用户。
- 增强的系统属性替换
- JBoss EAP 6.0.0 包含了配置属性的替换能力,但支持的属性数量是有限制的。对于 JBoss EAP 6.1,而属性替换而启用的属性数量已经增加了。
- Hibernate 的 Deterministic 字段命名
- 之前的 Hibernate 版本里没有使用 deterministic 算法来生成字段别名,这限制了使用数据库缓存带来的益处。别名的命名现在具有一致性了。
- HornetQ 的 In-Memory 消息复制
- HornetQ 现在通过现有的共享存储选项之外的 In-Memoery 消息复制提供了高可用性。
- NIO2 连接器
- EAP 6.1 推出了用于 Java 7 部署的基于 NIO2 的连接器,它比 Native Connector 提供了好得多的性能。
- 部署覆盖
- EAP 现在提供了在部署时用其他描述符替换部署自己提供的部署描述符的功能。
3. 仅作为技术预览提供的功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
我们已经知道下面的配置和功能有问题,它们只是作为技术预览出现。产品环境里不提供支持。
- 通过 JGroups 进行 HornetQ 发现
- HornetQ 现在提供了通过 UDP 和 JGroups 动态发现服务器连接设置。
- 使用 JBoss Web 服务的 WS-Trust/STS
- JBoss Web 服务现在从底层的 CXF 实现开放了 WS-Trust/STS 能力。
- JBoss CLI 的 Silent 模式
- 用于嵌入 CLI 的进程的 CommandContext API 里添加了一个 'Silent 模式'。
- 用 JBoss CLI 添加模块
- CLI 提供了一个新的命令来添加和删除模块。
- Syslog Handler 的配置
- EAP 现在为 syslog 协议提供了一个处理程序和配置。
- 新的 Hibernate 批加载算法
- Hibernate 已经在现有的算法里添加了两个批加载算法:Dynamic 和 Padded。
- Hibernate - 改进了用于 Non-Mutable 数据的对象引用的二级缓存
- Hibernate - 改进和扩展了对字节码的支持
- WS-AT/XA 桥
- WS-AT/XA 事务桥功能只是作为技术预览提供,产品环境里并不提供支持。
- 使用 Hibernate Validator 的 RestEasy 检验
- RestEasy 现在作为检验提供者以支持 JBoss EAP 6 附带的 Hibernate Validator。
- Restored ServiceMBean helper classe
- 我们已经引入了
org.jboss.as.system-jmx
模块来恢复之前 JBoss EAP 版本里协助用户创建 MBean 的 helper 类。 - Multi-JSF
- 这个功能让用户可以用自己的 JSF 实现替换 JBoss EAP 里提供的 JSF 实现。
- 事务的 JDBC 库
- 现在你可以配置 JBoss Transactions 使用 JDBC 数据库作为它的库。通过 CLI 工具设置下列两个属性可以在 Transactions 子系统里启用它。
- 设置
use-jdbc-store
为true
。/subsystem=transactions:write-attribute(name=use-jdbc-store, value=true)
/subsystem=transactions:write-attribute(name=use-jdbc-store, value=true)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 设置
jdbc-store-datasource
为要使用的数据源的 JNDI 名称。/subsystem=transactions:write-attribute(name=jdbc-store-datasource, value=java:jboss/datasources/TransDS)
/subsystem=transactions:write-attribute(name=jdbc-store-datasource, value=java:jboss/datasources/TransDS)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
下面是完整的属性集合。Expand 表 1. 事务 JDBC 库的属性 属性 描述 use-jdbc-store
设置为 "true" 以启用事务的 JDBC 存储。jdbc-store-datasource
用于存储的 JDBC 数据源的 JNDI 名称。jdbc-action-store-drop-table
在启动时删除或重新创建 action store 表。可选,默认为“false”。jdbc-action-store-table-prefix
action store 表名的前缀。可选。jdbc-communication-store-drop-table
在启动时删除或重新创建 communication store 表。可选,默认为“false”。jdbc-communication-store-table-prefix
communication store 表名的前缀。可选。jdbc-state-store-drop-table
在启动时删除或重新创建 state store 表。可选,默认为“false”。jdbc-state-store-table-prefix
state store 表名的前缀。可选。
4. 不支持的功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
一些用于 JBoss EAP 5 的配置不再被支持。请复核这些配置。
- Infinispan API
- JBoss EAP 6 不支持直接使用 Infinispan API。Infinispan 用作 JBoss EAP 内部不同的群集技术的实现细节。API 的
module.xml
错误地指出直接使用是可能的。在以后的版本里我们将纠正这个错误。直接使用 Infinispan API 要求订阅 JBoss Data Grid。\n\n - JDK 6 的 IPv6 限制
- 下面的 IPv6 限制是 JDK6 造成的,它们并非 JBoss EAP 6 的缺陷。
- 在 Microsoft Windows Server 上,JDK 6 只有部分的 IPv6 实现。这个实现并不足以运行 JBoss EAP 6。Microsoft Windows Server 上完整的 IPv5 要求 JDK 7。
- 在红帽企业版 Linux 上,Oracle JDK 6 有一个程序错误,它导致在包含
zone-id
的客户(建立连接的网点)上指定任何地址都会失败。要使用zone-id
,要么升级至 JDK 7,要么使用IcedTea/OpenJDK 6。关于这个程序错误的更多信息,请参考 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 and https://issues.jboss.org/browse/JBPAPP-8833。
- JTA 事务外部的 JPA 2.0 上下文传播
- 扩展持久性上下文(Extended Persistence Contexts,XPC)没有考虑事务的存在,XPC 总是会被传播。这个行为不符合 JPA 2.0 规格。我们已经修改了 XPC 的处理,当没有活动的事务时,XPC 的传播将被忽略,被调用的 bean 将有自己的持久性上下文而不是 XPC。如果你的应用程序期望扩展持久性上下文在 JTA 事务外部被传播,你需要考虑是否需要修改你的应用程序。关于升级应用程序的说明,请参考《JBoss EAP 6 移植指南》。JBoss EAP 5 提供了一个系统属性(
JBPAPP-923.alwaysPropagate
)来启用这种行为。但 JBoss EAP 6 里没有这个系统属性。关于这个决定的更多信息,请参考 https://issues.jboss.org/browse/AS7-1663。 - PicketLink IDM
- JBoss EAP 6 不支持 PicketLink IDM (Identity Management,标识符管理)。
- PicketLink STS
- JBoss EAP 6 不支持PicketLink STS(Security Token Service,安全令牌服务)。
- Tanuki Service Wrapper
- JBoss EAP 6 不支持 Tanuki Service Wrapper。更多信息请参考 https://issues.jboss.org/browse/JBPAPP-8651。
- Microsoft SQL Server 2008 上的 XA 恢复
- XA 恢复不能用于 Microsoft SQL Server 2008 R1。这个功能可用于 Microsoft SQL Server 2008 R2 SP2。关于更多的信息,请访问下列 URL:
- MySQL 上的 XA 恢复
- MySQL JDBC 驱动没有正确实现 XA 恢复。关于更多的信息,请参考 https://issues.jboss.org/browse/JBPAPP-2576。
- JBoss OSGi
- JBoss OSGi 是一个 OSGi 规格的实现,它已经从技术预览降级为不受支持的产品。更多信息请参考 https://access.redhat.com/site/solutions/362814。
5. 组件 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
JBoss EAP 6 组件矩阵位于:https://access.redhat.com/knowledge/articles/112673。
6. 本版本里的修改 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
6.1. 程序错误修复 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Apache 服务器(httpd)和连接器
- 900363 - JK Status Manager 无法运行
- Apache mod_jk 包含 Status Manager API。当操作使用它来运行时没有应用修改,不管是通过 API 还是 JK Status Manager web 接口。这是由于共享内存同步的一个错误引起的。其根本原因现已修复,使用 Status Manager 的存在已可以正常执行了。
群集
- 900392 - 单点登录服务可能失败,抛出异常 "IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results"
SingletonService
有时会失败,日志会有下列输出:IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results
IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个错误发生在getValueRef
方法里且在发生视图更改时被触发,这是因为旧的主节点已停止而新的主节点仍在启动。为了解决这个问题,我们修改了getValueRef
,当没有结果返回时它会重试。SingletonService
现在已可以正常运行了。- 920367 - 非可分布式应用程序出现 ClusteredSingleSignOn ClassCastException
- 901028 - CLONE AS7-5688 ISPN000136: Execution error: java.lang.NullPointerException -> JBAS018079: Failed to passivate session
- 947420 - 启用会话钝化时在 [0] 毫秒后无法获得锁
控制台
- 900849 - 当数据大于 64k 时出现 EAP6 CLI 错误
- 返回长度超过 65535 个字符的任何 CLI 命令都会失败,错误信息如下:
Communication error: java.util.concurrent.ExecutionException: Operation failed
Communication error: java.util.concurrent.ExecutionException: Operation failed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这是由于使用 JBoss DMR 库里的java.io.DataOutput.writeUTF()
方法造成的。如果被处理的字符串超出 65535 个字符,这个方法会抛出UTFDataFormatException
。我们已更新 JBoss DMR 库以使用其他技术来正确处理超过这个长度的字符。现在,任何返回超过 65535 个字符的 CLI 命令都可以正常执行了。
EJB
HornetQ
- 900359 - CLONE - 创建 JMS 桥的子系统
- 901137 - 当 reconnect-attempts 设置为 -1时,服务器无法优雅地(gracefully)关闭。
- 901177 - 当消息回滚而 DLQ 不存在时,HornetQ 没有从队列里删除消息。
- 913507 - SpecJMS2007 satellite 驱动里出现 OutOfMemory
- 当连接器上启用了 NIO 时,巨量的线程处于活动状态,这可能导致 OutOfMemory 错误。这是因为 NioWorker 没有正确关闭,所以它们使用的线程和内存都没被释放。现在关于线程处理的底层问题已被纠正,降低了 OutOfMemory 错误的风险。我们推荐启用 "use-nio-global-worker-pool" 参数来最小化 OutOfMemory 错误的风险。下面是一个连接器配置示例:
<netty-connector name="netty" socket-binding="messaging"> <param key="use-nio" value="true"/> <param key="use-nio-global-worker-pool" value="true"/> </netty-connector>
<netty-connector name="netty" socket-binding="messaging"> <param key="use-nio" value="true"/> <param key="use-nio-global-worker-pool" value="true"/> </netty-connector>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 919446 - 复制的日志 - 在持续的 backup/live 切换后磁盘空间将被用尽。
JSF
- 957838 - 当在 JBoss EAP 6 里序列化 FacesMessage 对象时出现 "java.io.NotActiveException: Fields were never written"。
FacesMessage
对象的解序列化在某些情况下将抛出java.io.NotActiveException
。这是因为ObjectOutputStream
的defaultWriteObject()
或writeFields()
方法在序列化期间没有按 JSF 规格要求的被调用。这些方法现在在序列化期间都被正确调用,而FacesMessage
对象的解序列化也可以正常进行了。- 901266 - viewScoped MBean 上没有调用 @PreDestroy
- JSF
ViewScoped
bean 使用的内存在某些情况下不会被回收,导致应用服务器使用的内存逐渐增加(内存溢出)。这是因为在会话过期时,这些 Bean 的@PreDetroy
方法没有被调用。JBoss EAP 6 里的 JavaServer Faces 实现已经更新为 Mojarra 2.1.16,它可以解决这个问题。当会话过期时,每个ViewScoped
MBean 的@PreDestroy
方法都会被正确调用,而且分配给每个 bean 的资源都会被回收。
脚本和命令
- 900518 - Jdr 脚本根本无法连接 localhost:9990
安全性
- 910322 - 无法使用 CLI 添加安全性角色到 security-setting
- 当使用 CLI 或 API 添加
security-role
时,要求用户指定它应该具有的角色以及所有不应该有的角色。这是因为这个资源的:add
操作没有这些参数的默认只。这些参数现在默认都是false
。添加一个角色现在只要求你通过设置它们为true
来指定 security-role 必须具有的角色。所有其他角色都默认为false
。
Web
- 901061 - EAP 6 Web 子系统里需要类似的 "DeleteWorkDirOnContextDestroy" 配置
- 在重部署时,JBoss EAP 6 没有重新编译 JSP 源码,除非它们比相关的 Java 或类文件更新。JBoss EAP 6 的早期版本没有包含在重新部署时删除 Java 和类文件的代码。这意味着如果用户试图从旧版本的 web 应用程序里恢复源码,
.java
和.class
文件将不会被删除,从而阻止了 JSP 被重新编译。我们在 JBoss EAP 6 里已经添加了对应的代码,它可以通过系统属性org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY
激活。这个属性的默认值是false
。JBoss EAP 6 用户现在可以使用这个属性来删除.java
和.class
文件以确保 JSP 源码被重新编译。 - 905165 - 方法表达式参数导致了 NPE/MethodNotFoundException
- 如果将 JSF 页面里的 EL 方法的任何参数设置为
null
都会导致异常抛出(NullPointerException)。这时因为 JBoss Web EL 解析器无法处理参数为 null 值的情况。我们已经更新了 JBoss Web,现在已可以正常处理参数为 null 的情况。
6.2. 已知的问题 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Apache 服务器(httpd)和连接器
- 900620 - 如果使用了 UAC (Windows Server 2008 R2),APR native 将无法加载。
- 在 Windows 服务器里,Apache 可移植运行库(APR)将无法加载,除非使用具有管理员权限的用户并禁用用户账号控制(User Account Control,UAC)。
群集
- 901164 - 在失效切换后接收到过时的会话数据,会话丢失。
- 900707 - 当字符串 "localhost" 用作默认值的一部分时,属性替换出现问题。
- 当字符串
localhost
用作 JGroups 子系统配置里默认值的一部分时,属性替换出现问题。属性替换是为 JBoss EAP 6 子系统提供的一个功能。然而,并非所有的子系统都启用了它,一些子系统(如 JGroups)实际上进行了它们自己的一些替换。然而,这个行为不是标准化的,和受支持的子系统属性不同。红帽建议你不要使用 JGroups 子系统的属性替换,直至这个问题得到解决。 - 900378 - 带有 SET 复制触发器的 CDI bean 没有进行复制
- 由于 Weld 组件里的一个程序错误,
setAttribute
方法没有被正确调用。这导致带有SET
复制触发器的 CDI Bean 不能进行复制。绕开问题的办法是使用SET_AND_NON_PRIMITIVE_GET
触发器。这个问题将在以后的版本里得到解决。 - 900549 - 群集和会话复制时偶尔出现 "WeldListener: java.lang.NullPointerException"
WeldListener: java.lang.NullPointerException
偶尔被抛出。客户端接收到一个 HTTP 响应503
以及异常信息。这个问题的原因正在调查之中。- 900483 - CLONE - 当关闭节点时使用 DIST SYNC 会接收到过时的会话数据
- 在测试期间,一些用例显示,当关闭节点而又使用
DIST SYNC
orDIST ASYNC
缓存模式时,会接收到过时的会话数据。我们仍在调查这个问题。 - 959753 - DIST SYNC: 在节点重起后 jboss.infinispan.web.default-host/XY 服务不会启动,显示 "Initial state transfer timed out"。
HornetQ
- 959216 - 无法使用 Stomp 协议发送更大型的消息
- 959616 - 激活时备份服务器的干净关闭过程中出现死锁
- 配置为 HornetQ 备份服务器的 JBoss EAP 6 服务器将在下列情况下关闭失败:
- Message-Driven Beans 部署在本地服务器上,而且
- 关闭命令时在服务器的激活过程中执行的。
在这个情况下,关闭服务器将导致死锁,从而阻止了关闭过程的完成。一旦死锁,服务器必须强制性地进行终止。在红帽企业版 Linux 6 里,这可用kill -9
命令来完成。要避免这个情况,请只在激活之前或之后、也不要在日志加载过程中关闭服务器。 - 959789 - HQ 核心桥没有失效切换
- 928400 - pageSize >= maxSize 导致不合适的服务器状态
- 912653 - Clone: 远程 JNDI 无法和 HornetQ-only JMS 桥一起使用
- 922184 - 复制的日志 - 当保存 add/commit 消息至不存在的日志时备份服务器端出现 NullPointerException
- 928288 - 复制的日志 - 从 live 服务器获取初始的日志复制时如果有网络故障,出现非法的备份状态
- 899966 - IPv6 link-local 地址上的 Netty 有问题
- 由于一个 JDK 错误,如果使用了链接本地地址,zone ID 将用来区分所选的接口。这个问题不会影响全局地址。Netty 组件以后的版本里将包含一个解决的方法。
脚本和命令
- 965315 - 用户脚本的 jboss-ec2-eap 超时没有正常工作
- JBoss EAP 的 AMI 映像上的用户脚本里的超时功能无法工作。如果用户脚本里的某个命令挂起了,这会阻止虚拟机正常地引导。超时功能的目的是允许虚拟机继续引导,而不管挂起的用户脚本命令,并允许在用户脚本上进行诊断。引起这个问题的原因是 Bash shell 不支持非交互式 shell 里的作业控制,而这个功能是超时功能所要求的。我们目前还没有解决办法,但希望在以后的版本里能进行解决。
- 956281 - 在 32 位 JVM 上启动 EAP 6.1 可能导致启动 JVM 失败
- 在 Windows 8 32 位的虚拟机里,默认的最大 perm gen 空间设置导致了 JVM 无法创建,从而阻止了服务器的启动。要解决这个问题,请从 JVM 的启动参数里删除 -XX:MaxPermSize=256m。然后 JVM 就可以被创建,而服务器就可以启动了。
- 916960 - 如果括号出现在 EAP 路径里,Standalone.bat 将无法工作。
- 这个 JBoss EAP 6 里存在一个关于 Windows Installer 和安装到包含括号的目录的已知问题。例如,目录为:
C: Program Files (x86)\jboss-eap-6.1\
。在这些情况下standalone.bat
可能会运行失败并输出信息:\jboss-eap-6.1 was unexpected at this time
.这是因为 DOS 处理器拦截了 "echoed" JBoss 路径名里的结尾括号,将其当作前面的if
语句的结尾部分。要解决这个问题:- 在编辑器里打开
JBOSS_HOME\bin\standalone.bat
。 - 找到下列行:
echo JBOSS_HOME: %JBOSS_HOME%
echo JBOSS_HOME: %JBOSS_HOME%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在
%JBOSS_HOME%
变量两侧添加双引号:echo JBOSS_HOME: "%JBOSS_HOME%"
echo JBOSS_HOME: "%JBOSS_HOME%"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
这将确保参数被正确解析且standalone.bat
将成功运行。
安全性
- 920160 - 对用自定义授权模块保护的 web 应用程序的未授权访问导致了 HTTP 200 (OK) 而不是 HTTP 403 (Forbidden)。
- 963277 - 调试 Java Security Manager 导致引导时出现 StackOverflow
- 启用安全管理者以及
-Djava.security.debug=access:failure
运行会导致 StackOverflow 错误信息以及不可引导的 JBoss EAP 实例。这个问题的产生是因为 AccessControllercontext 在系统流的调试输出在检查权限时导致了一个死循环。我们已确认了其根本原因并期望在下一个版本修复它。
Apache 服务器(httpd) 和连接器文档
- 900580 - httpd: libaprutil-1.so.0: 文件太短
- Apache 可移植运行库(Apache portable runtime,APR)并不是 JBoss EAP 或红帽的 JBoss 企业级 Web 服务器的原生软件包的一部分。我们使用 Symlink 来引用基础红帽企业版 Linux 库。如果没有安装下列软件包而试图使用 APR 库时,这可能导致无法解析的 symlink 问题:
apr
、apr-util
、apr-devel
、apr-util-devel
。将来的红帽企业版 Linux ARP 更新已经附带了对这个问题的修复。
CDI/Weld
- 927895 - META-INF "Dependencies: org.foo.module services" 无法用于 CDI 可移植扩展(CDI Portable extension)
- 这个 JBoss EAP 6 里存在一个已知问题,模块里带有 CDI 可移植扩展依赖关系的部署在部署时会抛出下列异常:
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [<Extension Name>]
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [<Extension Name>]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这是因为部署没有从声明为依赖关系的模块里加载 CDI Portable Extension为了使应用程序可以加载定义在扩展 JBoss 模块里的 CDI 可移植扩展,应用程序只声明对扩展 JBoss 模块的依赖关系是不够的。应用程序也必须在它的META-INF/services/javax.enterprise.inject.spi.Extension
文件里声明对 Portable Extension 类的依赖关系。
CLI
- 928444 - 如果 aesh.log 的父目录不存在则无法在 Windows 上启动 CLI
- 如果日志文件的父目录不存在,CLI 工具启动失败。CLI 抛出一个异常(
IOException
)并显示下列错误信息。java.io.IOException: Couldn't get lock for C:\Users\hudson\AppData\Local\Temp\2\\aesh.log
java.io.IOException: Couldn't get lock for C:\Users\hudson\AppData\Local\Temp\2\\aesh.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要避免这个错误,在启动 CLI 工具前请确保指定的目录存在。
群集 EJB
- 900480 - CLONE - 当群集成员资格改变时,远程 EJB 调用里的响应极其地慢。
- 服务器关闭或崩溃时,成员资格的改变可能需要一分钟才能完成。我们正在调查这个问题。
EJB,Naming,Remoting
- 923836 - remote:// 协议无法在 IBM JDK 里的 SLL 上运行
- 这是 JBoss EAP 6 里存在的一个已知问题,IBM JDK 上的远程命名查找会间歇性地失败,并抛出下列异常:
org.jboss.remoting3.NotOpenException: Endpoint is not open.
org.jboss.remoting3.NotOpenException: Endpoint is not open.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当客户使用 IBM JDK 时会出现这个问题。服务器使用 IBM JDK 而客户使用其他 JDK 时,这个问题就不会出现。我们正在调查和解决这个问题
EJB,Remoting
- 962734 - EJB 调用期间的 IOException 导致挂起
- 如果服务器端的 EJB 协议接收器从客户端接收了无效的消息头部,类似于下面的信息将被登记,而客户端将挂起。
15:06:46,092 WARN [org.jboss.as.ejb3] (Remoting "dhcp-4-126" task-4) JBAS014254: Received unsupported message header 0xffffffff on channel Channel ID 0c51fad8 (inbound) of Remoting connection 4589adff to /127.0.0.1:33329
15:06:46,092 WARN [org.jboss.as.ejb3] (Remoting "dhcp-4-126" task-4) JBAS014254: Received unsupported message header 0xffffffff on channel Channel ID 0c51fad8 (inbound) of Remoting connection 4589adff to /127.0.0.1:33329
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当无效的消息头部被接收并记录时,EJB 协议接收器不会在频道里重新注册自己,所以它不会再响应以后的消息。而客户端将等待根本不会被发送的响应,因为原始消息并不会被服务器处理。这个问题目前还没有解决办法,但我们希望在以后的版本里解决它。
EJB,Transaction Manager
- 952746 - 修复涉及远程 EJB 资源的事务恢复故障
Hibernate
- 900321 - 当获取使用 NaturalIdLoadAccess 进行 naturalIdQuery 的结果时,缓存正确的 natural-id 值时出现的 HHH-7287 问题。
- 在从非事务性场景更新 natural-id 之后,当试图从二级缓存(L2)加载实体时,
NaturalIdLoadAccess
行为不一致。当对数据库的访问混合了事务性和非事务性时,Hibernate 目前不支持正确的具有 natural-id 的实体的 L2 缓存。
对 IPv6 的支持
JCA
- 952277 - 禁用 xa-data-source causes that data-source loses its attribute enabled set to false and after reload it becomes enabled
RESTEasy
- 958896 - RESTEasy: 响应里无效的 Content-Type - 当在请求头部里指定无效的接受头部时出现错误的行为
Remoting,Naming
- 913189 - 进行 JNDI 查找时 JMS 客户的向后兼容性问题
服务器
- 911496 - 模块结构的修改阻止了 JBDS 创建 EAP 6.1 服务器
Web 服务
- 900634 - 当请求响应消息时,JBossWS-CXF 未发送 fault 消息给 FaultTo 端点。
- 如果 WS-Addressing 的
FaultTo
元素被设置未一个 WS 客户,WS 服务器不会发送 fault 消息给FaultTo
目的地。然而,如果设置了ReplyTo
元素,WS 服务器就不会发送响应到ResponseTo
目的地。原因仍在调查之中。
mod_cluster
- 901227 - web 控制台里的 node-timeout、worker-timeout、flush-wait 和 ttl mod_cluster 属性
- 960243 - ProxyPass 集成里的回归问题
- 958991 - 当使用 ProxyPass / balancer://bal 和 CreateBalancers 1 时的 mod_cluster core 问题
- 在 /conf.d/mod_cluster.conf 里设置了
CreateBalancers 1
,但没有设置stickysession=JSESSIONID|jsessionid
的JBoss EAP 6 用户将遇到下列的 segmentation 故障:[notice] child pid 7787 exit signal Segmentation fault (11)
[notice] child pid 7787 exit signal Segmentation fault (11)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加stickysession
元素到 CreateBalancers 配置将解决这个问题。例如:CreateBalancers 1 ProxyPass / balancer://qacluster stickysession=JSESSIONID|jsessionid
CreateBalancers 1 ProxyPass / balancer://qacluster stickysession=JSESSIONID|jsessionid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 900801 - 通过 CLI 添加 modcluster 失败。
- 963720 - mod_cluster: 在 Solaris 上使用 IPv6 的代理 DNS 查找失败。
未指定
- 900047 - Linux/Unix 里 SystemMemoryUsageLoadMetric 不正确
- 在 Linux 或 UNIX 系统上
SystemMemoryUsageLoadMetric
没有显示有用的信息。对于这些系统,HeapMemoryUsageLoadMetric
提供了更多的有用信息。解决方案时修改SystemMemoryUsageLoadMetric
的算法从used
数字减去buffers/cache
值。实现这一点的最好方法是进行调查研究。 - 901231 - 在 IBM JDK 上使用 finalize() 需要格外小心
- 当运行在 IBM JDK 6 和 7 上时,JBoss EAP 6 可能遇到间歇性的故障。这是因为 IBM 的垃圾回收器比其他 JVM 更为积极。有时候这会导致在没有预料的情况下内存没有回收,而这不会发生在其他 JVM 上。在这个问题得到解决之前,红帽推荐你不要使用 IBM JDK 6 或 7 来运行 JBoss EAP 6。
A. 修订历史 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
修订历史 | |||
---|---|---|---|
修订 0.0-20.2.400 | 2013-10-30 | ||
| |||
修订 0.0-20.2 | Wed Jul 3 2013 | ||
| |||
修订 0.0-20.1 | Mon Jul 1 2013 | ||
| |||
修订 0.0-20.1 | Mon Jul 1 2013 | ||
| |||
修订 0.0-20 | Thu May 23 2013 | ||
|
法律通告 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Copyright © 2013 Red Hat, Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.