Como injetar uma classe não serializável (como java.util.ResourceBundle) com o Weld

Eu quero criar um Producer que torne possível injetar um java.util.ResourceBundle em qualquer classe para obter Strings localizadas facilmente. Meu ResourceBundle-Producer aparece assim:

public class ResourceBundleProducer {
  @Inject       
  public Locale locale;

  @Inject       
  public FacesContext facesContext;

  @Produces
  public ResourceBundle getResourceBundle() {
    return ResourceBundle.getBundle("/messages", locale )
  }
}

Os trabalhos Injection of Locale e FacesContext (tiraram os produtores correspondentes da Fonte Alpha Seam 3). Infelizmente, porém, o ResourceBundle não é serializável e, portanto, não pode ser produzido dessa maneira. Estou recebendo o seguinte erro do Weld ao tentar acessar uma página JSF que chama um bean que usa meu ResourceBundle:

Caused by: org.jboss.weld.IllegalProductException: WELD-000054 Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\\n\\nProducer\: org.jboss.weld.bean-/D:/Program Files (x86)/GlassFish-Tools-Bundle-For-Eclipse-1.2/glassfishv3/glassfish/domains/teachernews/applications/teachernews/-ProducerMethod-services.producers.ResourceBundleProducer.getResourceBundle()\\nInjection Point\: field web.PersonHome.bundle

Existem maneiras de fazer meu ResourceBundleResolver funcionar? Ou existem outros mecanismos para obter uma funcionalidade semelhante? Desde já, obrigado!

EDITAR:

Ok, gastarei alguns dos meus pontos pouco ganhos;) Também aceitarei uma boa solução alternativa para esse problema!

Eu tenho outro exemplo em que a criação de um produtor não funciona: um FlashProducer. Um FacesContext-Flash também não pode ser produzido porque o Flash não é serializável.

questionAnswers(2)

yourAnswerToTheQuestion