JBoss EAP 備忘録

http://www.mastertheboss.com/jboss-server/jboss-script/useful-cli-scripts-in-domain-mode

How to configure datasource settings in EAP 6
https://access.redhat.com/solutions/93693

How to create a datasource from the JBoss CLI in JBoss EAP 6
https://access.redhat.com/solutions/127713

module追加CLIはこれ

module add --name=com.mysql --resources=/home/tkobayas/usr/local/lib/mysql-connector-java-5.1.29.jar --dependencies=javax.api,javax.transaction.api

mysql-connector-java-5.1.29 より上のバージョンは問題有り(http://stackoverflow.com/questions/24097518/jboss-6-2-eap-unable-to-add-mysql-datasource-and-module)。

データソース追加はコピペの方が楽

            <datasources>
                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:mysql://localhost:3306/bpms603</connection-url>
                    <driver>mysql</driver>
                    <security>
                        <user-name>mysql</user-name>
                        <password>mysql</password>
                    </security>
                </datasource>
                <drivers>
                    <driver name="h2" module="com.h2database.h2">
                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                    </driver>
                   <driver name="mysql" module="com.mysql">
                        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                   </driver>
                </drivers>
            </datasources>

CLIでlogging

/subsystem=logging/root-logger=ROOT:change-root-log-level(level=DEBUG)

/subsystem=logging/root-logger=ROOT:read-attribute(name=level)

/subsystem=logging/logger=org.hibernate.SQL:add(level=DEBUG)
/subsystem=logging/logger=org.hibernate.type:add(level=TRACE)

/subsystem=logging/logger=org.hibernate.SQL:write-attribute(name=level,value=INFO)
/subsystem=logging/logger=org.hibernate.type:write-attribute(name=level,value=INFO)

note: traceレベルは各クラスでログレベルをキャッシュされて再起動しないと変更が反映されないケースがあるので注意。Hibernate 3 では org.hibernate.type は要再起動だったが、Hibernate 4 では不要(たぶん)

CLIシステムプロパティ

/system-property=NAME:add(value=VALUE)
/system-property=NAME:write-attribute(name="value", value=VALUE)

スクリプト

bin/jboss-cli.sh --file=/path/to/hogehoge.cli

HTTPS

https://access.redhat.com/documentation/ja-JP/JBoss_Enterprise_Application_Platform/6.2/html/Security_Guide/Generate_a_SSL_Encryption_Key_and_Certificate.html
https://access.redhat.com/documentation/ja-JP/JBoss_Enterprise_Application_Platform/6.2/html/Security_Guide/Implement_SSL_Encryption_for_the_JBoss_Enterprise_Application_Platform_Web_Server1.html

	<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <connector name="HTTPS" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
		<ssl name="https" key-alias="jboss" password="mykeystorepass" certificate-key-file="${jboss.server.config.dir}/server.keystore"/>
            </connector>

/home/tkobayas/usr/local/EAP/keystore に置いた

jps+jstack

jps | awk '{if ($2 == "jboss-modules.jar") {print $1}}' | xargs jstack