Hi,
Has anyone upgraded their version of tomcat from 5.0.27 to 5.5.x with their SP3 environment. I know SP3 can support 5.5, but I’m not sure how to upgrade Tomcat in an already deployed environment.
Thanks
bobjects1 (BOB member since 2008-03-25)
Hi,
Has anyone upgraded their version of tomcat from 5.0.27 to 5.5.x with their SP3 environment. I know SP3 can support 5.5, but I’m not sure how to upgrade Tomcat in an already deployed environment.
Thanks
bobjects1 (BOB member since 2008-03-25)
We are on XIR2 Service Pack 3.5 and have recently upgraded Tomcat 5.5.27. Our web servers are all Windows 2003 server.
Installing Tomcat:
Just download the version you want to install from tomcat.apache.org (at this point the latest version of 5.5 is 5.5.27).
In order to provide a backup I just shutdown the current version of Tomcat and renamed the folder to Tomcat_OLD. This way if I ever wanted to revert back to it, Id just have to shutdown Tomcat 5.5, rename the folder, change some parameters in the config and restart it with the OLD version.
Anyhow, after renaming the old version, I just executed the 5.5 install file and went through the wizard (make sure you change your installation location to where your old version of Tomcat was).
At the end of the wizard uncheck the box to startup Tomcat.
Installing Service:
In order for BOBJ to recognize the Tomcat service (and have it show up in the CCM and CMC) the service name needs to be BOBJTOMCAT, but the wizard installs it as Tomcat5. In order to start fresh I just deleted all the Tomcat services and started over
Open a windows command line and use the commands below. Youll need to change the %TOMCAT_DIR% and %BOBJ_DIR% below to the install directories on your server. Also, these commands might wrap onto different lines, make sure all the options are on a single line.
CD %TOMCAT_DIR%\bin
rem DELETE BOTH BOBJ SERVICES:
tomcat5.exe //DS//BOBJTOMCAT
tomcat5.exe //DS//Tomcat5
rem INSTALL THE NEW SERVICE
tomcat5.exe //IS//BOBJTOMCAT --Jvm auto --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
rem SETUP SERVICE OPTIONS
tomcat5.exe //US//BOBJTOMCAT --StartMode jvm --StopMode jvm
rem JAVA OPTIONS
tomcat5.exe //US//BOBJTOMCAT --JvmOptions "-Dcatalina.home=%TOMCAT_DIR%\;-Dcatalina.base=%TOMCAT_DIR%\;-Djava.library.path=C:\WINDOWS\system32\;%BOBJ_DIR%\BusinessObjects Enterprise 11.5\win32_x86\;-Djava.endorsed.dirs=%TOMCAT_DIR%\common\endorsed;-Xrs;-Dbusinessobjects.olap.bin=%BOBJ_DIR%\OLAP Intelligence 11.5\DHTML Components\;-Dbusinessobjects.olap.stylesheets=%BOBJ_DIR%\OLAP Intelligence 11.5\stylesheets\;-Djava.io.tmpdir=%TOMCAT_DIR%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%TOMCAT_DIR%\conf\logging.properties;-Dcom.sun.management.jmxremote;-Dcom.sun.management.jmxremote.port=9004;-Dcom.sun.management.jmxremote.authenticate=false;-Dcom.sun.management.jmxremote.ssl=false"
Some of the java options provided here are optional for instance, any of the jmxremote options are so we can monitor the instance with JConsole (very useful, but not mandatory). I think all the others are standard.
Once youre done, you can open the Tomcat configuration. If youre using the shortcuts that the wizard just installed for you, youll need to right-click on them, select properties, and change //ES//Tomcat5 to //ES//BOBJTOMCAT. This designates which service youre configuring.
Check all the tabs in the configuration (there are probably a few youll need to configure):
[list]General: Display Name and Description can be whatever you want them to be and youll probably want to set the startup type to Automatic
Log On: no changes
Logging: Set your log path (can be wherever you want to store the logs), default is %TOMCAT_DIR%\logs. Name the stdout and stderr logs (full pathnames).
Java: Uncheck Use Default. Java Virtual machine should point to the jvm.dll file of the JDK youre using (we upgraded to 1.5.0_17 when we upgraded Tomcat). Classpath should be %TOMCAT_DIR%\bin\bootstrap.jar; %JAVA_DIR%\lib\tools.jar. Java options should have been set by the command above (although look at the library path and make sure the 2 directories are on ONE LINE). Memory is different for every server (were still tweaking).
Startup/Shutdown: Class is org.apache.catalina.startup.Bootstrap. Working path is just the %TOMCAT_DIR% and arguments should start or stop respectively. Mode is jvm.[/list]Now youre ready to startup Tomcat. If it doesnt start, check your java options again (make sure you didnt set your memory too high). You can also check the logs wherever you specified them to be in the Logging directory.
Deploying the WAR files:
The biggest difference with 5.5 is how you deploy the WAR files. Tomcat no longer uses the “path=” parameter in the XML file to create the context path under webapps. It now uses the filename of the XML that you’re using to deploy the WAR file with.
Also, it doesn’t create multiple physical subfolder contexts unless there are files in them. In other words, instead of creating the “businessobjects” directory, and then creating the enterprise115directory, then “desktoplaunch” it now creates distinct “top-level” directories. For example - "businessobjects#enterprise115#desktoplaunch (the # designates a subdirectory in the context path). This does still create the proper context paths though, so it doesn’t change anything other than the physical folder structure.
Note, that I mentioned earlier that it uses the XML names to create the context path. The WAR files you deploy will depend on your BOBJ installation, but just remember that the XML name WILL specify the context path.
Here are the XML filenames (in order) that we needed to deploy (note, these are the SAME WAR files we deployed for Tomcat 5.0):
[list]businessobjects.xml = webcompadapter.war
jsfadmin.xml = jsfadmin.war
businessobjects#enterprise115#adminlaunch.xml = admin.war
businessobjects#enterprise115#adhoc.xml = adhoc.war
AnalysisHelp.xml = AnalysisHelp.war
styles.xml = styles.war
dswsbobje.xml = dswsbobje.war
businessobjects#enterprise115#desktoplaunch.xml = desktop.war[/list]Essentially, you should just be able to take your old xml files that previously used to deploy your war files and rename them with the context path. If you dont have XML files from previous deployments then youll need to create them (Im sure another post or the BOBJ Admin Manual can teach you this).
Make sure you stop Tomcat, place the next XML to be deployed in the “%TOMCAT_DIR%\conf\Catalina\localhost” directory and then start Tomcat. It should deploy. In order to figure out if it’s done, watch the CPU usage in Windows Task Manger…once it goes back down to 0 it should be finished. Another check is to go to the “webapps” folder, find the context path of the files you’re deploying, right-click and select properties, note the number of files in the folder, click ok, check the properties again and if the number stops growing after a few checks, then it has completed.
JAR files:
Make sure you copy over any JAR files that youve modified or that BOBJ requires.
One is xalan.jar which is found in %BOBJ_DIR%\BusinessObjects Enterprise 11.5\java\ needs to be copied to %TOMCAT_DIR%\shared\lib\.
Anther required jar file (for the WCA to startup) is the cewcanative.jar which also needs to be in %TOMCAT_DIR%\shared\lib\. I never found this referenced in any BOBJ manuals, not sure why, but I couldnt get to the CMC until I copied it in. Youll probably want to get this from your OLD Tomcat directory.
Anyhow, once youre to this point its all just customizations from there (graphics, login pages, etc.). I hope this helps someone get started, I noticed there are NO threads on someone successfully doing this and this thread was posted about a year ago. Hopefully its something people are still interested in!
Questions
comments…applause?
= EK
euphonEK (BOB member since 2009-03-27)
I have been running tomcat 5.5.27 for about 6 months now (or whenever it came out). I didnt rename the service, I guess the only reason to do so, would to be able to control from CCM. The install guide provided by euphonEK is exactly how I did it (except the service part)
I have recently started experimenting with a windows tool called “junction” (google it). It works like a symbolic link in unix/linux. So I can have a tc_home folder which is just a link to say tc_5.5.27. This way I can just repoint the link to a new folder with a newer tomcat when we upgrade, and I wont have to mess with services, installs, or our tomcat log backup scripts. Just thought I’d share, since I had never heard of the tool.
I am on XIR2 SP3.
GigaGuy (BOB member since 2007-02-13)
Excellent job document this. It has worked perfectly for me. One thing I did notice when check and modifying the parameters in the Tomcat Configuration tool, each time the java -Djava.library.path values were missing the " ; " separator. Make sure to check this.
mtbhowie (BOB member since 2005-06-08)
I want to add my $0.02 to thank you for a very informative and helpful procedure. I have managed to run through it (slightly modified) once and will be performing another “dress rehearsal” on a backup server before applying the upgrade to our primary server.
Anyone who is required to provide SAS70 or PCI compliance should take the time to read through your directions and do the upgrade. Tomcat 5.0 is not compliant and is full of security holes that 5.5 has plugged to the satisfaction of the relevant compliance parties.
Thank you. Your write-up was a big help.
MarcW (BOB member since 2006-08-01)
Standing Ovation
Great Job on this documentation. It worked perfectly for me.
Thanks
Gabo
gorthous (BOB member since 2004-11-10)
Hello, gurus,
I encounter a issue wich related to xcelsius dashboard after upgrade tomcat.
After I upgrade my tomcat to 5.5, If I write crystalxcelsius.webconnectorurl into web.xml under “##desktop/web-inf”, the java infoview gives me a http 404 error.
It seems the TOMCAT think the web.xml has an error after I wrote webconnector url into it.
Do you ever encounter this issue? please give me some help on how to configure webconnectorurl for crystal xcelsius.
thanks.
zhenghuajiong (BOB member since 2009-02-04)
we solve this by delete files under tomcat folder/work/catallina/localhost then restart tomcat
zhenghuajiong (BOB member since 2009-02-04)
Hi,
I did this procedure to upgrade on boe3.1 and works perfect for me, I have a question. When I deleted the tomcat 5.5.20 service, it also was deleted in the CCM. ¿How can I manually add the tomcat 5.5.27 service in CCM? When I add a new service in CCM 3.1, I only can add a new service intelligence agent.
Thanks for your help, regards,
jasdue.
jasdue (BOB member since 2007-02-07)
I’m upgrading from 5.5.20 to 6.0.20 as SP02 now supports Apache Tomcat 6.0.20.
What I’ve done so far: I installed the Apache into BO-InstallDir, so that I have two dir:
Tomcat55 (the old one, which is currently still running)
Tomcat 6.0 (the new one)
Now, I would like to see both Apache Tomcats Version in CCM:
What do you mean by " just deleted all the Tomcat services"…where should I delete them? in CCM oder Administrative Tools → Services??
Any help is appreciated!
Rgds,
fischmir
fischmir (BOB member since 2009-08-12)
There is a bat file in the tomcat (bin) folder called service.bat - you can run that with the service name - the syntax is like this:
service.bat install/remove [service_name]
You could also install the new Tomcat, as long as you have it listening on a different port. I did that before, just copy your war files and run your BO on that port (eg server:newport/CmcApp)
Just some ideas, good luck!
Brent
bdouglas (BOB member since 2002-08-29)
Hi,
Thanks for the reply. My question now is I upgrade to Tomcat 5.5.27 but I dont have a service.bat file in Tomcat bin directory. I can find it in Tomcat 5.5.20. Is it located in other directory for this version?
Thank you,
jasdue.
jasdue (BOB member since 2007-02-07)
Hi Fischmir,
Where did you find SP2 for BOE 3.1? I know it is available now but I can not find it in Marketplace download.
Thanks!
Sandra.
jasdue (BOB member since 2007-02-07)
I had to get support to upload it to an FTP site. almost useless, though, i finally had to DL with FireFox…overnight
ImagineLane (BOB member since 2008-06-05)
I am getting multiple errors after trying to upgrade Tomcat to 5.5 (upgrade required due to security vulnerabilities). I have attempted to follow the post on this forum (Tomcat upgrade to 5.5) for a Tomcat upgrade. However, I have NO experience with Tomcat or Business Objects except this attempt.
The first error is while trying to log on:
Account Information Not Recognized: The system af.configdir variable not specified, please contact administrator.
This led me to following these instructions:
You need to make some WAR file changes. Look in the desktop.war/WEB-INF/web.xml
You should file a variable af.configdir. You need to edit this and then redeploy the war file.
Code:
<context-param>
<param-name>af.configdir</param-name>
<param-value>%EPM_DIR%</param-value>
</context-param>
You may need to replace the value with the full path to the performance manager directory.
I did exactly as specified and then recieved the following error:
“An error has occurred: java.lang.NullPointerException”
Any help would be appreciated. Log files are below:
Aug 3, 2010 10:16:21 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(D:\Program Files\Business Objects\Tomcat\webapps\businessobjects#enterprise115#desktoplaunch\WEB-INF\lib\jsp-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class
Aug 3, 2010 10:16:21 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(D:\Program Files\Business Objects\Tomcat\webapps\businessobjects#enterprise115#desktoplaunch\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Aug 3, 2010 10:16:24 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(D:\Program Files\Business Objects\Tomcat\webapps\desktopwar\WEB-INF\lib\jsp-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class
Aug 3, 2010 10:16:24 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(D:\Program Files\Business Objects\Tomcat\webapps\desktopwar\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
SEVERE: Error listenerStart
Aug 3, 2010 10:16:31 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/jsfadminwar] startup failed due to previous errors
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
Initializing Performance Management
2062 [Thread-1] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/businessobjects/enterprise115/desktoplaunch] - StandardWrapper.Throwable
java.lang.RuntimeException: Cannot get af.configdir
colson (BOB member since 2010-08-03)