Preparing for JBoss and WildFly
You can deploy AM on JBoss AS, JBoss EAP, and WildFly. The procedures listed here provide steps for configuring JBoss AS, JBoss EAP, and WildFly for AM.
After configuring JBoss or WildFly, you then prepare AM for deployment by making a few changes to the contents of the AM .war
archive.
Stop JBoss or WildFly.
The default JVM settings do not allocate sufficient memory to AM. This step shows one method that you can use to modify the JVM settings. For other methods, see either the JBoss Application Server Official Documentation Page or the JVM Settings page in the WildFly documentation
Open the
standalone.conf
file in the/path/to/jboss/bin
directory for JBoss or WildFly in standalone mode.Check the JVM settings associated with
JAVA_OPTS
.Change the JVM heap size to
-Xmx1g
. The default JVM heap size for some versions of JBoss might already exceed the recommended value. If you are evaluating AM and using the embedded version of DS, the minimum heap size may be higher. For details on the JVM options to use, see "Preparing a Java Environment".Change the metaspace size to
-XX:MaxMetaspaceSize=256m
if the default size does not exceed this amount.Set the following JVM
JAVA_OPTS
setting in the same file:-Dorg.apache.tomcat.util.http.ServerCookie.ALWAYS_ADD_EXPIRES=true
Verify that the headers include the
Expires
attribute rather than onlyMax-Age
, as some versions of Internet Explorer and Microsoft Edge do not supportMax-Age
.
Set up Wildfly for Social Authentication, by performing the following steps:
Ensure the Wildfly server is running.
Go to the Wildfly Path.
In the
$JBOSS_HOME/bin
directory, run thejboss-cli.sh
script file:$
./bin/jboss-cli.sh
Type "connect" to connect to the server.
Enable use of the equals (=) symbol in cookies by running the following command:
For example:
[standalone@localhost:9990 /] /subsystem=undertow/server=default-server/ http-listener=default:write-attribute(name=allow-equals-in-cookie-value, value=true) { "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }
Restart Wildfly.
Now deploy the
openam.war
file into the appropriate deployment directory. The directory varies depending on whether you are running in standalone or domain mode.
To prepare AM to run with JBoss or WildFly, you should make some changes to the default AM war
file. JBoss and WildFly deploy applications from different temporary directories every time you restart the container, which would require reconfiguring AM. To avoid problems, change the AM war
file as follows:
If you have not already done so, create a temporary directory and expand the
AM-7.0.2.war
file. For example:$
cd /tmp
$mkdir /tmp/openam ; cd /tmp/openam
$jar xvf ~/Downloads/AM-7.0.2.war
Locate the
bootstrap.properties
file in theWEB-INF/classes
directory of the expandedwar
archive. Update the# configuration.dir=
line in this file to specify a path with read and write permissions, and then save the change.# This property should also be used when the system user that # is running the web/application server process does not have # a home directory. i.e. System.getProperty("user.home") returns # null. configuration.dir=/my/readwrite/config/dir
If you are deploying AM on JBoss AS or JBoss EAP, remove the
jboss-all.xml
file from theWEB-INF
directory of the expandedwar
archive.Be sure not to remove this file if you are deploying AM on WildFly.
If you are deploying AM on Wildfly 12, remove the
jul-to-slf4j-1.7.21.jar
file from theWEB-INF/lib
directory of the expandedwar
archive.Rebuild the
openam.war
file.$
jar cvf ../openam.war *