前两天运行项目需要Resin,搜索时发现可用信息不多,在此记录一下配置过程,以及期间遇上的问题。
最新版: https://caucho.com/products/resin/download/archive
Resin3.x https://caucho.com/products/resin/download/3.1
根据实际情况选择所需版本,这里演示使用 resin-4.0.64 。
本文试验环境: - Java8 - Resin-4.0.64 (D:\00work\Java\resin-4.0.64)
通过 Edit Configurations 打开配置界面。
选择左上角“+”在展示的下拉菜单中选择 Resin-> Local 。
若之前在左侧 Templates 中配置过 本地Resin的配置,这里会将其当做默认配置自动填充。
下面是Server选项卡最终完整配置图
选择 Application Server右侧的 Configure… 按钮,打开其配置界面。
设置Resin Home为本地Resin所在目录,并勾选Include all resin JARs复选框。
设置Default resin configuration file,定义默认的Resin配置文件(Resin4可直接选择 本地 Resin 的conf目录中的 resin.xml 文件)。
点击OK完成配置。
优化性质,不是必选项。
-Xms4048m
-Xmx4048m
-XX:MaxNewSize=1024m
-XX:MaxPermSize=1024m
需要1.6+
项目的Resin自定义配置文件,如
E:\00Work\Program\xxx\resin.conf
勾选 Do not alter Resin configuration 之后, Resin配置将以配置文件为准,下面的字符集、端口号等均不在生效。
添加所需要发布的Artifact
Deployment method
需要修改为resin.xml
。
JMX
是把项目打包的文件 放在 resin
服务器下 webapp
下 只有在服务器启动时 才把项目给拷贝过去,无法在 intellij
中实时更新。
resin.xml
是在C盘 C:Users\xxx\AppData\Local\Temp
目录下 copy了一份 resin.xml
的配置文件 然后把服务器目录空间指向了你的项目工作空间 可以实现intellij修改实时更新
去掉 Use default context name(always true if deployment method is JMX)
的复选框。
Application context name
保持默认/
不变。
至此 Resin 配置完成。
当时四处找问题,翻到这个比较详细的配置教程,Eclipse或者Maven相关的启动方式可以直接参考:
4.0.60+的版本可能会出现该信息,这是由于项目启动超出了 resin的项目启动默认等待时间。
解决方案:
在 web-app 标签中 添加 active-wait-time
属性,并赋值一个较大值(比如60000),根据描述推测这里是毫秒值。
<web-app active-wait-time="60000">
参考资料:
webapp: add info log when WebApp does not start within active-wait-time starts (#6197) http://www.caucho.com/resin-4.0/changes/changes.xtp