Coherence 와 Jboss 7 이 충돌날 때 Jboss 의 설정에서 특정 부분을
추가 해 주면 된다.
WARN [org.jboss.modules] (MSC service thread 1-4) Failed to define class com.tangosol.io.ResolvingMarshalInputStream in Module "deployment.myApp.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/tangosol/io/ResolvingMarshalInputStream (Module "deployment.myApp.war:main" from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:401)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:261)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:76)
at org.jboss.modules.Module.loadModuleClass(Module.java:590)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:183)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
at com.tangosol.util.ExternalizableHelper.<clinit>(ExternalizableHelper.java:5103) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.SimpleParser.instantiateDocument(SimpleParser.java:229) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:178) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:93) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.SimpleParser.parseXml(SimpleParser.java:162) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.XmlHelper.loadXml(XmlHelper.java:138) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.XmlHelper.loadXml(XmlHelper.java:177) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:322) [coherence-3.7.1.0.jar:]
at com.tangosol.run.xml.XmlHelper.loadResource(XmlHelper.java:251) [coherence-3.7.1.0.jar:]
at com.tangosol.coherence.component.application.console.Coherence.loadConfiguration(Coherence.CDB:19) [coherence-3.7.1.0.jar:]
at com.tangosol.coherence.component.application.console.Coherence.getServiceConfig(Coherence.CDB:13) [coherence-3.7.1.0.jar:]
at com.tangosol.coherence.component.application.console.Coherence.ensureRunningLogger(Coherence.CDB:15) [coherence-3.7.1.0.jar:]
at com.tangosol.coherence.component.application.console.Coherence.getServiceConfig(Coherence.CDB:7) [coherence-3.7.1.0.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_24]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_24]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_24]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_24]
at com.tangosol.net.CacheFactory.getServiceConfig(CacheFactory.java:779) [coherence-3.7.1.0.jar:]
at com.tangosol.net.CacheFactory.getCacheFactoryBuilderConfig(CacheFactory.java:660) [coherence-3.7.1.0.jar:]
at com.tangosol.net.CacheFactory.getCacheFactoryBuilder(CacheFactory.java:62) [coherence-3.7.1.0.jar:]
at com.tangosol.net.CacheFactory.getConfigurableCacheFactory(CacheFactory.java:126) [coherence-3.7.1.0.jar:]
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:204) [coherence-3.7.1.0.jar:]
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:181) [coherence-3.7.1.0.jar:]
at com.ericsson.registry.impl.ServiceRegistryCoherence.<init>(ServiceRegistryCoherence.java:44) [ServiceRegistry-2.0.0.jar:]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [:1.6.0_24]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [:1.6.0_24]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_24]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_24]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:74) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) [spring-beans-3.0.5.RELEASE.jar:]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) [spring-context-3.0.5.RELEASE.jar:]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) [spring-context-3.0.5.RELEASE.jar:]
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) [spring-web-3.0.5.RELEASE.jar:]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) [spring-web-3.0.5.RELEASE.jar:]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) [spring-web-3.0.5.RELEASE.jar:]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3368) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3821) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_24]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_24]
Caused by: java.lang.NoClassDefFoundError: sun/rmi/server/MarshalInputStream
at java.lang.ClassLoader.defineClass1(Native Method) [:1.6.0_24]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) [:1.6.0_24]
at java.lang.ClassLoader.defineClass(ClassLoader.java:616) [:1.6.0_24]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [:1.6.0_24]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:397)
... 60 more
Caused by: java.lang.ClassNotFoundException: sun.rmi.server.MarshalInputStream from [Module "deployment.myApp.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
... 65 more
해당 부분은
$JBOSS_HOME/module/~~~/sun/jdk/main/module.xml
(파일 안의 ~~~ 부분은 의외로 찾기 쉽다. 이게 버전 마다 조금씩 차이가 있다.)
<path name="sun/rmi/server"/>
이걸 추가 하면 된다.
xml 파일을 열어보면 어느 부분에 추가 해야 할 지 금방 감을 잡을 수 있다.
댓글