2016-02-04 52 views
0

我将我的休息服务战部署到weblogic 12.1.3。 我已经设置为true,因为我的休息战首先由类加载器找到。weblogic与elipselink java.lang.StackOverflowError

我还设置如下的应用程序包的偏好:

<prefer-application-packages> 
    <package-name>javax.xml.ws.*</package-name> 
    <package-name>com.sun.xml.ws</package-name> 
<package-name>javax.xml.bind.*</package-name>http://stackoverflow.com/questions/20117584/server-sent-event-with-jersey-and-weblogic 
<package-name>javax.jws.*</package-name> 
<package-name>javax.xml.soap.*</package-name> 
<package-name>javax.servlet.*</package-name> 
</prefer-application-packages> 

但要低于这个execption:

weblogic.application.ModuleException: java.lang.StackOverflowError 
    at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140) 
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124) 
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:216) 
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:211) 
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:73) 
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:24) 
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729) 
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258) 
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:48) 
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165) 
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) 
    at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:226) 
    at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:418) 
    at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) 
    at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200) 
    at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) 
    at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) 
    at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) 
    at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) 
    at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:210) 
    at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:118) 
    at weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:78) 
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1017) 
    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:388) 
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:430) 
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456) 
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225) 
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82) 
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488) 
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98) 
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:606) 
    at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:77) 
    at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:231) 
    at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:254) 
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413) 
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456) 
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225) 
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82) 
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488) 
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98) 
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87) 
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1162) 
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1147) 
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) 
Caused By: java.lang.StackOverflowError 
    at java.lang.Class.getEnclosingMethodInfo(Class.java:964) 
    at java.lang.Class.getEnclosingClass(Class.java:1137) 
    at java.lang.Class.getCanonicalName(Class.java:1231) 
    at org.eclipse.persistence.jaxb.javamodel.reflection.JavaModelImpl.getClass(JavaModelImpl.java:73) 
    at org.eclipse.persistence.jaxb.javamodel.reflection.JavaClassImpl.getSuperclass(JavaClassImpl.java:373) 
    at org.eclipse.persistence.jaxb.javamodel.reflection.JavaClassImpl.hasCustomSuperClass(JavaClassImpl.java:467) 
    at org.eclipse.persistence.jaxb.javamodel.reflection.JavaClassImpl.isAssignableFrom(JavaClassImpl.java:417) 
    at org.eclipse.persistence.jaxb.javamodel.Helper.isCollectionType(Helper.java:414) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.shouldGenerateTypeInfo(AnnotationsProcessor.java:1821) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.processClass(AnnotationsProcessor.java:1304) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.processAdditionalClasses(AnnotationsProcessor.java:1291) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.processAdditionalClasses(AnnotationsProcessor.java:1169) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:736) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 
    at org.eclipse.persistence.jaxb.compiler.AnnotationsProcessor.postBuildTypeInfo(AnnotationsProcessor.java:747) 

还就如何部署我的JAX RS +弹簧安置基于战争宝贵的意见通过避免所有内部weblogic jar与web应用程序第一类加载策略的weblogic。

+0

显然,你的应用程序需要更多的堆栈空间,那么你的模型已经分配以允许它被递归地处理以用于部署。尝试增加服务器上的Xss分配,请参阅http://stackoverflow.com/questions/14158606/how-to-increase-memory-in-weblogic – Chris

+0

-Xms1536m -Xmx1536m -XX:MaxPermSize = 512m -Xss10m didi没有解决问题 –

+0

我通过关闭weblogic服务器的注释扫描来解决此问题。将java选项设置为服务器启动脚本。-Dweblogic.servlet.DIDisabled = true –

回答

0

我关掉的WebLogic Server的注释扫描设置Java选项,服务器启动脚本解决了这个问题。-Dweblogic.servlet.DIDisabled =真