Thanks for the prompt response. Perhaps what I'm doing is a little unusual. I've created a simple way to update resource bundle messages that is intended to be a stop-gap until java 6 sorts out ResourceBundles.
My application also has a login component that takes a username and password. But the username textbox is pre-populated with a prompt for a user name, and it gets that from the reloadable resource. So when the loginAction is created, it needs to access/ create the reloadable resource. See the code extracts below. I'll checkout cvs head and give it a go. Did you still want a test-case for this issue? Let me know if you need any more info. Cheers, Pete. LoginAction.java extract: | @Stateful | @Scope(CONVERSATION) | @Name ( "login" ) | @TransactionAttribute(NOT_SUPPORTED) | @Intercept(ALWAYS) | public class LoginAction implements Login, Serializable { | | private static final long serialVersionUID = -3794420136503008665L; | | private static final Logger LOG = Logger.getLogger( LoginAction.class ); | | public static final String LOGIN_USER_KEY = "loggedInUser"; | public static final String LOGIN_USER_ID_KEY = "loggedInUserId"; | | @PersistenceContext(type=EXTENDED) | private EntityManager em; | | @In(create=true, required=false, value=LOGIN_USER_KEY) | private User loggedInUser ; | | @In (create=true) | private Context sessionContext; | | @In(create = true) | private transient FacesMessages facesMessages; | | @In ( create = true ) | private Actor actor; | | private String username ; | private String password ; | private String newPassword = "" ; | private String repeatPassword ="" ; | | public LoginAction() { | resetInfo() ; | } | | private void resetInfo() { | // default to the username prompt... | setUserName( Utils.getBundleMessage("username") ); | setPassword( "" ); | setNewPassword("") ; | setRepeatPassword("") ; | } | ... | Utils.java extract: | ... | public static String getBundleMessage(String messageId) { | | FacesContext facesContext = FacesContext.getCurrentInstance(); | String bundleName = facesContext.getApplication().getMessageBundle(); | Locale locale = facesContext.getViewRoot().getLocale(); | | String message = "?" + messageId + "?"; | if ( bundleName != null ) { | try { | message = getResourceBundle(bundleName, locale).getProperty(messageId) ; | | if ( params != null ) { | MessageFormat mf = new MessageFormat( message, locale ); | message = mf.format( params ).toString(); | } | | } catch (MissingResourceException e ) { | LOG.debug("Cannot find message for bundle " + bundleName + " message Id = " + messageId); | } | } | return message; | } | | public static Properties getResourceBundle(String bundleName, Locale locale) { | return ReloadableResource.instance().getResourceBundle(bundleName, locale) ; | } | ... | ReloadableResource.java extract: | ... | public static ReloadableResource instance() { | if (Contexts.isSessionContextActive()) { | return (ReloadableResource) Component.getInstance( "reloadableResource", true ) ; | } else { | LOG.debug("ResourceBundle is being accessed outside of web context.") ; | return new ReloadableResource() ; | } | } | ... | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3985575#3985575 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3985575 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user