The IBM WebSphere Compatibility module is an Enterprise Edition module that provides a servlet for the IBM WebSphere application server to accept requests. With other application servers, Magnolia uses its filter chain with no specific endpoint. In Magnolia 5.5, IBM WebSphere 9 works with the WebSphere Compatibility module.
Installing
Maven is the easiest way to install the module. Add the following to your
bundle:
<dependency>
<groupId>info.magnolia</groupId>
<artifactId>magnolia-module-websphere</artifactId>
<version>1.5</version>
</dependency>
Adding the servlet to web.xml
If you downloaded the prebundled IBM WebSphere war file, skip this step:
- Make sure the
magnolia-module-websphere
jar file is your webapp's WEB-INF/lib
directory. Edit the web.xml
file, and add the following Servlet
definition:
<servlet>
<description>Spool servlet</description>
<servlet-name>Spool</servlet-name>
<servlet-class>info.magnolia.module.websphere.Spool</servlet-class>
<init-param>
<param-name>Path</param-name>
<param-value>/docroot</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Spool</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Note that the Servlet
must be mapped to serve /*
, but you can adapt the Path
parameter to allow it to serve other static resources from your webapp.
Deploying via IBM WebSphere Administration Console
- Rename the war file to magnoliaAuthor, magnoliaPublic, or to a name that matches a configuration name of your choice.
- Deploy the archive(s) through the IBM WebSphere administration console. (See the IBM WebSphere documentation for precise instructions.)
Refer also to the IBM WebSphere JAAS documentation: Login configuration for Java Authentication and Authorization Service.
- In the IBM WebSphere Application Server, select Security > Global Security in the left panel.
- Under Authentication, select Java Authentication and Authorization Service > Application logins.
- Add the Magnolia login module:
- Add alias:
magnolia
.- Add class
info.magnolia.jaas.sp.jcr.JCRAuthenticationModule
as REQUISITE
. - Add class
info.magnolia.jaas.sp.jcr.JCRAuthorizationModule
as REQUIRED
.
Disabling Contexts and Dependency Injection 1.2
- In the IBM WebSphere Application Server, expand Servers > Server Types and select WebSphere application servers in the left panel.
- In the right panel under Application servers select <server name>.
- Under Server Infrastructure expand Java and Process Management and select Process definition > Java Virtual Machine > Custom properties.
- Add new properties:
- Name:
com.ibm.ws.cdi.enableCDI
, value: false
. - Name:
com.ibm.ws.cdi.enableImplicitBeanArchives
, value: false
.
Disabling WebSphere's built-in JAX-RS
- In the IBM WebSphere Application Server expand: Servers > Server Types and select WebSphere application servers in the left panel.
- In the right panel, select <server name> under Application servers.
- Under Server Infrastructure, expand Java and Process Management and select Process definition > Java Virtual Machine > Custom properties.
- Add a new property:
- Name:
com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine
, value: true
.
- In the IBM WebSphere Application Server, expand: Applications > Application Types and select WebSphere enterprise applications in the left panel.
- In the right panel, select <application name> (magnoliaAuthor or magnoliaPublic) and under Modules > Manage Modules > <module name> (magnolia), select from Class loader order the option Classes loaded with local class loader first (parent last).
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))