JavaServer Wrapper 整合SpringBoot 的使用
1.下载JavaServer Wrapper
2.在本地创建一个目录并创建文件夹
3.复制wraper 中src/bin目录下的App.bat.in,UninstallApp-NT.bat.in,InstallApp-NT.bat.in,复制wraper/bin 下的wrapper.exe ----》 都放在自建目录bin,并删除.in后缀 ,复制wrapper/conf 下的wrapper.conf 和wrapper-license.conf 到自建conf目录,复制wrapper/lib下的wrapper.ddl和wrapper.jar---》到自建目录lib,在把springBoot打包的jar放到此目录
注:需要注意的是下载的wrapper是不是破解版,Java Service Wrapper分为Professional、Standard、Community三个版本,并支持32位和64位的系统,其中Community版本为免费的社区版本
4.做完以上步骤就可以安装服务了
UninstallApp-NT.bat,InstallApp-NT.bat 卸载和安装,运行之前先看配置项
5.wrapper.conf文件配置
主要是springboot主类加载和javaee有所区别
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | # encoding = UTF - 8 # Configuration files must begin with a line specifying the encoding # of the the file . # # NOTE - Please use src / conf / wrapper . conf . in as a template for your # own application rather than the values used for the # TestWrapper sample . #******************************************************************** # Wrapper License Properties ( Ignored by Community Edition ) #******************************************************************** # Professional and Standard Editions of the Wrapper require a valid # License Key to start . Licenses can be purchased or a trial license # requested on the following pages : # http : //wrapper.tanukisoftware.com/purchase # http : //wrapper.tanukisoftware.com/trial # Include file problems can be debugged by leaving only one '#' # at the beginning of the following line : ## include . debug # The Wrapper will look for either of the following optional files for a # valid License Key . License Key properties can optionally be included # directly in this configuration file . # include ../ conf / wrapper - license . conf # include ../ conf / wrapper - license -% WRAPPER_HOST_NAME %. conf # The following property will output information about which License Key ( s ) # are being found , and can aid in resolving any licensing problems . # wrapper . license . debug = TRUE #******************************************************************** # Wrapper Localization #******************************************************************** # Specify the language and locale which the Wrapper should use . # wrapper . lang = en_US # en_US or ja_JP # Specify the location of the language resource files (*. mo ). wrapper . lang . folder =../ lang #******************************************************************** # Wrapper Java Properties #******************************************************************** # Java Application # Locate the java binary on the system PATH : wrapper . java . command = java # Specify a specific java binary : # set . JAVA_HOME =/ java / path # wrapper . java . command =% JAVA_HOME %/ bin / java # Tell the Wrapper to log the full generated Java command line . # wrapper . java . command . loglevel = INFO # Java Main class . This class must implement the WrapperListener interface # or guarantee that the WrapperManager class is initialized . Helper # classes are provided to do this for you . # See the following page for details : # http : //wrapper.tanukisoftware.com/doc/english/integrate.html wrapper . java . mainclass = org . tanukisoftware . wrapper . WrapperSimpleApp # Java Classpath ( include wrapper . jar ) Add class path elements as # needed starting from 1 # 这里配置项目中用到的 jar wrapper . java . classpath . 2 =../ lib / wrapper . jar wrapper . java . classpath . 3 =../ lib / javaservice . jar # Java Library Path ( location of Wrapper . DLL or libwrapper . so ) wrapper . java . library . path . 1 =../ lib # Java Bits . On applicable platforms , tells the JVM to run in 32 or 64 - bit mode . wrapper . java . additional . auto_bits = TRUE # Java Additional Parameters wrapper . java . additional . 1 = # Initial Java Heap Size ( in MB ) # wrapper . java . initmemory = 3 # Maximum Java Heap Size ( in MB ) # wrapper . java . maxmemory = 64 # Application parameters . Add parameters as needed starting from 1 # SpringBoot 主类配置 wrapper . app . parameter . 1 = org . springframework . boot . loader . JarLauncher #******************************************************************** # Wrapper Logging Properties #******************************************************************** # Enables Debug output from the Wrapper . # wrapper . debug = TRUE # Format of output for the console . ( See docs for formats ) wrapper . console . format = PM # Log Level for console output . ( See docs for log levels ) wrapper . console . loglevel = INFO # Log file to use for wrapper output logging . # 文件名 wrapper . logfile =../ logs / wrapper . YYYYMMDD . log # Format of output for the log file . ( See docs for formats ) wrapper . logfile . format = LPTM # 日志类型每天输入一个文件 wrapper . logfile . rollmode = DATE # Log Level for log file output . ( See docs for log levels ) wrapper . logfile . loglevel = INFO # Maximum size that the log file will be allowed to grow to before # the log is rolled . Size is specified in bytes . The default value # of 0 , disables log rolling . May abbreviate with the ' k ' ( kb ) or # ' m ' ( mb ) suffix . For example : 10m = 10 megabytes . wrapper . logfile . maxsize = 0 # Maximum number of rolled log files which will be allowed before old # files are deleted . The default value of 0 implies no limit . wrapper . logfile . maxfiles = 0 # Log Level for sys / event log output . ( See docs for log levels ) wrapper . syslog . loglevel = NONE #******************************************************************** # Wrapper General Properties #******************************************************************** # Allow for the use of non - contiguous numbered properties wrapper . ignore_sequence_gaps = TRUE # Do not start if the pid file already exists . wrapper . pidfile . strict = TRUE # Title to use when running as a console wrapper . console . title = title #******************************************************************** # Wrapper JVM Checks #******************************************************************** # Detect DeadLocked Threads in the JVM . ( Requires Standard Edition ) wrapper . check . deadlock = TRUE wrapper . check . deadlock . interval = 10 wrapper . check . deadlock . action = RESTART wrapper . check . deadlock . output = FULL # Out Of Memory detection . # ( Ignore output from dumping the configuration to the console . This is only needed by the TestWrapper sample application .) wrapper . filter . trigger . 999 = wrapper . filter . trigger .* java . lang . OutOfMemoryError wrapper . filter . allow_wildcards . 999 = TRUE wrapper . filter . action . 999 = NONE # Ignore - verbose : class output to avoid false positives . wrapper . filter . trigger . 1000 =[ Loaded java . lang . OutOfMemoryError wrapper . filter . action . 1000 = NONE # ( Simple match ) wrapper . filter . trigger . 1001 = java . lang . OutOfMemoryError # ( Only match text in stack traces if - XX :+ PrintClassHistogram is being used .) # wrapper . filter . trigger . 1001 = Exception in thread "*" java . lang . OutOfMemoryError # wrapper . filter . allow_wildcards . 1001 = TRUE wrapper . filter . action . 1001 = RESTART wrapper . filter . message . 1001 = The JVM has run out of memory . #******************************************************************** # Wrapper Email Notifications . ( Requires Professional Edition ) #******************************************************************** # Common Event Email settings . # wrapper . event . default . email . debug = TRUE # wrapper . event . default . email . smtp . host = < SMTP_Host > # wrapper . event . default . email . smtp . port = 25 # wrapper . event . default . email . subject =[% WRAPPER_HOSTNAME %:% WRAPPER_NAME %:% WRAPPER_EVENT_NAME %] Event Notification # wrapper . event . default . email . sender = < Sender email > # wrapper . event . default . email . recipient = < Recipient email > # Configure the log attached to event emails . # wrapper . event . default . email . maillog = ATTACHMENT # wrapper . event . default . email . maillog . lines = 50 # wrapper . event . default . email . maillog . format = LPTM # wrapper . event . default . email . maillog . loglevel = INFO # Enable specific event emails . # wrapper . event . wrapper_start . email = TRUE # wrapper . event . jvm_prelaunch . email = TRUE # wrapper . event . jvm_start . email = TRUE # wrapper . event . jvm_started . email = TRUE # wrapper . event . jvm_deadlock . email = TRUE # wrapper . event . jvm_stop . email = TRUE # wrapper . event . jvm_stopped . email = TRUE # wrapper . event . jvm_restart . email = TRUE # wrapper . event . jvm_failed_invocation . email = TRUE # wrapper . event . jvm_max_failed_invocations . email = TRUE # wrapper . event . jvm_kill . email = TRUE # wrapper . event . jvm_killed . email = TRUE # wrapper . event . jvm_unexpected_exit . email = TRUE # wrapper . event . wrapper_stop . email = TRUE # Specify custom mail content wrapper . event . jvm_restart . email . body = The JVM was restarted .\ n \ nPlease check on its status .\ n #******************************************************************** # Wrapper Windows Service Properties #******************************************************************** # WARNING - Do not modify any of these properties when an application # using this configuration file has been installed as a service . # Please uninstall the service before modifying this section . The # service can then be reinstalled . # Name of the service wrapper . name = JavaService # Display name of the service # wrapper . displayname =@ app . long . name @ wrapper . displayname = JavaService # Description of the service # 服务描述 wrapper . description = Java service transit program # Service dependencies . Add dependencies as needed starting from 1 wrapper . ntservice . dependency . 1 = # Mode in which the service is installed . AUTO_START , DELAY_START or DEMAND_START wrapper . ntservice . starttype = AUTO_START # Allow the service to interact with the desktop ( Windows NT / 2000 / XP only ). wrapper . ntservice . interactive = FALSE |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2018-04-04 python时间处理 time,datetime,arrow