问题标签 [redeploy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsp - wldeploy - 远程应用程序的部分重新部署
我在 nostage="false" 模式下部署在远程 Weblogic Server 上的爆炸 EAR。EAR 非常大,因此每次完全取消部署/部署都很慢。
如果我修改“stage”文件夹下的 JSP,我会立即看到 web-app 中的更改。
如果我在“stage”文件夹下添加一个 JSP,我在 web-app 中看不到新闻 jsp。
是否可以对 jsps(并且只有 jsps)进行部分远程重新部署?我试过类似的东西
但我得到了
[DeploymentService:290066] 从管理服务器下载文件以获取部署请求“1,439,276,275,680”时出错。潜在错误是:weblogic.deploy.service.datatransferhandlers.DataHandlerManager$RemoteDataTransferHandler.getDataAsStream(DataHandlerManager.java:153) 的 weblogic.deploy.service.datatransferhandlers.HttpDataTransferHandler.getDataAsStream(HttpDataTransferHandler.java:86) 的“null”
有什么建议吗?
deployment - 操作方法:弹性 beantalk + 部署 docker + 优雅关闭
嗨,stackoverflow 的伟大人物,
在 EB 上托管一个 docker 容器,上面运行基于 nodejs 的代码。在重新部署我们的 docker 容器时,我们希望旧的容器能够正常关闭。
我找到了关于我们的代码如何接收由“docker stop”命令产生的 sigterm 信号的帮助和指南。
然而,对在以下位置运行 docker 的 EB 机器的进一步调查
/opt/elasticbeanstalk/hooks/appdeploy/enact/01flip.sh
表明,当从当前容器“翻转”到新的暂存容器时,旧容器会被 'docker kill' 杀死
有没有办法将此行为更改为 docker stop?
还是一般推荐的处理旧容器正常关闭的方法?
谢谢!
java - 如何最小化 Tomcat 自动部署时间/分心?
我正在开发一个基于 servlet 的小型应用程序,具有快速构建/部署/测试周转。我发现 Tomcat 8.0 在开发过程中自动重新部署的等待时间(主机设置为“autoDeploy=true”)非常令人分心:它在几乎立即和近 10 秒之间变化。
我想(大致按优先顺序):
- 配置 Tomcat 以检查每个请求的重新部署。
- 减少 Tomcat 在轮询重新部署之前等待的时间(例如,1 秒)。
- 或者,有一种方便的方法可以在构建 .war 后立即提示 Tomcat 重新部署。(我正在使用 Ant 构建/部署。)
在过去的 30 分钟里,我一直在搜索 Tomcat 文档(和 SO),但没有看到任何内容。我错过了什么吗?
任何人都可以推荐一种他们发现最小化周转时间(和分心)的方法(上述方法之一)吗?
grails - 简单 Grails 2.5.1 应用程序使用 Groovy 2.4.4 泄漏类加载器
我在 Tomcat 8 中热重新部署一个简单的 Grails 应用程序时遇到问题。
我的设置如下:
- Grails 2.5.1 全新的应用程序,刚刚创建
create-app
- Tomcat 8.0.28(64 位 Linux 二进制版本)
- Java 1.8.0_65-b17 HotSpot 服务器虚拟机
Tomcat也是全新安装的,只修改了两处(因为我想在生产中使用):
服务器.xml
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" undeployOldVersions="true">
上下文.xml
<Context antiResourceLocking="true">
我已经重新启动了 Tomcat 服务器。根据 JVisualVM,它加载了 2398 个类。复制由 生成的 war 文件grails prod war
并等待部署完成后,它加载了 10 022 个类。再次复制战争,从而触发重新部署后,它有 16 300 个班级。
我在第一次部署后进行了堆转储,第二次使用 eclipse MAT 分析类加载器,我可以看到有一个额外org.apache.catalina.loader.WebappClassLoader
的 6 138 个加载的类(所以总共有两个)。
堆空间保持不变,只有 MetaSpace 的使用量显着增加(与类的数量大致相同)。
更新
使用 MAT 深入挖掘,我注意到总是有 9 个实例使类加载器保持活动状态。它们是org.codehaus.groovy.reflection.ClassInfo
(每个原始 java 类型包装器和Void
)的实例。这些 ClassInfos 仅由java.lang.ClassValue$Entry
extends引用WeakReference
,所以我真的很困惑这些实例如何没有被垃圾收集。
有没有人有类似的问题?什么可能导致这个装载机徘徊?
tomcat - 在容器环境中优雅地停止 Logback
今天我得到PermGen OutOfMemory
错误。
分析表明,Nearest GC Root for WebappClassLoader
is Logback thread:
这是:
此线程的堆转储中的线程转储:
我使用具有热重新部署功能的 Tomcat 8并通过以下方式进行reloadable="true"
外部化:CLASSPATH
PreResources
并logback.xml
与scan="true"
:
在/home/user/devel/app/.config/logback.xml
Tomcat 8 中保存修改后会收到通知(我不确定使用什么 API 来监视 fs 上的更改)并开始重新部署应用程序。那是之前发生的事情PermGen OutOfMemory
。
如何在容器环境中优雅地停止 Logback?
如何停止"logback-1"
线程?
我发现了一些相关的讨论,但无法理解如何处理该信息:
- http://logback.10977.n7.nabble.com/How-to-stop-all-appenders-td3023.html
- 使用 logback 关闭时是否需要刷新事件?
- 停止自定义 logback 异步附加程序的正确方法
- 停止 Logback 系统以彻底关闭
更新我玩堆转储visualvm
。低于从坏logback-1
线程跳转的级别:
它指的是
通过在 Logback 源中搜索,ExecutorServiceUtil
我找到了更改日志条目:
ch.qos.logback.core.util.ExecutorServiceUtil#THREAD_FACTORY 打开的所有线程现在都是守护进程,它修复了在未调用 LoggerContext#stop() 时应用程序在关闭时挂起的问题 (LOGBACK-929)。请注意,守护线程会被 JVM 突然终止,这可能会导致不良结果,例如 FileAppender 写入的文件损坏。仍然强烈建议应用程序调用 LoggerContext#stop() (例如,在关闭挂钩中)以正常关闭附加程序。
容器环境中的守护线程是危险的并导致内存泄漏,这对吗?
java - 连接池数据源异常与休眠 c3p0 重新部署 weblogic12c 战争
我在使用 hibernate 和 weblogic 12c 和 Oracle 11g 时遇到问题,当我安装我的应用程序时,它运行正常,但是当我更新应用程序时,它抛出了这个问题:获取可池资源时发生异常。将重试。java.lang.NullPointerException 问候
休眠属性:
java - 重新部署后的 DataSource context.lookup
在 weblogic 和 hibernate 中搜索我的问题后,我发现问题发生在 jndi 查找中,当您安装应用程序时,它运行正常,但是当您重新部署应用程序时会发生这种情况:
javax.naming.NameNotFoundException: Unable to resolve 'ds_c719_002'. Resolved ''; remaining name 'ds_c719_002
'
我的配置文件(我正在使用 java 配置)
问候
tomcat - Hikari Connecticns 没有在种子应用程序中对 tomcat 进行热重新部署时关闭
在对种子应用程序进行热重新部署时,它无法从连接池中释放连接。Tomcat 抛出内存不足异常。
如果部署是第一次完成,它可以正常工作,因为没有需要释放的现有连接。
此外,如果我们关闭 tomcat 实例,它会正确释放连接。
使用默认的 Hikari 连接池设置,并且未进行任何自定义。
添加日志:-
2016 年 10 月 26 日下午 2:46:24 org.apache.catalina.startup.HostConfig deleteRedeployResources 信息:取消部署上下文[/test-web-1.0.0] 2016-10-26 14:46:24,156?[0;39m ? [35mContainerBackgroundProcessor[StandardEngine[Catalina]]?[0;39m ?[36mo.sswlSeed ServletContextListener?[0;39m - 停止种子 Web 应用程序 2016-10-26 14:46:24,157?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[ Catalina]]?[0;39m ?[36mo.sjiJpaPlugin?[0;39m -为持久性单元 test-xxx 关闭实体管理器工厂 2016-10-26 14:46:24,158?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[ Catalina]]?[0;39m ?[36mo.sjiJdbcPlugin?[0;39m -关闭 JDBC 数据源 test_ds 2016-10-26 14:46:24,159?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[Catalina]]?[0;39m ?[36mc.zhpHikariPool?[0;39m - HikariCP 池 HikariPool-0 正在关闭。2016-10-26 14:46:24,228?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[Catalina]]?[0;39m?[36mo.sswlSeedServletContextListener?[0;39m -种子 Web 应用程序停止 ?[31m?[0 ;39mOct 26, 2016 2:46:24 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 严重:Web 应用程序 [/test-web-1.0.0] 注册了 JDBC 驱动程序 [com.mysql.jdbc.Driver] 但是Web 应用程序停止时无法取消注册。为防止内存泄漏,已强制注销 JDBC 驱动程序。 2016 年 10 月 26 日下午 2:46:24 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重:Web 应用程序 [/test-web-1.0.0] 似乎已经启动了一个名为 [Abandoned connection cleanup thread] 但已未能阻止它。这很可能造成内存泄漏。 2016 年 10 月 26 日下午 2:46:25 org.apache.catalina.startup.HostConfig deployWAR
信息:部署 Web 应用程序存档 F:\Eclipse-New-PSA\Eclipse_DEV\Serveurs\J2EE\tomcat\apache-tomcat-7\webapps\test-web-1.0.0.war
14:46:32,543 |-LoggerContext [default] 中的信息-找不到资源 [logback.groovy] 14:46:32,543 |-LoggerContext [default] 中的信息-找不到资源 [logback-test.xml] 14: 46:32,543 |-LoggerContext [default] 中的信息 - 在 [file:/E:/PSA-test/GL_SVN_TEST_ENV/test-conf/test-web/logback.xml] 找到资源 [logback.xml] 14:46:32,606 | joran.action.ConfigurationAction 中的-INFO - 未设置调试属性 14:46:32,739 | LevelChangePropagator@425941ba 中的-INFO - 将 Logger[org.reflections] 上的 OFF 级别传播到 JUL 框架 .... 14 :46:32,740 |-CH.qos.logback.core.joran.action.TimestampAction 中的信息 - 使用 key="bySecond" 和 value="20161026T144632" 将属性添加到 LOCAL steste 14:46:32,746 |- ch.qos.logback.core.FileAppender[FILE] 中的信息 - 文件属性设置为 [c:/temp/log//TestWeb-20161026T144632.log] 14:46:32,811 |-INFO in joran.action.RootLoggerAction - 将 ROOT 记录器的级别设置为 INFO
?[34mINFO ?[0;39m ?[33m2016-10-26 14:46:35,062?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.sswlSeedServletContextListener?[0;39m - 起始种子Web 应用程序 ?[31m?[0;39m?[31mWARN?[0;39m?[33m2016-10-26 14:46:42,623?[0;39m?[35mlocalhost-startStop-2?[0;39m?[36mo .heHibernatePersistence?[0;39m - HHH015016: 遇到一个已弃用的 javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; 使用 [org.hibernate. jpa.HibernatePersistenceProvider] 代替。2016-10-26 14:46:42,678?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.hjiuLogHelper?[0;39m - HHH000 204:处理 PersistenceUnitInfo [名称:test-xxx。 ..] 2016-10-26 14:46:42,801?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.h.Version?[0;39m - HHH000412:休眠核心{4.3。 11.Final} 2016-10-26 14:46:42,808?[0;HikariCP 池 HikariPool-0 正在启动。 2016-10-26 14:46:43,417?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.hdDialect?[0;39m - HHH000400:使用方言:org.hibernate.dialect.MySQLDialect 2016-10-26 14:46:43,908?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.hhiaASTQueryTranslatorFactory?[0;39m - HHH000397:使用 ASTQueryTranslatorFactory ?[31m?[0;39m
异常:从线程“ContainerBackgroundProcessor[StandardEngine[Catalina]]”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError
java - 重新部署war时是否需要重启tomcat?
我知道Tomcat可以.war
在重新部署时重新加载文件,我不需要杀死Tomcat进程并重新启动它。我可以删除.war
,等待 Tomcat 取消部署,然后将新的复制.war
到 Web 路径。但是,经过多次微不足道的更新战争而没有重新启动Tomcat,是否可能Tomcat无法有效释放内存或导致一些性能问题?假设一个 Tomcat 实例中只有一个 war 应用程序。
war - 在 EAR 中重新部署飞行战争与多重战争 (wildfly)
在一个 EAR 中可能会发生多次战争。
但是,例如在管理控制台上部署时,是否可以只替换 EAR 中的一场战争?
例子 :
耳朵 WAR1 WAR2
然后我只需要重新部署 WAR1 而不是完全 EAR