Pergunta

Gostaria de definir alguns parâmetros somente leitura (por exemplo.um host e porta de registro RMI) para um aplicativo Java EE implantado em um servidor Glassfish.O local usual para fazer isso seria o descritor de implantação, mas meu problema é que ele está empacotado no EAR, portanto não posso editá-lo sem alterar o EAR.

Preciso de algo semelhante à configuração de recursos JDBC e JMS, mas muito mais simples.Eu poderia colocar os dados de configuração em uma tabela de banco de dados, mas isso parece um exagero.Eu poderia usar o File Resource Adapter, mas seria melhor se eu pudesse editar a configuração no Glassfish Admin Console.

Existe uma maneira padrão de fazer isso?Como você testa seus aplicativos quando eles dependem de nós externos com os quais precisam se comunicar?Onde devo colocar esses parâmetros e como posso acessá-los?

Meu melhor palpite foi definir recursos JNDI externos, mas onde coloco os dados?

ATUALIZAR:foi nisso que eu estava pensando:

Como posso armazenar parâmetros de configuração Java EE fora de um EAR ou WAR?

Então a questão é:como faço isso em Peixe de vidro?

Foi útil?

Solução

Depois de algumas horas pesquisando no Google, encontrei a resposta!Não é trivial, mas felizmente é muito fácil.Aqui está:

http://www.mentby.com/glassfish/custom-resource-work-when-looking-it-up-but-not-with-injection.html

Criar uma Recurso personalizado no Admin Console e adicione um Propriedade chamada "valor".Assim:

texto alternativo http://img231.imageshack.us/img231/8237/jndicustomresource.png

Então acessar esse nome/valor é muito fácil a partir do EJB:

try {
     InitialContext ic = new InitialContext();
     String value = (String) ic.lookup("MyCustomResource");
     System.out.println("MyCustomResource = " + value);
} catch (NamingException e) {
     e.printStackTrace();
}

Quais estampas

INFORMAÇÕES:MyCustomResource = Um grande abraço de MyCustomResource!

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