大佬教程收集整理的这篇文章主要介绍了Maven 设置为忽略 `wsdl2java` 这是否会导致部署时 Wildfly 内存过高和启动缓慢?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发 https://github.com/CONNECT-Solution/CONNECT 的(目前是私有的)分支
我观察到它至少需要 Xmx=2g
才能启动,即便如此,在任何合理的时间内启动也需要 6-8GB。
我在启动期间进行了堆转储,并在堆上观察了以下类,JAXBContextImpl
似乎很重要:
当以较低的 Xmx
值(例如 Xmx=512m
)运行时,我会收到如下错误:
23:28:42,607 INFO [org.springframework.beans.factory.xml.XmlBeanDeFinitionReader] (MSC service thread 1-2) Loading XML bean deFinitions from class path resource [CONNECT-context.xml]
23:31:05,802 WARN [org.springframework.web.context.support.XmlWebApplicationContext] (MSC service thread 1-3) Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.beanCreationException: Error creaTing bean with name 'AdapterMpiservice': Invocation of init method Failed; nested exception is java.lang.outOfMemoryError: Java heap space
23:31:05,824 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jbosS.Undertow.deployment.default-server.default-host./Adapter/PatIEntdiscovery/A_0: org.jboss.msc.service.StartException in service jbosS.Undertow.deployment.default-server.default-host./Adapter/PatIEntdiscovery/A_0: Failed to start service
at org.jboss.msc.service.serviceControllerImpl$startTask.run(serviceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_191]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_191]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_191]
Caused by: org.springframework.beans.factory.beanCreationException: Error creaTing bean with name 'AdapterMpiservice': Invocation of init method Failed; nested exception is java.lang.outOfMemoryError: Java heap space
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.initializeBean(AbstractautowireCapablebeanfactory.java:1572)
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.doCreateBean(AbstractautowireCapablebeanfactory.java:539)
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.createBean(AbstractautowireCapablebeanfactory.java:476)
at org.springframework.beans.factory.support.Abstractbeanfactory$1.getobject(Abstractbeanfactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:299)
at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:194)
at org.springframework.beans.factory.support.Defaultlistablebeanfactory.preInstantiateSingletons(Defaultlistablebeanfactory.java:755)
at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:762)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
at org.apache.cxf.transport.servlet.CXFServlet.createSpringContext(CXFServlet.java:151)
at org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:74)
at org.apache.cxf.transport.servlet.CXFNo@R_301_6648@ingServlet.init(CXFNo@R_301_6648@ingServlet.java:77)
at io.undertow.servlet.core.lifecyleInterceptorInvocation.proceed(lifecyleInterceptorInvocation.java:117)
at org.wildfly.extension.undertow.security.RunAslifecycleInterceptor.init(RunAslifecycleInterceptor.java:79)
at io.undertow.servlet.core.lifecyleInterceptorInvocation.proceed(lifecyleInterceptorInvocation.java:103)
at io.undertow.servlet.core.ManagedServlet$DefaulTinstanceStrategy.start(ManagedServlet.java:220)
at io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:125)
at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:509)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentservice.startContext(UndertowDeploymentservice.java:88)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentservice.start(UndertowDeploymentservice.java:72)
at org.jboss.msc.service.serviceControllerImpl$startTask.startservice(serviceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.serviceControllerImpl$startTask.run(serviceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
... 3 more
我认为正在发生的是应用程序在部署时生成网络服务。我想在编译时生成那些。
我看到 https://github.com/CONNECT-Solution/CONNECT/blob/CONNECT_integration/Product/Production/pom.xml 中的 wsdl2java
似乎被禁用:
<pluginExecution>
<pluginExecutionFilter>
<groupID>org.apache.cxf</groupID>
<artifactID>cxf-codegen-plugin</artifactID>
<versionRange>[2.6.0,)</versionRange>
<goals>
<goal>wsdl2java</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
我还看到 https://github.com/CONNECT-Solution/CONNECT/blob/CONNECT_integration/Product/Production/Common/Properties/pom.xml 中跳过了 cxf-codegen-plugin
:
<plugin>
<groupID>org.apache.cxf</groupID>
<artifactID>cxf-codegen-plugin</artifactID>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
问题:
wsdl2java
和/或 cxf-codegen-plugin
会提高部署时的速度或内存利用率吗?暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Maven 设置为忽略 `wsdl2java` 这是否会导致部署时 Wildfly 内存过高和启动缓慢?全部内容,希望文章能够帮你解决Maven 设置为忽略 `wsdl2java` 这是否会导致部署时 Wildfly 内存过高和启动缓慢?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。