JBAS-6689 add support for activation policy metadata on Mana
ccrouch Mar 27, 2009 6:12 PMStarting this thread to discuss how best to address the issues brought up in the http://jira.jboss.com/jira/browse/JBAS-6689. We can certainly discuss what we want to do in the future but I think the immediate priority is what can be done for the 5.1.CR1.
So starting off I'm not sure adding support for activation policy to the JBAS layer and the console is not practical in the current timeframe (Scott/Emanuel can you comment on the JBAS side?). Even if support was added to JBAS as Ian describes in 6689, there is currently no way for the console to indicate that value A of a property is whats currently running and value B is what will be running after a restart.
Looking at the troublesome properties...
11:11:42,488 WARN [QueueService] Clustered can only be changed when destination is stopped
11:11:42,488 WARN [QueueService] PageSize can only be changed when destination is stopped
11:11:42,488 WARN [QueueService] Cannot change the value of associated server's ObjectName after initialization!
11:11:42,488 WARN [QueueService] FullSize can only be changed when destination is stopped
11:11:42,488 WARN [QueueService] Cannot change the value of the JNDI name after initialization!
11:11:42,488 WARN [QueueService] DownCacheSize can only be changed when destination is stopped
From the above its clear that JNDI name and ObjectName should be readonly from the console perspective. In addition having looked at http://jira.jboss.com/jira/browse/JBMESSAGING-1368
and http://jira.jboss.com/jira/browse/JBMESSAGING-1235 its clear that the "Clustered" property is effectively readonly too. [In fact it worse than that since you need to make updates to the JBM_POSTOFFICE table if you want to change this value, but making something readonly is about as far as we can go right now].
That leaves PageSize, FullSize and DownCacheSize properties which require the destination to be stopped in order for the change to be successfully applied. I don't think the current situation is tenable, i.e. a user tries to change the PageSize property when the queue is running and the profile service responds back with success and when the console queries the ManagedComponent its gets the new value, which does *not* reflect what is actually running in the JBAS instance.
I think the least that can be done here is to have the profile service return back failure from the update if the values we supplied it didn't actually get applied (Is it possible for the profile service to query the underlying component to check that the suggested updates have been applied?).
Further if I'm not changing PageSize, FullSize and DownCacheSize properties, but one of the properties which can be updated fine while the destination is running, then I should clearly not get any sort of warning or failure.
Regardless of what we ultimately end up doing in the short term I think the JBM1.4 destinations provide an excellent example of the sort of configurations we're going to need to support in the future.
Cheers