5. 不受支持的功能
JBoss EAP 目前不支持下列功能。
- RHEL 7 上 Apache 的 mod_jk 和 mod_cluster
- RHEL 7 上可通过 RHN 频道安装的 Apache HTTP 服务器带来了和 mod_cluster 及 mod_jk 不兼容的问题,且没有支持服务。而 JBoss EAP 附带的 Apache HTTP 服务器却享有所有的支持服务。
- mod_rt 和 mod_snmp
- JBoss EAP 6 的 Apache HTTP 服务器附带的 mod_rt (
mod_rt.so) 和 mod_snmp (snmpmonagt.so) 模块不享有支持服务。您可以在 Enterprise Web Server 2.1 的文档里找到关于对这些模块的支持的更多信息。 - STOMP 协议和 HornetQ
- HornetQ 对 STOMP 协议提供社区级别的支持。这个协议没有接受 Red Hat 的测试,所以不享有 JBoss EAP 的支持服务。
- REST 协议和 HornetQ
- HornetQ 对 REST 协议提供社区级别的支持。这个协议没有接受 Red Hat 的测试,所以不享有 JBoss EAP 的支持服务。
- Infinispan API
- JBoss EAP 6 里不支持直接使用 Infinispan API。Infinispan 被用作 JBoss EAP 6 内部不同群集技术的实现细节。直接使用 Infinispan API 需要订阅 JBoss Data Grid。
- JDK 6 的 IPv6 限制
- 下面的 IPv6 限制是 JDK 6 造成的,并非 JBoss EAP 6 的问题。
- 在 Microsoft Windows 服务器上,JDK 6 只有一部分的 IPv6 实现。这个实现不足以运行 JBoss EAP 6。Microsoft Windows 服务器上对 IPv6 的完整支持要求 JDK 7。
- 在 RHEL 上,Oracle JDK 6 里的一个程序错误导致在包含 zone-id 的客户(建立连接的网络端点)上指定的任何地址都会失败。要使用 zone-id,要么升级到 JDK 7,要么使用 RHEL 里的 IcedTea/OpenJDK 6,且不要展示这个错误。关于这个错误的更多信息,请参考 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 和 https://issues.jboss.org/browse/JBPAPP-8833。
- JTA 事务外部的 JPA 2.0 内容填充
- 扩展持久性上下文(Extended Persistence Contexts,XPC)的填充没有考虑事务的存在,所以 XPC 总是被填充。这种行为不符合 JPA 2.0 规格。我们修改了 XPC 的处理,当没有活动事务时,XPC 的填充将被忽略且被调用的 Bean 将有自己的持久性内容而不是 XPC。如果您的应用程序希望在 JTA 事务外填充 XPC,您需要考虑是否修改应用程序。关于如何修改应用程序的说明,请参考《JBoss EAP 6 移植指南》。JBoss EAP 5 提供了一个系统属性(
JBPAPP-923.alwaysPropagate)来启用这个行为。这个系统属性在 JBoss EAP 6 里是不可用的。关于这个决定的更多信息,请参考 https://issues.jboss.org/browse/AS7-1663。 - PicketLink 子系统
- JBoss EAP 6.3 不支持 PicketLink 子系统。
- STS 客户池
- PicketLink 在服务器上提供一个 STS 客户池。这消除了创建 STS 客户的瓶颈。需要 STS 客户来获取 SAML 票据的登录模块可以利用客户池。可以利用 STS 客户池的登录模块:
- org.picketlink.identity.federation.core.wstrust.auth.STSIssuingLoginModule
- org.picketlink.identity.federation.core.wstrust.auth.STSValidatingLoginModule
- org.picketlink.trust.jbossws.jaas.JBWSTokenIssuingLoginModule
通过initialNumberOfClients选项可以配置客户池里每个登录模块的的默认客户数量。STSClientPoolFactory 类org.picketlink.identity.federation.bindings.stspool.STSClientPoolFactory为应用程序提供了客户池功能。使用 STSClientPoolFactory
STS 客户会插入子池且以它们的 configuration 为键。获取 STSClientPool 实例并根据配置初始化子池,可以指定初始的 STS 客户或使用默认的数量。final STSClientPool pool = STSClientPoolFactory.getPoolInstance(); pool.createPool(20, stsClientConfig); final STSClient client = pool.getClient(stsClientConfig);当您使用完客户后,您可以将其退回池里:pool.returnClient();根据给定的配置检查子池是否已经存在:if (! pool.configExists(stsClientConfig) { pool.createPool(stsClientConfig); }启用 PicketLink Federation 子系统时,为某个部署创建的所有客户池都会在卸载过程中自动销毁。如要手动销毁池,可用:pool.destroyPool(stsClientConfig); - Tanuki Service Wrapper
- JBoss EAP 6 不支持 Tanuki Service Wrapper。更多信息请参考 https://issues.jboss.org/browse/JBPAPP-8651。
- Microsoft SQL Server 2008 上的 XA 恢复
- Microsoft SQL Server 2008 R1 里无法使用 XA 恢复。这个功能可以用于 Microsoft SQL Server 2008 R2 SP2。相关详情请参考:
- MySQL 上的 XA 恢复
- MySQL JDBC 驱动没有正确实现 XA 恢复,当和数据库的连接停止时它会返回不正确的错误代码。
- JBoss OSGi
- JBoss OSGi 是一个 OSGi 规格的实现,它已从技术预览降为 Unsupported。其他信息请参考 https://access.redhat.com/site/solutions/362814。
- Quickstarts
- 因为 OSGi 从未被支持过且已从产品里删除,所以我们也从 JBoss EAP 6.3 附带的例程里删除了
helloworld-osgiquickstart。wicket-war和wicket-earquickstarts 依赖seam-conversation-weld.jar。因为 Seam 仍不享有支持服务,所以这些 Quickstart 例程也从 JBoss EAP 6.3 附带的例程里删除了。