在使用特立尼达时,是否有人实现了Java库(甚至编译Java类)的热部署?
我的Rails应用程序运行在特立尼达上,并依赖于my-rails/lib/java下打包的Java后端。当其中一个罐子发生变化时,特立尼达服务器不会重新加载它。touch tmp/restart.txt只重新加载应用程序上下文。
请注意,我的问题与config.autoload_paths无关,因为据我所知,此选项仅用于重新加载文件。
已更新
我未能实现java依赖项的热部署,于是放弃了。对我来说唯一的帮助是单元测试,每次我在本地启动这些测试来检查我的代码。
发布于 2013-12-18 08:35:32
我认为如果.jar没有重新加载,那么它可能是一个特立尼达错误(因为在上下文启动期间,应该重新添加.jar假设Tomcat默认这样做--我不确定).了解详细信息(在特立尼达的跟踪器中)是很好的,例如,如果jar的名称相同,配置是什么样子的(如果有的话)。
另一种选择是尝试滚动重新启动,因为创建了一个全新的上下文,因此它应该从文件系统中获取上下文所依赖的任何内容。
请注意,对文件更改(如更改.jar文件)的自动重新加载(即使可能与Tomcat一起工作)在特立尼达是有意禁用的--您需要“显式地”(触摸.)请求重新启动。
https://stackoverflow.com/questions/20573891
复制相似问题