IBM Liberty18.0.0.1: проблема загрузчика классов LinkageError Cxf - PullRequest
0 голосов
/ 14 мая 2018

Цель : Попытка развернуть два приложения, которые оба используют cxf для веб-службa

App1 : ejbws.ear: ejb-with @WebService аннотация.Liberty представляет это как веб-сервис, используя шину cxf, которая уже доступна в контейнере.

App2 : myapp.war.Веб-приложение Springboot, в котором есть некоторые службы мыла

Замечание 1 : если я «закину» одно приложение App1, мыльные службы в нем будут работать.Если я захожу в App2 один, мыльный сервис в нем работает.

Наблюдение 2: Если я брошу оба, в зависимости от того, какой из них будет выбран быстрее, только одна из этих работ, другой столкнется с LinkageError.

ПотенциалПроблема: - Похоже, есть конфликт загрузчика классов для org / apache / cxf / service / Service

Требования:

  1. Убедитесь, что App1 ejbws-ear использует контейнер cxf (поскольку в этом файле ear отсутствует зависимость cxf)

  2. Убедитесь, что App2 sbootapp.war использует библиотеку cxf, поставляемую в комплекте с war

  3. Приложение 2 должно работать без каких-либо изменений pom в cmdline / tomcat и других контейнерах.Т.е. не используйте никакую общую библиотеку

Try1 : используйте конфигурацию «parent last» для обоих приложений.Безуспешно.

<featureManager>
    <feature>adminCenter-1.0</feature>
    <feature>localConnector-1.0</feature>
    <feature>websocket-1.1</feature>
    <feature>webProfile-7.0</feature>
    <feature>javaee-7.0</feature>
    <feature>jndi-1.0</feature>
    <feature>jdbc-4.1</feature>
    <feature>httpWhiteboard-1.0</feature>
    <feature>osgiConsole-1.0</feature>
    <feature>mediaServerControl-1.0</feature>
    <feature>productInsights-1.0</feature>
    <feature>mpFaultTolerance-1.0</feature>
    <feature>apiDiscovery-1.0</feature>
</featureManager>


    <!-- this parentlast did not help --><enterpriseApplication type="ear" location="D:\apps\ibmliberty-18001\usr\servers\defaultServer\dropins\ejb_earws.ear" tname="ejb_earws">
    <classloader delegation="parentLast"/>
   </enterpriseApplication>
   <enterpriseApplication type="war" location="D:\apps\ibmliberty-18001\usr\servers\defaultServer\dropins\mysboot-1.0.war" name="mysboot">
    <classloader delegation="parentLast"/>
   </enterpriseApplication>

Попробуйте 2 : что еще мне следует попробовать?

Дамп трассировки:

------Start of DE processing------ = [14/05/18 12:29:29:634 EDT]
Exception = org.springframework.beans.factory.BeanCreationException
Source = com.ibm.ws.webcontainer.osgi.DynamicVirtualHost
probeid = startWebApp
Stack Dump = org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xyz' defined in class path resource [org/mst/test/integration/conf/WebConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.xml.ws.Endpoint]: Factory method 'xyz' threw exception; nested exception is java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.cxf.jaxb.JAXBDataBinding.initialize(Lorg/apache/cxf/service/Service;)V" the class loader (instance of com/ibm/ws/classloading/internal/AppClassLoader) of the current class, org/apache/cxf/jaxb/JAXBDataBinding, and its superclass loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader), have different Class objects for the type org/apache/cxf/service/Service used in the signature
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1177)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1071)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
    at org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:154)
    at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:134)
    at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)
    at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)
    at com.ibm.ws.webcontainer.webapp.WebApp.initializeServletContainerInitializers(WebApp.java:2495)
    at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1002)
    at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6574)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:467)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:462)
    at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:1132)
    at com.ibm.ws.webcontainer.osgi.WebContainer.access$000(WebContainer.java:108)
    at com.ibm.ws.webcontainer.osgi.WebContainer$3.run(WebContainer.java:944)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.xml.ws.Endpoint]: Factory method 'xyz' threw exception; nested exception is java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.cxf.jaxb.JAXBDataBinding.initialize(Lorg/apache/cxf/service/Service;)V" the class loader (instance of com/ibm/ws/classloading/internal/AppClassLoader) of the current class, org/apache/cxf/jaxb/JAXBDataBinding, and its superclass loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader), have different Class objects for the type org/apache/cxf/service/Service used in the signature
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
    ... 32 more
Caused by: java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.cxf.jaxb.JAXBDataBinding.initialize(Lorg/apache/cxf/service/Service;)V" the class loader (instance of com/ibm/ws/classloading/internal/AppClassLoader) of the current class, org/apache/cxf/jaxb/JAXBDataBinding, and its superclass loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader), have different Class objects for the type org/apache/cxf/service/Service used in the signature
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.getConstructor(Class.java:1825)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.createDefaultDataBinding(ReflectionServiceFactoryBean.java:229)
    at org.apache.cxf.service.factory.AbstractServiceFactoryBean.getDataBinding(AbstractServiceFactoryBean.java:109)
    at org.apache.cxf.service.factory.AbstractServiceFactoryBean.getDataBinding(AbstractServiceFactoryBean.java:105)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.generatedWrapperBeanClass(JaxWsServiceFactoryBean.java:668)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.getExtraClass(JaxWsServiceFactoryBean.java:645)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:420)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:528)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:263)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:199)
    at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:103)
    at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:168)
    at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211)
    at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:460)
    at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:338)
    at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255)
    at org.mst.test.integration.conf.WebConfiguration.xyz(WebConfiguration.java:135)
    at org.mst.test.integration.conf.WebConfiguration$$EnhancerBySpringCGLIB$$a5109f9f.CGLIB$xyz$9(<generated>)
    at org.mst.test.integration.conf.WebConfiguration$$EnhancerBySpringCGLIB$$a5109f9f$$FastClassBySpringCGLIB$$941731ce.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)
    at org.mst.test.integration.conf.WebConfiguration$$EnhancerBySpringCGLIB$$a5109f9f.xyz(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    ... 33 more

свалка звонящего по этому

Object type = [Ljava.lang.Object;
  Object[0] = class com.ibm.ws.webcontainer.osgi.DynamicVirtualHost@1d03cafa
    tc = class com.ibm.websphere.ras.TraceComponent@5886fbf5
      strings[0] = "TraceComponent[com.ibm.ws.webcontainer.osgi.DynamicVirtualHost,class com.ibm.ws.webcontainer.osgi.DynamicVirtualHost,[webcontainer],com.ibm.ws.webcontainer.resources.LShimMessages,null]"
    CLASS_NAME = "com.ibm.ws.webcontainer.osgi.DynamicVirtualHost"
    webContainerParent = class com.ibm.ws.webcontainer.osgi.WebContainer@66141d9d
      tc = class com.ibm.websphere.ras.TraceComponent@3229c23c
      CLASS_NAME = "com.ibm.ws.webcontainer.osgi.WebContainer"
      initialized = true
      eventService = class com.ibm.ws.event.internal.EventEngineImpl@1c29644d
      futureMonitor = class com.ibm.ws.threading.internal.FutureMonitorImpl@72220f91
      classLoadingSRRef = class com.ibm.wsspi.kernel.service.utils.AtomicServiceReference@672facda
      sessionHelperSRRef = class com.ibm.wsspi.kernel.service.utils.AtomicServiceReference@36663023
      cacheManagerSRRef = class com.ibm.wsspi.kernel.service.utils.AtomicServiceReference@61ba21ae
      injectionEngineSRRef = class com.ibm.wsspi.kernel.service.utils.AtomicServiceReference@306f48f
      managedObjectServiceSRRef = class com.ibm.wsspi.kernel.service.utils.AtomicServiceReference@19d5d149
      backgroundWebAppStartFutures = class com.ibm.ws.webcontainer.util.OneTimeUseArrayList@1eb51d78
      REFERENCE_WEB_MBEAN_RUNTIME = "webMBeanRuntime"
      webMBeanRuntimeServiceRef = class com.ibm.wsspi.kernel.service.utils.AtomicServiceReference@2eb2e851
      servletContainerInitializers = class com.ibm.wsspi.kernel.service.utils.ConcurrentServiceReferenceSet@1aa4c384
      es = class com.ibm.ws.threading.internal.ExecutorServiceImpl@2d4c1600
      locationServiceRef = class java.util.concurrent.atomic.AtomicReference@1b24900c
      transferContextServiceRef = class com.ibm.wsspi.kernel.service.utils.ConcurrentServiceReferenceSet@226d0359
      encodingServiceRef = class java.util.concurrent.atomic.AtomicReference@1e694c73
      instance = class java.util.concurrent.atomic.AtomicReference@53d8a5a8
      vhostManager = class com.ibm.ws.webcontainer.osgi.DynamicVirtualHostManager@6c43fb2f
      metaDataService = class com.ibm.ws.container.service.metadata.internal.MetaDataServiceImpl@5c12af5b
      j2eeNameFactory = class com.ibm.ws.container.service.metadata.internal.J2EENameFactoryImpl@1bb315e2
      context = class org.apache.felix.scr.impl.manager.ComponentContextImpl@26fe4a35
      contextRoots = class java.util.Collections$SynchronizedSet@72a0804d
      pendingContextRoots = class java.util.HashMap@64c38e54
      deployedModuleMap = class java.util.concurrent.ConcurrentHashMap@172a9b60
      connContextPool = class com.ibm.ws.webcontainer31.osgi.srt.factory.SRTConnectionContextPool31Impl@43d1d452
      DEFAULT_PORT = "*"
      DEFAULT_VHOST_NAME = "default_host"
      cachedServerInfo = "IBM WebSphere Liberty/${liberty.service.version}"
      lock = class com.ibm.ws.webcontainer.osgi.WebContainer$1@3585968d
      webAppFactory = class com.ibm.ws.webcontainer31.osgi.webapp.factory.WebAppFactoryImpl31@4d4c1f47
      requestFactory = class com.ibm.ws.webcontainer31.osgi.response.factory.IRequestResponseFactory@efe6c15
      responseFactory = class com.ibm.ws.webcontainer31.osgi.response.factory.IRequestResponseFactory@efe6c15
      asyncContextFactory = class com.ibm.ws.webcontainer31.async.factory.AsyncContextFactory31Impl@43404adc
      DEFAULT_MAX_VERSION = 30
      versionRef = class org.eclipse.osgi.internal.serviceregistry.ServiceReferenceImpl@5ae88dc7
      serverStopping = class com.ibm.ws.staticvalue.StaticValue$FinalSingleton@77f307fa
      modulesStarting = 0
      uriMatcherFactory = class com.ibm.wsspi.webcontainer31.util.factory.URIMatcherFactory31Impl@a1053d5
      SPEC_LEVEL_UNLOADED = -1
      SPEC_LEVEL_30 = 30
      SPEC_LEVEL_31 = 31
      SPEC_LEVEL_40 = 40
      DEFAULT_SPEC_LEVEL = 30
      loadedContainerSpecLevel = 31
      ISO = "ISO-8859-1"
      encoding = "UTF-8"
      decode = true
      wcconfig = class com.ibm.ws.webcontainer.osgi.WebContainerConfiguration@555fd4fb
      applicationListeners = class java.util.ArrayList@3a7cd57d
      servletListeners = class java.util.ArrayList@327aa71c
      servletErrorListeners = class java.util.ArrayList@463e6754
      servletInvocationListeners = class java.util.ArrayList@6ded8b64
      filterInvocationListeners = class java.util.ArrayList@31e67c99
      filterErrorListeners = class java.util.ArrayList@56c37ffe
      filterListeners = class java.util.ArrayList@63f2b6b5
      servletRequestListeners = class java.util.ArrayList@62c5a704
      servletRequestAttributeListeners = class java.util.ArrayList@60c50d71
      servletContextListeners = class java.util.ArrayList@2db4a218
      servletContextAttributeListeners = class java.util.ArrayList@5b05ee05
      sessionListeners = class java.util.ArrayList@14379fe6
      sessionIdListeners = class java.util.ArrayList@5c51a694
      sessionAttributeListeners = class java.util.ArrayList@54fd6b64
      DEFAULT_HOST = "default_host"
      _initialized = true
      logger = class com.ibm.ws.logging.internal.WsLogger@66e689a2
      CLASS_NAME = "com.ibm.ws.webcontainer.internal.WebContainer"
      nls = class com.ibm.ejs.ras.TraceNLS@20fcd238
      self = class java.util.concurrent.atomic.AtomicReference@81cb16e
      _cipherToBit = class java.util.HashMap@59a8d3ff
      cacheKeyStringBuilder = class com.ibm.ws.util.WSThreadLocal@66b125e5
      listenersInitialized = true
      webConProperties = class java.util.Properties@201a5619
      sessionRegistry = null
      isStopped = false
      readWriteLockForStopping = class java.util.concurrent.locks.ReentrantReadWriteLock@4d6014b5
      urlPrefix = ";jsessionid="
      extensionFactories = class java.util.ArrayList@10ca33f7
      postInitExtensionFactories = null
      httpResponseListeners = class java.util.ArrayList@52c801cd
      servletContainerInitializers = class java.util.ServiceLoader@3db9887c
      auditManager = class com.ibm.websphere.security.audit.context.AuditManager@4f61bb4c
      threadLocal = class java.lang.ThreadLocal@2e9cba9
      invocationCacheSize = 500
      decodePlusSign = true
      _cacheMap = class java.util.concurrent.ConcurrentHashMap@10bd6450
      _cacheSize = class java.util.concurrent.atomic.AtomicInteger@61b6e453
      vHostCompatFlag = false
      platformHelper = class com.ibm.ws.webcontainer.PlatformHelper@234f88f2
      isDefaultTempDir = true
      tempDir = null
      servletCachingInitNeeded = true
      appInstallBegun = true
      cacheServletWrapperFactory = class com.ibm.ws.webcontainer31.servlet.factory.CacheServletWrapperFactory31Impl@6fb7bbb1
      commands = class java.util.ArrayList@1453cdf3
      requestMapper = class com.ibm.ws.webcontainer.util.VirtualHostContextRootMapper@42112756
      parent = null
      name = "Was.webcontainer"
      isAlive = true
      subElements = class java.util.HashMap@1d462ffe
      attributes = null
      config = null
      serialVersionUID = -8271459000149267764
      $$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@7e7b2f1f
    dhostConfig = class com.ibm.ws.webcontainer.osgi.DynamicVirtualHostConfiguration@70bf7c92
      tc = class com.ibm.websphere.ras.TraceComponent@48ce66cc
      name = "default_host"
      activeContexts = class java.util.HashSet@435da80b
      tc = class com.ibm.websphere.ras.TraceComponent@880f3e
      config = class com.ibm.ws.http.internal.VirtualHostImpl@75899a9b
      _id = "default_host"
      _attributes = null
      serialVersionUID = 7511545662945734886
      $$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@2646ee62
    predefinedMatcher = null
    normalizeRequestURI = false
    logger = class com.ibm.ws.logging.internal.WsLogger@66e689a2
      tc = class com.ibm.websphere.ras.TraceComponent@26dc46a0
      ivCachedResourceBundleName = "com.ibm.ws.webcontainer.resources.Messages"
      ivCachedResourceBundle = class com.ibm.ws.webcontainer.resources.Messages@24178af5
      ivComponent = null
      ivOrganization = null
      ivProduct = null
      ivMinimumLocalizationLevelIntValue = 625
      ivTC = class com.ibm.websphere.ras.TraceComponent@1975ee4f
      loggerRegistrationComponent = class java.lang.ThreadLocal@4d6b6b9a
      emptyHandlers = class java.util.logging.Handler[0]
      offValue = 2147483647
      SYSTEM_LOGGER_RB_NAME = "sun.util.logging.resources.logging"
      SYSTEM_BUNDLE = class java.util.logging.Logger$LoggerBundle@5ddc8c5b
      NO_RESOURCE_BUNDLE = class java.util.logging.Logger$LoggerBundle@7fa319cb
      manager = class com.ibm.ws.kernel.boot.logging.WsLogManager@677b74e8
      name = "com.ibm.ws.webcontainer"
      handlers = class java.util.concurrent.CopyOnWriteArrayList@715ae426
      loggerBundle = class java.util.logging.Logger$LoggerBundle@48dd1002
      useParentHandlers = true
      filter = null
      anonymous = false
      catalog = class com.ibm.ws.webcontainer.resources.Messages@24178af5
      catalogName = "com.ibm.ws.webcontainer.resources.Messages"
      catalogLocale = class java.util.Locale@2fd72593
      treeLock = class java.lang.Object@1337d8b5
      parent = class java.util.logging.Logger@1fccced1
      kids = class java.util.ArrayList@356a6521
      levelObject = class java.util.logging.Level@15172e8e
      levelValue = 800
      callersClassLoaderRef = class java.lang.ref.WeakReference@3fa7a02
      isSystemLogger = false
      GLOBAL_LOGGER_NAME = "global"
      global = class java.util.logging.Logger@2e25e8b8
      $assertionsDisabled = true
    CLASS_NAME = "com.ibm.ws.webcontainer.VirtualHost"
    vHostConfig = class com.ibm.ws.webcontainer.osgi.DynamicVirtualHostConfiguration@70bf7c92
    commands = class java.util.ArrayList@20589816
      serialVersionUID = 8683452581122892189
      DEFAULT_CAPACITY = 10
      EMPTY_ELEMENTDATA = class java.lang.Object[0]
      DEFAULTCAPACITY_EMPTY_ELEMENTDATA = class java.lang.Object[0]
      elementData = class java.lang.Object[3]
      size = 0
      MAX_ARRAY_SIZE = 2147483639
      modCount = 0
      MAX_ARRAY_SIZE = 2147483639
    requestMapper = class com.ibm.wsspi.webcontainer.util.URIMapper@2b883b63
      matcher = class com.ibm.wsspi.webcontainer.util.URIMatcher@5d46850
    parent = class com.ibm.ws.webcontainer.osgi.WebContainer@66141d9d
    name = "default_host"
    isAlive = true
    subElements = class java.util.HashMap@5c200e43
      serialVersionUID = 362498820763181265
      DEFAULT_INITIAL_CAPACITY = 16
      MAXIMUM_CAPACITY = 1073741824
      DEFAULT_LOAD_FACTOR = 0.75
      TREEIFY_THRESHOLD = 8
      UNTREEIFY_THRESHOLD = 6
      MIN_TREEIFY_CAPACITY = 64
      table = class java.util.HashMap$Node[16]
      entrySet = null
      size = 12
      modCount = 12
      threshold = 12
      loadFactor = 0.75
      keySet = null
      values = null
    attributes = null
    config = null
    serialVersionUID = -8271459000149267764
    $$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@7e7b2f1f
      strings[0] = "TraceComponent[com.ibm.ws.container.AbstractContainer,class com.ibm.ws.container.AbstractContainer,[],null,null]"
  Object[1] = class com.ibm.ws.webcontainer31.osgi.webapp.WebApp31@30b89036
    tc = class com.ibm.websphere.ras.TraceComponent@2653c192
      strings[0] = "TraceComponent[com.ibm.ws.webcontainer31.osgi.webapp.WebApp31,class com.ibm.ws.webcontainer31.osgi.webapp.WebApp31,[webcontainer],com.ibm.ws.webcontainer31.resources.Messages,null]"
    CLASS_NAME = "com.ibm.ws.webcontainer31.osgi.webapp.WebApp31"
    servlet31NLS = class com.ibm.ejs.ras.TraceNLS@e5927fc
      resolver = class com.ibm.ws.logging.internal.TraceNLSResolver@e50e245
      finder = class com.ibm.ws.logging.internal.StackFinder@229a1826
      ivBundleName = "com.ibm.ws.webcontainer31.resources.Messages"
      caller = class java.lang.Class@211a906d
    validListenerClasses = class java.lang.Class[7]
      Class[0] = class java.lang.Class@6f19cee7
      Class[1] = class java.lang.Class@2f7d79ae
      Class[2] = class java.lang.Class@114b4540
      Class[3] = class java.lang.Class@16bb19a
      Class[4] = class java.lang.Class@20a439a6
      Class[5] = class java.lang.Class@64508415
      Class[6] = class java.lang.Class@3fc5eeb5
    wsocServHandler = class com.ibm.ws.wsoc.external.WsocHandlerImpl@9ceb1d
      tc = class com.ibm.websphere.ras.TraceComponent@79edbdf9
      noMoreAddsCalled = false
      serialVersionUID = -2067291126638824067
    tc = class com.ibm.websphere.ras.TraceComponent@4fe83a5d
      strings[0] = 
...