How to make glassfish 4 recognize the new value for parameter org.jboss.weld.conversation.concurrentAccessTimeout of Weld?


Abdoul Malicki ZOROME
 


Dear


I am using PrimeFaces 5.3 + Java EE 7 on Glassfish 4.1.1 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), creating JVM Options (-Dorg.jboss.weld.conversation.concurrentAccessTimeout=10000), 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 for your help

Abdoul ZOROME


reza_rahman <reza_rahman@...>
 

I think your best bet is to ask the Payara guys or try the Weld forum.

Sent via the Samsung Galaxy S7, an AT&T 4G LTE smartphone

-------- Original message --------
From: Abdoul Malicki ZOROME <abdoul.m.zorome@...>
Date: 8/31/17 8:09 AM (GMT-05:00)
To: glassfish@javaee.groups.io
Subject: [glassfish] How to make glassfish 4 recognize the new value for parameter org.jboss.weld.conversation.concurrentAccessTimeout of Weld?


Dear


I am using PrimeFaces 5.3 + Java EE 7 on Glassfish 4.1.1 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), creating JVM Options (-Dorg.jboss.weld.conversation.concurrentAccessTimeout=10000), 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 for your help

Abdoul ZOROME


Yamini Kalyandurga <yamini.k.b@...>
 

Hi Abdoul,

I see that your query has been answered in JBoss forum - this particular parameter is not available in Weld 2.2.13 which is the one integrated in GlassFish 4.1.1

However, to answer other part of your concern, here is how you can actually verify if a specific parameter is picked up Weld or not. Here is what I tried on GlassFish 5.0:

1. Turn on Weld logging
asadmin set-log-levels org.jboss.weld=FINEST

2. Add the additional Weld properties to JVM config of the server
asadmin create-jvm-options "-Dorg.jboss.weld.conversation.concurrentAccessTimeout=10000"

3. Restart the server. You will then see something like below in server.log:

[2017-09-05T09:54:16.849+0530] [glassfish 5.0] [DEBUG] [] [org.jboss.weld.Configuration] [tid: _ThreadID=18 _ThreadName=RunLevelControllerThread-1504585451191] [timeMillis: 1504585456849] [levelValue: 500] [CLASSNAME: org.jboss.weld.config.WeldConfiguration] [METHODNAME: <init>] [[
  WELD-001902: Following configuration was detected and applied: {org.jboss.weld.bootstrap.concurrentDeployment=false, org.jboss.weld.bootstrap.preloaderThreadPoolSize=0, org.jboss.weld.nonPortableMode=false, org.jboss.weld.conversation.concurrentAccessTimeout=10000}]]

-Yamini


Abdoul Malicki ZOROME
 

Hi Yamini,

Thank you all for your help.
I am finally trying another approach I would like to share here, maybe it could help : asynchronous execution.
With Java EE asynchronous execution (http://docs.oracle.com/javaee/6/tutorial/doc/gkkqg.html) and primefaces poll component, we can regularly check whether server side execution is finished and update the current web page.
Another way is to go by deferred treatment : you register the request (by JMS Queue for example), execute on the container and make the result available on another page for the user.

Abdoul


Abdoul Malicki ZOROME, MBA, PMP, SMC, MCP
Project Management Professional (PMP) certified
Scrum Master Certified (SMC)
MCP - Managing Projects with Microsoft Project 2013
Cell: 581-922-5550
  • ca.linkedin.com/in/abdoulmzorome

2017-09-05 0:53 GMT-04:00 Yamini Kalyandurga <yamini.k.b@...>:

Hi Abdoul,

I see that your query has been answered in JBoss forum - this particular parameter is not available in Weld 2.2.13 which is the one integrated in GlassFish 4.1.1

However, to answer other part of your concern, here is how you can actually verify if a specific parameter is picked up Weld or not. Here is what I tried on GlassFish 5.0:

1. Turn on Weld logging
asadmin set-log-levels org.jboss.weld=FINEST

2. Add the additional Weld properties to JVM config of the server
asadmin create-jvm-options "-Dorg.jboss.weld.conversation.concurrentAccessTimeout=10000"

3. Restart the server. You will then see something like below in server.log:

[2017-09-05T09:54:16.849+0530] [glassfish 5.0] [DEBUG] [] [org.jboss.weld.Configuration] [tid: _ThreadID=18 _ThreadName=RunLevelControllerThread-1504585451191] [timeMillis: 1504585456849] [levelValue: 500] [CLASSNAME: org.jboss.weld.config.WeldConfiguration] [METHODNAME: <init>] [[
  WELD-001902: Following configuration was detected and applied: {org.jboss.weld.bootstrap.concurrentDeployment=false, org.jboss.weld.bootstrap.preloaderThreadPoolSize=0, org.jboss.weld.nonPortableMode=false, org.jboss.weld.conversation.concurrentAccessTimeout=10000}]]

-Yamini