Forum Stats

  • 3,734,713 Users
  • 2,247,030 Discussions
  • 7,857,460 Comments

Discussions

Getting "StuckThreadMaxTime of "600" seconds" while processing JAXBContext.newInstance(object_name)

We are getting a frequent issue of [STUCK] ExecuteThread after making an Web service call. We are trying to Unmarshall the service response with a static method like below, Is any of the code below causing  StuckThreadMaxTime? Please find the log below.

Code

-----------

public static Object parseToObject(Element domElement, String contextPath) {

  Object returnObjc = null;

  try {

  Object parsedElement = null;

  JAXBContext jaxbContext = JAXBContext.newInstance(contextPath);

  parsedElement = jaxbContext.createUnmarshaller().unmarshal(domElement);

  returnObject = parsedElement;

  if (parsedElement instanceof JAXBElement) {

  JAXBElement<?> jaxbElement = (JAXBElement<?>) parsedElement;

  returnObject = jaxbElement.getValue();

  }

  } catch (JAXBException ignore) {

  }

  return returnObject;

  }

Log

-----

which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:

Thread-5544 "[STUCK] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, suspended, parked, priority=1, DAEMON> {

    java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)

    java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)

    java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:862)

    java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1196)

    java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)

    com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:199)

    com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:94)

    com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:70)

    com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:147)

    com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:250)

    com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:75)

    sun.reflect.GeneratedConstructorAccessor127.newInstance(Unknown Source)

    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

    java.lang.reflect.Constructor.newInstance(Constructor.java:501)

    com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:100)

    com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:132)

    com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:479)

    com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:497)

    com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:88)

    sun.reflect.GeneratedConstructorAccessor118.newInstance(Unknown Source)

    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

    java.lang.reflect.Constructor.newInstance(Constructor.java:501)

    com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:100)

    com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:132)

    com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:479)

    com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:256)

    com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)

    com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:79)

    com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:148)

    sun.reflect.GeneratedMethodAccessor5746.invoke(Unknown Source)

    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    java.lang.reflect.Method.invoke(Method.java:575)

    javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:113)

    javax.xml.bind.ContextFinder.find(ContextFinder.java:226)

    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)

    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)

    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:244)

This discussion has been closed.