Java 1.5, Java EE 5, o WAS 6.1: Exceção carregar um pacote de recursos com ResourceBundle.getBundle (...)

StackOverflow https://stackoverflow.com/questions/812802

  •  03-07-2019
  •  | 
  •  

Pergunta

Aqui está outro problemas que estamos enfrentando durante a migração nossa aplicação de ambiente de produção atual para o novo ambiente de centro de dados (ver detalhes abaixo)

  • atual ambiente de produção: Java 1.4, Java EE 3, foi de 5,1, JSF 2.1
  • Novo Ambiente: Java 1.5, Java EE 5, o WAS 6.1, JSF 2.1

Aqui temos um terceiro arquivo festa frasco com a seguinte estrutura (verificar a imagem - perdão me escondendo alguns detalhes)
text alt


Esta classe tem o código para carregar as propriedades de base de dados a partir de um ResourceBundle (db.properties). Aqui está o código prestados por Cavaj:

    private static ResourceBundle getDBProperties()
    {
        if(dbProperties == null)
        {
            dbProperties = ResourceBundle.getBundle("db");
        }
        return dbProperties;
    }

Esta aplicação está funcionando bem no ambiente atual. Mas de alguma forma quando mover o aplicativo para o novo ambiente temos um "MissingResourceException" (veja abaixo):

Caused by: java.util.MissingResourceException: Can't find bundle for
base name db, locale en_US
at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:863)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:832)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:576)
at
com.myco.wo.vs.util.OrderLovUtilities.getDBProperties(OrderLovUtilities.java:195)

Nós tentamos seguinte soluções alternativas, mas nenhum funcionou:

  1. rebatizado de db.properties como db_en_US.properties
  2. Colocar o arquivo de propriedades na jarra
  3. mover o arquivo jar ao nível do ouvido.

Por favor, sugerem sobre o que poderia estar errado aqui. E o que podemos fazer para fazê-lo funcionar:)

Nota: db.properties arquivo está localizado no diretório WEB-INF / classes. Também tentei colocá-lo na acima locais mencionados, mas sem sucesso.

Saudações,
- Ashish

Foi útil?

Solução

Tente mudar classloader ordenação em configurações do seu ent. aplicação no console de administração (de PARENT_FIRST para PARENT_LAST) em ambos os níveis EAR e WAR.

Parece-me que a 3ª classe partido (com.myco.wo.vs.util.OrderLovUtilities) não está carregado a partir do arquivo jar em WEB-INF / lib, mas é um pouco vem de algum outro local no servidor. Seu carregador de classe, em seguida, não vê o arquivo de propriedade.

Se for esse o problema, alterando a ordem carregador de classe deve fazer com que a cópia esperado da classe de carga.

Além disso, o espectador carregador de classe no console de administração pode colocar alguma luz sobre isso.

Outras dicas

Você já tentou colocar seu arquivo db.properties em WEB-INF / diretório de classes?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top