`
阅读更多

1. Jboss EAP 6 配置 URI_ENCODING

In order to set UTF-8 for URI encoding you have to edit the JBOSS_HOME/standalone/configuration/standalone.xml file and add a system property named org.apache.catalina.connector.URI_ENCODING,(with value set to UTF-8) to the system-properties element.
Below is the code that needs to be added to the configuration file you use:

<system-properties>
    <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
    <property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>

Please note that the system-properties node has to be placed directly under the extensions node, in standalone.xml file, or you will get parse errors.

 

可以到jboss maven仓库下载jbossweb源码(org/jboss/web/jbossweb/),查看org.apache.catalina.connector.Connector的代码(jboss module: org\jboss\as\web\main\jbossweb-vesionxx.jar)

 

还有一个编码相关参数file.encoding,可以配置在standalone.conf/standalone.conf.bat的JAVA_OPTS中:

set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8

 

2. javax.xml.transform.TransformerConfigurationException: Translet class loaded, but unable to create translet instance

同样的ear包,部署在EAP 6时正常,当部署在wildfly 8时报以上错误,原因是我使用了opensaml,版本与wildfly本身提供的不一致,导致相关的xml jar冲突,改为一致的版本后恢复正常(建议使用jboss自带的包)。

 

3. Driver's Blob representation is of an unsupported type: oracle.sql.BLOB

删除classpath 中的Oracle驱动包,改为在JBoss module中配置。

 

4. JBoss EAP 6 as RHEL 7 service

service默认启动超时时间是1min 30s,可在service配置中增加如下配置,延长超时时间:

TimeoutStartSec=10min

更多Service参数请参考systemd.service — Service unit configuration

 

5. TransactionReaper check timeout for TX

事物超时,在EAP 6 standalone.xml中修改超时时间

<subsystem xmlns="urn:jboss:domain:transactions:1.5">
            <core-environment>
                <process-id>
                    <uuid/>
                </process-id>
            </core-environment>
            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
            <coordinator-environment default-timeout="1800"/>
</subsystem>

 

6. Ldap配置例子

<security-domain name="web-security" cache-type="default">
    <authentication>
        <login-module code="Ldap" flag="required">
            <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
            <module-option name="java.naming.provider.url" value="ldap://boms-prod-file.iata-asd.com:389/"/>
            <module-option name="java.naming.security.authentication" value="simple"/>
            <module-option name="principalDNPrefix" value="uid="/>
            <module-option name="principalDNSuffix" value=",ou=People,dc=bjs,dc=iata,dc=org"/>
            <module-option name="rolesCtxDN" value="ou=Roles,dc=bjs,dc=iata,dc=org"/>
            <module-option name="uidAttributeID" value="uniquemember"/>
            <module-option name="matchOnUserDN" value="true"/>
            <module-option name="roleAttributeID" value="cn"/>
            <module-option name="roleAttributeIsDN" value="false"/>
        </login-module>
    </authentication>
</security-domain>

附:启动ldap时显示日志,执行如下命令:
/usr/local/libexec/slapd -d -1

 

7. 加密数据库密码

1) Setup a Java Keystore to store key for password encryption

利用java keytool执行以下命令:
keytool -genseckey -alias vault -storetype jceks -keyalg AES -keysize 128 -storepass vault22 -keypass vault22 -validity 730 –keystore EAP_HOME/vault/vault.keystore
2) Initialize the Password Vault and store password in the Password Vault
EAP_HOME/bin/vault.sh --keystore EAP_HOME/vault/vault.keystore --keystore-password vault22 --alias vault --vault-block ds_boms --attribute password --sec-attr test --enc-dir EAP_HOME/vault/ --iteration 120 --salt 1234abcd
3) Configure JBoss EAP 6 to use the Password Vault

登录Jboss CLI执行以下命令:
/core-service=vault:add(vault-options=[("KEYSTORE_URL" => "EAP_HOME/vault/vault.keystore"), ("KEYSTORE_PASSWORD" => "MASK-5dOaAVafCSd"), ("KEYSTORE_ALIAS" => "vault"), ("SALT" => "1234abcd"),("ITERATION_COUNT" => "120"), ("ENC_FILE_DIR" => "EAP_HOME/vault/")])
4) Datasource Definition Using a Password in Masked Form
<password>${VAULT::ds_boms::password::1}</password>

详细信息请参见:Password Vaults for Sensitive Strings

 

8, 设置log时区

使用%z,注意一定要放在%d前:

%z{GMT+8}%d{HH:mm:ss,SSS}

 

9. 配置HTTPS

<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https">
   <ssl name="https" key-alias="alias" password="12345678" certificate-key-file="${jboss.server.config.dir}\keystore.jks"/>
</connector>

 

10. 自动删除JSP编译的类

默认undeploy时会自动删除vfs下的lib,但不会删除work目录下的文件,deploy时JSP不会重新编译。增加系统参数org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY=true,然后重启Jboss,下次undeploy时就会自动删除了。

 

11. java.sql.SQLException: javax.resource.ResourceException: IJ000457: Unchecked throwable in managedConnectionReconnected

使用xa datasource,并添加以下参数:

<xa-pool>
   <is-same-rm-override>false</is-same-rm-override>
   <no-tx-separate-pools/>
/xa-pool>

 

12. 删除x-powered-by header

在domain:web中增加jsp-configuration

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <configuration>
        <jsp-configuration x-powered-by="false"/>
    </configuration>
</subsystem>
 如使用JSF,在web.xml中增加:
<context-param>
        <param-name>com.sun.faces.sendPoweredByHeader</param-name>
        <param-value>false</param-value>
</context-param>

 

13. JNDI Datasource配置

 这种方式不大使用了,一般采用JPA方式,升级老系统可能会用到。

1) 在jboss-web.xml中增加如下配置 

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
       <resource-ref>
        <res-ref-name>jdbc/ExampleDS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <jndi-name>java:jboss/datasources/ExampleDS</jndi-name>
    </resource-ref>
</jboss-web>

2) 在web.xml中增加如下配置

<resource-ref>
  <res-ref-name>jdbc/ExampleDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

3) Java代码

Context ctx = new InitialContext();
DataSource ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/ExampleDS");

注意:J2EE规范,JDBC DataSource必须使用java:comp/env/jdbc subcontext。

 

14. 如何配置Picket Link的Character Encoding?

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <security-domain>sp</security-domain>
    <context-root>hello</context-root>
    <valve>
        <class-name>org.picketlink.identity.federation.bindings.tomcat.sp.ServiceProviderAuthenticator</class-name>
        <param>
            <param-name>characterEncoding</param-name>
            <param-value>GBK</param-value>
        </param>
    </valve>
</jboss-web>

 

Jboss EAP 6.4 Administration and Configuration Guide

Jboss EAP 6.4 Development Guide

Control the order of Deployed Applications on JBoss EAP 6

Running Multiple JBoss EAP Standalone Servers on a Single Machine

Replace the Default Welcome Web Application

Setting up an SSL/TLS Connector

Ldap Login Module

JBoss EAP 6 Performance Tuning

JBoss EAP 6 Temporary Queues and Runtime Queues

Jboss Web System Properties

Patching JBoss EAP 6

J2EE and JNDI - The Application Component Environment

How to Setup SSO with SAML v2

Setting up single sign-on using Active Directory with ADFS and SAML

Picket Link

Picket Link Doc
分享到:
评论

相关推荐

    JBoss EAP6.3 原版英文管理员配置文档

    JBoss Enterprise Application Platform 6.3(以下简称JBoss EAP6.3)是一款由Red Hat开发的Java应用服务器,作为JBoss应用服务器的商业版,主要用于企业级应用部署。该文档是一份管理员配置指南,旨在帮助管理员...

    dts4+Jboss eap安装.doc

    在IT行业中,构建基于JBoss EAP的DTS SERVER是一项常见的任务,尤其对于企业级应用来说,这样的服务器架构能提供强大的服务管理和数据转换功能。本文将深入讲解如何搭建这样一个系统,主要关注实际操作步骤,跳过...

    JBoss部署Web Project时的问题——请刷新

    本文将深入探讨这些常见问题以及解决方案。 首先,让我们了解"刷新"在Web项目部署中的含义。在Eclipse中,当我们修改了Java源代码、JSP文件或任何其他资源后,我们需要确保这些改动能够反映到运行中的应用程序。...

    JBOSS,JBoss安装部署

    常见的版本有JBoss EAP(Enterprise Application Platform)和WildFly,两者都是企业级的Java应用服务器,但EAP是商业版,WildFly是其社区开源版。 3. **解压JBoss**: 下载的文件通常为`.zip`或`.tar.gz`格式,...

    JBoss 管理控制台-入门指南

    JBoss管理控制台是Red Hat JBoss企业应用平台(EAP)的核心组成部分,它提供了一个图形用户界面(GUI),用于管理和监控部署在该平台上的Java应用程序和服务。本入门指南将帮助您了解如何有效地使用JBoss管理控制台...

    如何在MyEclipse配置Jboss

    在IT行业中,集成开发环境(IDE)如MyEclipse与应用服务器如Jboss的整合是开发者日常工作中常见的任务。本文将详细介绍如何在MyEclipse中配置Jboss,以实现便捷的开发、部署和调试Java EE应用程序。 首先,我们需要...

    Apache与Jboss负载均衡教程

    JBoss支持多种JVM版本,默认使用Sun JDK 1.5版,但随着JBoss EAP 4.3及后续版本的发布,也已开始支持Java 6。 #### JBoss的安装与配置 - **安装需求**:为了顺利安装JBoss,系统需预先安装Java Development Kit ...

    Jboss In Action

    作为其配套源代码,这个压缩包提供了丰富的实例和练习,覆盖了JBoss的核心功能和常见应用场景。 JBoss是Red Hat公司开发的一款开源的应用服务器,它基于Java EE(现在称为Jakarta EE)规范,支持Web服务、EJB...

    weblogic到jboss转换的示例代码

    总的来说,这个示例代码提供了一种有效的方法来解决WebLogic到JBoss的迁移问题,使得开发者能够专注于业务逻辑,而不是底层配置的细节。在实际操作时,还应考虑其他因素,如应用程序的依赖、安全策略、集群配置以及...

    JBoss中文文档

    教程可能会包含常见问题的解决方案和日志分析方法。 11. **源码解析**: 对于源码标签,文档可能涉及JBoss核心组件的源码结构、设计模式以及关键类的功能解析,帮助开发者深入理解其工作原理。 由于没有具体的...

    JBoss的安装与配置

    常见的有JBoss EAP(企业应用平台)和WildFly(原JBoss AS,即应用服务器)。 3. **解压JBoss**:下载完成后,解压缩到你想要的目录。例如,你可以将它放在`/opt`目录下,如`/opt/jboss-eap-7.x`。 ### 二、JBoss...

    java开启JBoss的HTTP GZIP压缩功能要提高网站访问速度_java生成压缩文件压缩率

    对于JBoss EAP,这个文件通常是`standalone.xml`或`domain.xml`(取决于你是使用独立模式还是域模式)。你需要找到`subsystem`下的`undertow`部分,然后添加或修改GZIP过滤器配置。 3. **添加GZIP过滤器**:在`...

    配置Jbpm注意问题

    工作区配置包括设置用户管理、权限控制等,这些可以通过Jboss AS7或EAP6的管理控制台完成。流程定义文件需要通过Jboss的管理接口部署,可以使用Jbpm提供的kie-workbench或者命令行工具进行操作。工作流服务的配置...

    Jboss环境变量

    - 在“系统变量”区域中,点击“新建”,输入变量名`JBOSS_HOME`,变量值填写JBoss的安装路径(例如:`C:\Program Files\JBoss\jboss-eap-7.1`)。 2. **Linux/Unix系统**: - 编辑`.bashrc`或`/etc/environment...

    JustynaMK:Justyna Nowak 网站 - MaryKay 顾问

    jbossews文档可能包含如何配置、管理和优化JBoss EAP在OpenShift上的指南,以及解决常见问题的步骤。这对于确保网站的稳定运行和高可用性至关重要。 【标签】:“JavaScript”意味着该项目在前端开发中使用了...

    Maven私服搭建1

    为了加速后续的依赖下载,可以预先下载JBoss EAP 6.x的离线资源包。下载完成后,将其解压到指定目录,建议放置于`%nexus_home%\sonatype-work\nexus\storage\`目录下,并添加一个`Hosted Repository`指向该目录。 ...

    jboos+linux_jdk+weblogic

    安装JBOSS通常包括下载最新版本的JBOSS AS或EAP(Enterprise Application Platform),然后解压到Linux服务器的一个安全目录。设置环境变量,如JAVA_HOME、JBOSS_HOME,并编辑启动脚本以确保正确的路径。最后,通过...

    Resteasy英文文档

    针对JBoss EAP6.1环境,升级Resteasy同样需要按照官方指导进行,以避免潜在的兼容性问题。 #### 3.3 在Wildfly中的升级 对于Wildfly应用服务器,Resteasy的升级流程也有所规定,确保了新版本的功能可以无缝集成到...

Global site tag (gtag.js) - Google Analytics