Downloads (PDF, HTML & XML formats)
[FishEye Knowledge Base]
FishEye can be run as a service under Microsoft Windows using a Java Service Wrapper.
The service wrapper provides the following benefits:
Please note that:
-server
parameter, provided in the Wrapper configuration of wrapper.zip, which enables the Java HotSpot(TM) Server VM. See the note below for details.On this page:
Related pages:
To install the Java Service Wrapper on Windows:
<FishEye home directory>
(that is, the directory into which FishEye was originally installed). Note, the resulting folder structure should be <FishEye home directory>\wrapper
or <FishEye home directory>\wrapper\bin
, etc and NOT <FishEye home directory>\wrapper\wrapper
or <FishEye home directory>\wrapper\wrapper\bin
. The location of the wrapper directory is important.Tell the wrapper where to find the Java JDK by editing the <FishEye home directory>\wrapper\conf\wrapper.conf
file, replacing this:
# Java Application wrapper.java.command=java
with the following, and comment out the option you don't wish to use:
# Java Application # Option 1: If you have JAVA_HOME defined in your Windows system environment variables (for example, if JAVA_HOME is defined as C:/Java/bin, then you can use: wrapper.java.command=%JAVA_HOME%/java # Option 2: If you have multiple JDKs installed, and you don't want to use a Windows environment variable to specify which one to use, provide the absolute path to where the JDK is installed (e.g. C:/Java/jdk1.7.0_05/bin/java): wrapper.java.command=C:/<path to Java location>/bin/java
To get confirmation in the wrapper log that the wrapper is using the correct Java JDK, add the following lines to the wrapper.conf
file:
# Tell the Wrapper to log the full generated Java command line. wrapper.java.command.loglevel=INF
You can find the logs at <FishEye home directory>\var\log\wrapper.log.
<FishEye home directory>\wrapper\conf\wrapper.conf
file, following the instructions below.<FishEye home directory>\wrapper\bin
and run Fisheye-Install-NTService.bat
. If you run into any problems starting the wrapper, you'll find its logs in <FishEye home directory>\var\log\wrapper.log.
Please note that:
Fisheye-Uninstall-NTService.bat
) and then reinstall the FishEye service.Please note, that if you run FishEye as a Windows service, any FishEye-specific environment variables must be set in your <FishEye home directory>\wrapper\conf\wrapper.conf
file.
If you run into any problems starting the wrapper, you'll find its logs in <FishEye home directory>\var\log\wrapper.log.
If there are other Java parameters you wish to add, then you will need to add them under the additional parameters section, e.g.
# JDK Additional Parameters for jmx wrapper.java.additional.4=-Dcom.sun.management.jmxremote wrapper.java.additional.5=-Dcom.sun.management.jmxremote.port=4242 wrapper.java.additional.6=-Dcom.sun.management.jmxremote.authenticate=false wrapper.java.additional.7=-Dcom.sun.management.jmxremote.ssl=false wrapper.java.additional.8=-Dcom.sun.management.jmxremote.password.file=./wrapper/jmxremote.password wrapper.java.additional.9=-Dwrapper.mbean.name="wrapper:type=Java Service Wrapper Control" wrapper.java.additional.10=-XX:PermSize=256m
To add the FISHEYE_INST environment variable, the Java MaxPermSize parameter, or the -Xrs options, use the following:
wrapper.java.additional.11=-Dfisheye.inst="c:/path/to/FISHEYE_INST" wrapper.java.additional.12=-XX:MaxPermSize=128m wrapper.java.additional.13=-Xrs
Note that the the -Xrs options should be used when running FishEye as a service under Windows to prevent the JVM closing when an interactive user logs out.
Your memory settings can also be found in this file:
# Initial Java Heap Size (in MB) wrapper.java.initmemory=256 # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=1024
Increase these values if you have a large repository or expect to use more memory (init of 256, and a max of 1024 are the default values).
In Fisheye/Crucible 1.6.4 and higher, you can check the JVM input arguments by clicking System info, under 'System Settings' in the admin area.
Some customers have reported trouble running the wrapper. These can be avoided by:
When using a 64-bit Java JDK with the wrapper obtained via the link in the install instructions above, you may see the following in the wrapper.log file:
WARNING - Unable to load the Wrapper's native library 'wrapper.dll'. The file is located on the path at the following location but could not be loaded: C:\installs\service\fisheye28\wrapper\lib\wrapper.dll.
Please verify that the file is readable by the current user and that the file has not been corrupted in any way. System signals will not be handled correctly.
This is caused by using a 64-bit JDK (even on a 64-bit machine). Changing to a 32-bit version of the JDK will prevent this warning. Community Edition versions of the 64-bit Windows Java Service Wrapper are not currently available.
Please note that the wrapper configuration provided above uses the -server
parameter to enable the Java HotSpot(TM) Server VM. This feature is only available if you use the JDK. If you use the JRE you will likely get the following error in your logs:
INFO | jvm 1 | 2010/12/20 18:19:28 | Error: missing `server' JVM at `C:\Program Files\Java\jre6\bin\server\jvm.dll'.
A common issue is that customers remove the -server
parameter from the wrapper.conf
file. Please note that if you do this, the wrapper script will ignore any of the following JVM parameters in the file unless you change the sequence to be in order, starting from wrapper.java.additional.1
. This is an issue with the wrapper application.
In this situation it's best to install and run Fisheye/Crucible with the JDK to get all the advantages of the -server
functionality. You also need to force the wrapper to use the JDK by specifying the path to the Java JDK in the wrapper.conf
file, as described in the installation instructions above.