1

I am using PrimeFaces 5.3 + Java EE 7 on Glassfish 4 when I meet a long execution operation. I constantly have this error message which interrupt the execution : WELD-000315: Failed to acquire conversation lock in 1,000 ms for Transient conversation]]

Some investigations suggest to increase the value of parameter org.jboss.weld.conversation.concurrentAccessTimeout of Weld : File-upload with multiple files fails in Primefaces 5.1

I tried it by many way (weld.properties) in WEB/INF of web application and in META/INF of ejb module, creating system property via glassfish asadmin), but glassfish does not recognize the new value of the parameter. See : https://docs.jboss.org/weld/reference/latest/en-US/html/configure.html#config-conversation-timeout

The class ConversationTimeoutDefaultSetter, as suggested by some helps is not recognized with in my environment.

My question is how to make glassfish recognize the new value for parameter org.jboss.weld.conversation.concurrentAccessTimeout ? Any other solution regarding the issue? Thank you

1 Answers1

0

I do not have the answer but I can shed some light:

Chapter 19.1 mentions three ways to configure Weld. You tried the first two I presume, try looking into GF docs if they support the third way.

But more importantly - do turn debug mode for Weld on and check for Weld properties on startup. There is going to be a line saying what properties you set. That way you can verify it doesn't really get picked up. It might be that Weld recognizes it but GF just chooses to ignore it (or override it using external configuration).

Many of these settings are in a form of a "suggestion" for the server to follow. But for whatever reason, the integrator may choose to overwrite/ignore that. After all, server is handling the conversation logic, Weld is merely turning it into beans and contexts.

Siliarus
  • 6,393
  • 1
  • 14
  • 30