Issue : Hung threads seen. Looking at the log, it was hung when the application tried to call TridionLinkResolver.resolveLink
method.
I don't have any such dynamic Components; therefore I am wondering in what scenario will this synchronize method be called.
private synchronized String resolveLink(LinkStrategy linkStrategy, int publicationId, int itemId, String uri)
{
Link link = linkStrategy.getLink(publicationId, itemId, uri);
return link.isResolved() ? link.getURL() : "";
}
Error seen :
0000002e ThreadMonitor W WSVR0605W: Thread "WebContainer : 15" (000000cc) has been active for 662692 milliseconds and may be hung. There is/are 24 thread(s) in total in the server that may be hung.
at com.sdl.webapp.tridion.TridionLinkResolver.resolveLink(TridionLinkResolver.java:106)
at com.sdl.webapp.tridion.TridionLinkResolver.resolveLink(TridionLinkResolver.java:92)
at com.sdl.webapp.tridion.TridionLinkResolver.resolveLink(TridionLinkResolver.java:50)
at com.sdl.webapp.tridion.TridionLinkResolver.resolveLink(TridionLinkResolver.java:44)
at com.sdl.webapp.tridion.fieldconverters.ComponentLinkFieldConverter.createComponentLink(ComponentLinkFieldConverter.java:77)
at com.sdl.webapp.tridion.fieldconverters.ComponentLinkFieldConverter.getFieldValues(ComponentLinkFieldConverter.java:45)
at com.sdl.webapp.tridion.fieldconverters.AbstractFieldConverter.getFieldValue(AbstractFieldConverter.java:16)
at com.sdl.webapp.tridion.SemanticFieldDataProviderImpl.getFieldData(SemanticFieldDataProviderImpl.java:95)
at com.sdl.webapp.common.impl.mapping.SemanticMapperImpl$1.doWith(SemanticMapperImpl.java:72)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:603)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:583)
at com.sdl.webapp.common.impl.mapping.SemanticMapperImpl.createEntity(SemanticMapperImpl.java:51)
at com.sdl.webapp.tridion.fieldconverters.EmbeddedFieldConverter.getFieldValue(EmbeddedFieldConverter.java:67)
at com.sdl.webapp.tridion.fieldconverters.EmbeddedFieldConverter.getFieldValue(EmbeddedFieldConverter.java:46)
at com.sdl.webapp.tridion.SemanticFieldDataProviderImpl.getFieldData(SemanticFieldDataProviderImpl.java:95)
at com.sdl.webapp.common.impl.mapping.SemanticMapperImpl$1.doWith(SemanticMapperImpl.java:72)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:603)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:583)
at com.sdl.webapp.common.impl.mapping.SemanticMapperImpl.createEntity(SemanticMapperImpl.java:51)
at com.sdl.webapp.tridion.EntityBuilderImpl.createEntity(EntityBuilderImpl.java:105)
at com.sdl.webapp.tridion.ModelBuilderPipeline.createEntityModel(ModelBuilderPipeline.java:39)