Revision a2dcdb6f
Added by Andreas Kohlbecker over 13 years ago
.gitattributes | ||
---|---|---|
15 | 15 |
src/main/installer/linux/postrm -text |
16 | 16 |
src/main/installer/templates/.cdmLibrary/datasources.xml -text |
17 | 17 |
src/main/installer/templates/copyright.txt -text |
18 |
src/main/installer/win32/CDM-Server-win32.nsi -text |
|
18 | 19 |
src/main/installer/win32/Launch4JavaCDMSERVER.xml -text |
19 | 20 |
src/main/installer/win32/cdmserver.nsi -text |
20 | 21 |
src/main/installer/win32/cdmserver/bin/cdmserver.bat -text |
21 | 22 |
src/main/installer/win32/service/CDMServer.conf -text |
22 | 23 |
src/main/installer/win32/service/CDMServer.exe -text |
23 |
src/main/installer/win32/service/install-serice.bat -text |
|
24 |
src/main/installer/win32/service/install-service.bat -text
|
|
24 | 25 |
src/main/installer/win32/service/remove-service.bat -text |
25 | 26 |
src/main/installer/win32/service/start-service.bat -text |
26 | 27 |
src/main/installer/win32/service/stop-service.bat -text |
src/main/installer/win32/CDM-Server-win32.nsi | ||
---|---|---|
1 |
; Script generated by the HM NIS Edit Script Wizard. |
|
2 |
|
|
3 |
;Copy a file |
|
4 |
!define FileCopy `!insertmacro FileCopy` |
|
5 |
!macro FileCopy FilePath TargetDir |
|
6 |
CreateDirectory `${TargetDir}` |
|
7 |
CopyFiles `${FilePath}` `${TargetDir}` |
|
8 |
!macroend |
|
9 |
|
|
10 |
; HM NIS Edit Wizard helper defines |
|
11 |
!define PRODUCT_NAME "CDM Server" |
|
12 |
!define PRODUCT_VERSION "2.5" |
|
13 |
!define PRODUCT_PUBLISHER "EDIT" |
|
14 |
!define PRODUCT_WEB_SITE "http://wp5.e-taxonomy.eu/" |
|
15 |
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" |
|
16 |
!define PRODUCT_UNINST_ROOT_KEY "HKLM" |
|
17 |
|
|
18 |
!define COPYRIGHT_FILE "..\templates\copyright.txt" |
|
19 |
!define DATASOURCES_DIR "..\templates\.cdmLibrary\" |
|
20 |
!define JAR_FILE "..\..\..\..\target\cdm-server-${PRODUCT_VERSION}.jar" |
|
21 |
|
|
22 |
!define JAR_FILE_NAME "cdm-server-${PRODUCT_VERSION}.jar" |
|
23 |
!define COPYRIGHT_FILE_NAME "copyright.txt" |
|
24 |
|
|
25 |
; MUI 1.67 compatible ------ |
|
26 |
!include "MUI.nsh" |
|
27 |
|
|
28 |
; MUI Settings |
|
29 |
!define MUI_ABORTWARNING |
|
30 |
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" |
|
31 |
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" |
|
32 |
|
|
33 |
; Language Selection Dialog Settings |
|
34 |
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" |
|
35 |
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" |
|
36 |
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" |
|
37 |
|
|
38 |
; Welcome page |
|
39 |
!insertmacro MUI_PAGE_WELCOME |
|
40 |
; License page |
|
41 |
!insertmacro MUI_PAGE_LICENSE ${COPYRIGHT_FILE} |
|
42 |
; Directory page |
|
43 |
!insertmacro MUI_PAGE_DIRECTORY |
|
44 |
; Instfiles page |
|
45 |
!insertmacro MUI_PAGE_INSTFILES |
|
46 |
; Finish page |
|
47 |
!insertmacro MUI_PAGE_FINISH |
|
48 |
|
|
49 |
; Uninstaller pages |
|
50 |
!insertmacro MUI_UNPAGE_INSTFILES |
|
51 |
|
|
52 |
; Language files |
|
53 |
!insertmacro MUI_LANGUAGE "English" |
|
54 |
!insertmacro MUI_LANGUAGE "French" |
|
55 |
!insertmacro MUI_LANGUAGE "German" |
|
56 |
!insertmacro MUI_LANGUAGE "Spanish" |
|
57 |
|
|
58 |
; MUI end ------ |
|
59 |
|
|
60 |
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" |
|
61 |
OutFile "${PRODUCT_NAME}-Setup.exe" |
|
62 |
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" |
|
63 |
ShowInstDetails show |
|
64 |
ShowUnInstDetails show |
|
65 |
|
|
66 |
Function .onInit |
|
67 |
!insertmacro MUI_LANGDLL_DISPLAY |
|
68 |
FunctionEnd |
|
69 |
|
|
70 |
Section "MainSection" SEC01 |
|
71 |
|
|
72 |
SetOutPath "$INSTDIR\" |
|
73 |
SetOverwrite try |
|
74 |
File "service\" |
|
75 |
File "${DATASOURCES_DIR}" |
|
76 |
SetOutPath "$INSTDIR\lib" |
|
77 |
File ${JAR_FILE} |
|
78 |
SetOutPath "$INSTDIR\license" |
|
79 |
;File "cdmserver\license\license.txt" |
|
80 |
File ${COPYRIGHT_FILE} |
|
81 |
SectionEnd |
|
82 |
|
|
83 |
Section -AdditionalIcons |
|
84 |
SetOutPath $INSTDIR |
|
85 |
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" |
|
86 |
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" |
|
87 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" |
|
88 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe" |
|
89 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\cdmserver.lnk" "$INSTDIR\bin\cdmserver.exe" |
|
90 |
SectionEnd |
|
91 |
|
|
92 |
Section -Post |
|
93 |
WriteUninstaller "$INSTDIR\uninst.exe" |
|
94 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" |
|
95 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" |
|
96 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" |
|
97 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" |
|
98 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" |
|
99 |
SectionEnd |
|
100 |
|
|
101 |
|
|
102 |
Function un.onUninstSuccess |
|
103 |
HideWindow |
|
104 |
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." |
|
105 |
FunctionEnd |
|
106 |
|
|
107 |
Function un.onInit |
|
108 |
!insertmacro MUI_UNGETLANGUAGE |
|
109 |
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 |
|
110 |
Abort |
|
111 |
FunctionEnd |
|
112 |
|
|
113 |
Section Uninstall |
|
114 |
Delete "$INSTDIR\${PRODUCT_NAME}.url" |
|
115 |
Delete "$INSTDIR\uninst.exe" |
|
116 |
;Delete "$INSTDIR\logs\cdmserverLog.txt" |
|
117 |
Delete "$INSTDIR\license\${COPYRIGHT_FILE_NAME}" |
|
118 |
Delete "$INSTDIR\libs\${JAR_FILE_NAME}" |
|
119 |
Delete "$INSTDIR\libs\.cdmLibrary\datasources.xml" |
|
120 |
Delete "$INSTDIR\bin\cdmserver.bat" |
|
121 |
Delete "$INSTDIR\bin\cdmserver.exe" |
|
122 |
|
|
123 |
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" |
|
124 |
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" |
|
125 |
Delete "$SMPROGRAMS\${PRODUCT_NAME}\cdmserver.lnk" |
|
126 |
|
|
127 |
RMDir "$SMPROGRAMS\${PRODUCT_NAME}" |
|
128 |
RMDir "$INSTDIR\logs" |
|
129 |
RMDir "$INSTDIR\license" |
|
130 |
RMDir "$INSTDIR\libs\.cdmLibrary" |
|
131 |
RMDir "$INSTDIR\libs" |
|
132 |
RMDir "$INSTDIR\bin" |
|
133 |
|
|
134 |
Delete "$PROFILE\.cdmLibrary\datasources.xml" |
|
135 |
RMDir "$PROFILE\.cdmLibrary" |
|
136 |
|
|
137 |
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" |
|
138 |
SetAutoClose true |
|
139 |
SectionEnd |
src/main/installer/win32/service/CDMServer.conf | ||
---|---|---|
9 | 9 |
wrapper.java.maxmemory=1024 |
10 | 10 |
wrapper.java.mainclass=eu.etaxonomy.cdm.server.win32service.CDMServerWrapperListener |
11 | 11 |
wrapper.app.parameter.1=-win32service |
12 |
|
|
13 |
wrapper.ping.timeout=480 |
|
14 |
wrapper.startup.timeout=600 |
|
15 |
|
|
12 | 16 |
wrapper.console.format=PM |
13 |
wrapper.console.loglevel=INFO |
|
17 |
wrapper.console.loglevel=WARN |
|
18 |
|
|
14 | 19 |
wrapper.logfile.format=LPTM |
15 |
wrapper.logfile.loglevel=INFO
|
|
20 |
wrapper.logfile.loglevel=WARN
|
|
16 | 21 |
wrapper.logfile.maxsize=0 |
17 | 22 |
wrapper.logfile.maxfiles=0 |
18 | 23 |
wrapper.syslog.loglevel=ERROR |
src/main/installer/win32/service/install-serice.bat | ||
---|---|---|
1 |
CDMServer.exe --install CDMServer.conf |
|
2 |
pause |
src/main/installer/win32/service/install-service.bat | ||
---|---|---|
1 |
CDMServer.exe --install CDMServer.conf |
|
2 |
pause |
src/main/installer/win32/service/start-service.bat | ||
---|---|---|
1 |
del wrapper.log |
|
1 | 2 |
CDMServer.exe --start CDMServer.conf |
2 | 3 |
pause |
src/main/java/eu/etaxonomy/cdm/server/Bootloader.java | ||
---|---|---|
386 | 386 |
|
387 | 387 |
logger.info("setting contexts ..."); |
388 | 388 |
server.setHandler(contexts); |
389 |
logger.info("starting jetty ..."); |
|
390 |
server.start(); |
|
389 | 391 |
if(cmdLine.hasOption(WIN32SERVICE.getOpt())){ |
390 |
logger.info("jetty is waiting to be started as win32 service");
|
|
392 |
logger.info("jetty has started as win32 service");
|
|
391 | 393 |
} else { |
392 |
logger.info("starting jetty ..."); |
|
393 |
server.start(); |
|
394 |
server.join(); |
|
394 |
server.join(); |
|
395 | 395 |
logger.info(APPLICATION_NAME+" stopped."); |
396 | 396 |
System.exit(0); |
397 | 397 |
} |
src/main/java/eu/etaxonomy/cdm/server/win32service/CDMServerWrapperListener.java | ||
---|---|---|
39 | 39 |
{ |
40 | 40 |
} |
41 | 41 |
|
42 |
/* (non-Javadoc) |
|
43 |
* @see org.tanukisoftware.wrapper.WrapperListener#controlEvent(int) |
|
44 |
*/ |
|
42 | 45 |
public void controlEvent(int event) |
43 | 46 |
{ |
44 | 47 |
if (!WrapperManager.isControlledByNativeWrapper()) |
... | ... | |
51 | 54 |
|
52 | 55 |
} |
53 | 56 |
|
57 |
/* (non-Javadoc) |
|
58 |
* @see org.tanukisoftware.wrapper.WrapperListener#start(java.lang.String[]) |
|
59 |
*/ |
|
54 | 60 |
public Integer start(String[] args) |
55 | 61 |
{ |
56 | 62 |
for(int i=0; i<args.length; i++) |
... | ... | |
59 | 65 |
} |
60 | 66 |
try { |
61 | 67 |
eu.etaxonomy.cdm.server.Bootloader.main(args); |
68 |
logger.info("The CDM Server Bootloader has started."); |
|
62 | 69 |
} catch (Exception e) { |
63 |
e.printStackTrace();
|
|
70 |
logger.error(e);
|
|
64 | 71 |
} |
65 | 72 |
return null; |
66 | 73 |
} |
67 | 74 |
|
75 |
/* (non-Javadoc) |
|
76 |
* @see org.tanukisoftware.wrapper.WrapperListener#stop(int) |
|
77 |
*/ |
|
68 | 78 |
public int stop(int code) |
69 | 79 |
{ |
70 | 80 |
try |
... | ... | |
76 | 86 |
} |
77 | 87 |
catch (Exception e) |
78 | 88 |
{ |
79 |
logger.error("Stop Server Error"); |
|
80 |
e.printStackTrace(); |
|
89 |
logger.error("Stop Server Error", e); |
|
81 | 90 |
return -1; |
82 | 91 |
} |
83 | 92 |
|
src/main/java/eu/etaxonomy/cdm/server/win32service/Win32Service.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package eu.etaxonomy.cdm.server.win32service; |
21 | 21 |
|
22 |
import org.apache.log4j.Logger; |
|
22 | 23 |
import org.eclipse.jetty.server.Server; |
23 | 24 |
import org.eclipse.jetty.util.component.AbstractLifeCycle; |
24 | 25 |
|
... | ... | |
30 | 31 |
*/ |
31 | 32 |
public class Win32Service extends AbstractLifeCycle implements Runnable |
32 | 33 |
{ |
34 |
public static final Logger logger = Logger.getLogger(Win32Service.class); |
|
35 |
|
|
33 | 36 |
private Server server; |
37 |
|
|
34 | 38 |
public void doStart() |
35 | 39 |
{ |
36 |
|
|
37 |
|
|
40 |
logger.info("doStart"); |
|
38 | 41 |
CDMServerWrapperListener.setServer(server); |
39 |
|
|
40 | 42 |
} |
41 | 43 |
|
42 | 44 |
public void doStop() |
43 | 45 |
{ |
44 |
System.out.println("Listener is stopping CDM Server Instance!!!"); |
|
45 |
|
|
46 |
logger.info("Listener is stopping CDM Server Instance!!!"); |
|
46 | 47 |
} |
47 | 48 |
|
48 | 49 |
public void run() |
... | ... | |
55 | 56 |
{ |
56 | 57 |
try |
57 | 58 |
{ |
58 |
System.out.println("Thread Test Stopper!!!");
|
|
59 |
logger.info("Thread Test Stopper!!!");
|
|
59 | 60 |
server.stop(); |
60 | 61 |
//WrapperManager.stop(0); |
61 | 62 |
} |
Also available in: Unified diff
CDM Server as win32 service - working, installer prepared