Installing the Content Deployer (HTTP or HTTPS) as a Java Web application
Instead of installing the Content Deployer (HTTP or HTTPS) Server Role by deploying its WAR file and performing some manual steps.
Procedure
- Ensure that all the prerequisites for a Content Delivery Server Role are met on your target system.
- Access the SDL Tridion installation media.
- Navigate to the Content Delivery\roles\ folder.
- Access the upload\java\ subfolder.
- Deploy the file cd_upload.war in this location as a new Java Web application.
- If you store published content in a database, download the JDBC driver (JAR file) required for your specific database vendor and copy it into the WEB-INF/lib directory of your Web application:
Vendor JDBC Driver Required JAR Microsoft SQL Server Microsoft SQL Server JDBC Driver 4.0 sqljdbc42.jar for Java 8
sqljdbc4.jar for Java 6 or Java 7
Oracle Oracle JDBC driver 11.2.0.3 (deprecated) ojdbc6.jar for Java 6 or Java 7
Oracle Oracle JDBC driver 12.1.0.1 ojdbc7-12.1.0.1.jar for Java 8
ojdbc7.jar for Java 7
ojdbc6.jar for Java 6
IBM DB2 IBM Data Server Driver for JDBC and SQLJ (9.7 GA) (deprecated) Not supported with Java 8
db2jcc.jar for Java 6 or Java 7
You can download JDBC drivers from the following locations:- Oracle: download the JDBC Driver 12.1.0.1 from this location: http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
- SQL Server: download the JDBC Driver 4.0 from this location: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11774
- DB2: the JDBC driver is included with your DB2 installation.
- Navigate to \Content Delivery\resources\configurations\.
- Copy logback.xml from that folder to the WEB-INF/classes/ subdirectory of your Web application.
- Copy and rename the following configuration files to the WEB-INF/classes folder of your Web application:
Corresponding configuration file Renamed configuration file cd_deployer_conf_sample.xml cd_deployer_conf.xml cd_storage_conf_sample.xml cd_storage_conf.xml - Open the file cd_deployer_conf.xml for editing.
- In the
<Queue>section, add aLocationelement, for example:<Location Path="MYPATH" WindowSize="20" Workers="10" Cleanup="true" Interval="2s" />Specify thePathand optionally other attributes to optimize the publishing process:Path- The absolute path to the pickup location.
WindowSize- The maximum number of Transport Package that can be "in flight" (publishing or deploying) at any one time. It represents the number of publish actions the Content Deployer should be able to handle. The default value for this attribute is 20.
Workers-
The maximum number of deployment threads that can be running at any time. If
WindowSizeis bigger thanWorkers, items to publish may enter a deployment queue, which in turn may cause a publish action to time out and fail. The default value for this attribute is10.Note: If you store metadata on the file system rather than in a database, you cannot configure multiple workers. Interval-
The amount of time, in milliseconds (
ms), seconds (s), hours (h) and so on, that the Content Deployer waits before checking for new content in this location. The default value for this attribute is2s; that is, two seconds.
- Directly below the
<Queue>section, add the following element:<HTTPSReceiver MaxSize="10000000" Location="MYPATH" InProcessDeploy="true" />Configure the attributes as follows:
MaxSize- The maximum size (in bytes) of a Transport Package sent to the location.
Location-
The same value as the MYPATH you specified in the
Locationelement earlier. InProcessDeploy-
If you set this attribute to
true(this is the case by default), publishing and deployment is contained within the Web application. If you set it tofalse, you must have your Content Manager publish content over HTTP or HTTPS to a location outside the Web application, and run the Content Deployer as a standalone Windows service or Java process. In this setup, the entire publishing transaction bypasses your Web application, which can improve your publishing performance. Refer to Scaling Content Delivery for a more detailed explanation of this implementation plan.
- Save and close cd_deployer_conf.xml.
- Copy cd_licenses.xml, your Content Delivery license file available from SDL Tridion Customer Support, to the WEB-INF/classes directory of your Web application.
If you want to name the file differently or put it in a different location, you need to update the
Licenseelement in your configuration files. - Optional: Configure logging.
- Configure the Storage Layer and optionally encrypt sensitive strings. For Storage elements that refer to the Experience Manager database, add an attribute
defaultFileSystemto theStorageelement and set it tofalse. - If your Web application server is JBoss, do the following:
- Locate the following files in the WEB-INF/lib/ subdirectory and remove them:
- stax-api.jar
- serializer.jar
- xalan.jar
- If you use JBoss 5.1 or 5.2, add the following JVM property-value pair to the
JAVA_OPTSvariable:-Dorg.jboss.logging.provider=slf4j - If you use JBoss 6.0 or 6.1, create a file with the following contents called jboss-deployment-structure.xml and save the file in the WEB-INF/ directory:
<jboss-deployment-structure> <deployment> <exclusions> <module name="org.slf4j" /> <module name="org.slf4j.impl" /> <module name="com.sun.jersey" /> <module name="com.sun.jersey.json" /> <module name="com.sun.jersey.core" /> </exclusions> </deployment> </jboss-deployment-structure> - If you use JBoss 6.0 or 6.1, open WEB-INF/web.xml, add the following section and save the file:
<context-param> <param-name>resteasy.scan</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>resteasy.scan.resources</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>resteasy.scan.providers</param-name> <param-value>false</param-value> </context-param>
- Locate the following files in the WEB-INF/lib/ subdirectory and remove them:
- If your Web application server is WebLogic, do the following:
- Remove the file stax-api.jar from your WEB-INF/lib/ subdirectory.
- Add a weblogic.xml file to the WEB-INF folder of your Web application that forces WebLogic to use the libraries contained in the Web application, rather than its own libraries. The contents of this weblogic.xml file must be as follows:
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> <container-descriptor> <prefer-application-packages> <package-name>javax.persistence.**</package-name> <package-name>antlr.*</package-name> <package-name>org.slf4j.**</package-name> <package-name>org.apache.log4j.**</package-name> <package-name>org.apache.xml.serializer.**</package-name> </prefer-application-packages> </container-descriptor> </weblogic-web-app>
- Restart the Web application.
- In an internet browser of your choice, navigate to http://HOST:PORT/cd_upload/httpupload where HOST and PORT refer to the location of the HTTP Upload Web application.
The following text appears in your browser:
SDL Tridion HTTP Upload and Responder Servlet
Related concepts