Liferay-JBoss Integration

Liferay Support does not recommend or endorse specific third-party products over others. Liferay is not responsible for any instructions herein or referenced regarding these products. Any implementation of these principles is the responsibility of the subscriber.

This article outlines known issues that may be experienced when using Liferay Portal 6.2 EE with the JBoss Application Server.

Resolution

Please note that these two issues apply to the Liferay-JBoss 7.1.1 bundle that is available for customers.

  1. JBoss doesn't read JSP configuration (AS7-4187)

    Because of this issue within JBoss, developers must manually remove the portlet (and flush JBoss /tmp folder) before deploying a new version of a file to ensure that changes to JSP files are recognized.
  2. JBoss causes webservices not to work with Spring MVC (JBWS-3453)

    This JBoss issue may be significant for some Liferay Subscribers who are developing using Spring MVC and connecting to remote web services.
Note: These issues are resolved in newer versions of the JBoss Application Server (e.g. JBoss 7.1.3) and can be resolved by deploying Liferay to this updated Application Server. Also note that at the time of writing JBoss 7.1.3 is not available as a download, but must be built from source.

The following issue applies to JBoss AS 7.1.2+

Per-deployment logging was added to JBoss AS 7.1.2, resulting in an out of the box split between Liferay's logs (in Liferay_home/logs) and JBoss' server.log (in JBoss_home/standalone/log). Messages from Liferay will no longer be logged in server.log due to this split. This JBoss AS7 ticket describes the feature and the following forum post delves more deeply into the issue:

https://issues.jboss.org/browse/AS7-514
https://developer.jboss.org/thread/199923

As noted in the forum thread above, to disable the feature one can add -Dorg.jboss.as.logging.per-deployment=false to the JAVA_OPTS variable in standalone.conf and restart the server. Unfortunately, configuring -Dorg.jboss.as.logging.per-deployment=false will make the logs more verbose and record even what Liferay Portal has set to be ignored. To address this you can add Liferay's log levels to JBoss' log levels, but this will require all logging levels to be adjusted within standalone.xml. After this is set they cannot be adjusted within Control Panel > Server Administration > Log levels

Here are the steps to disable per-deployment logging in JBoss AS 7.1.2+ and configure Liferay's logs:

  1. Add -Dorg.jboss.as.logging.per-deployment=false to the JAVA_OPTS variable in standalone.conf
  2. Open Liferay_Home/jboss/standalone/configuration/standalone.xml
  3. Open Liferay Portal's portal-log4j.xml found in the portal-impl.jar
  4. In standalone.xml's section <subsystem xmlns="urn:jboss:domain:logging:1.5"> add all the logging categories from Liferay's portal-log4j.xml. Please note that the logging categories in Liferay's portal-log4j.xml are formatted differently than in JBoss' standalone.xml. Thus, be sure to adjust the format to fit JBoss' requirements.

    As an example, here is a logging category in standalone.xml:

<logger category="org.jboss.as.config">

    <level name="DEBUG"/>

</logger>

In Liferay's portal-log4j.xml they look like this:

<category name="comliferayportaljndipaclPACLInitialContextFactoryBuilder">

    <priority value="ERROR" />

</category>

After formatting and adding Liferay Portal's logging categories to standalone.xml please restart the server and verify that Liferay Portal's logging messages appear in server.log.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0