this is a known issue :) I see this all the time and was one of the
use-cases that caused me to add that new "custom timeout" code (see my
earlier email on this).
So, what you need to do is go to the GWTServiceImpl that calls the
import SLSB method and change the GWTServiceLookup call to get the proxy
with a custom timeout - probably allow for a very long timeout here
(perhaps 5minutes - since people can import tens/hundreds of resources
in one request). You'll probably have to add a new method to
GWTServiceLookup so it takes and uses a new timeout param (my earlier
email explains the procedure on this).
On 11/15/2010 05:25 AM, Heiko W.Rupp wrote:
I was trying to import a few resources.
Import failed and stuff was in the AD portlet.
I retired and got an error:
Caused by: java.lang.RuntimeException:
javax.ejb.EJBException:java.lang.IllegalArgumentException: Can only commit resources with
status: [COMMITTED] -> java.lang.IllegalArgumentException:Can only commit resources
with status: [COMMITTED]
at
org.rhq.enterprise.gui.coregui.server.gwt.ResourceGWTServiceImpl.importResources(ResourceGWTServiceImpl.java:289)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
After looking I saw that the resources actually were all in inventory already.
So basically it looks like this ran into a GWT session timeout so display was hosed,
but the backend continued to process stuff.
I know Mazz increased timeouts recently (Mazz?), so this may not happen that often,
but I still think that after some timeout the UI should try to reload the screen in
order to sync with the backend.
What am I missing here?
Heiko