Java Web Start Off Line

Pessoal,

Estou com o seguinte problema:
Temos uma aplicação que utiliza Hibernate e é carregado pelo jws. Acontece que quando o servidor onde está o arquivo .jnlp fica off line ou a máquina onde a aplicação foi previamente instalada fica sem conexão de rede, por algum motivo o hibernate levanta a seguinte exceção : “net.sf.ehcache.CacheException: Cannot configure CacheManager”

ps: Quando a conexão com o servidor está ok, o sistema funciona normalmente

Alguém sabe o que pode estar acontecendo?

Obrigado,

ANderson

Quando fica sem conexão de rede, tu diz sem acesso ao banco de dados? Ai não funciona mesmo.

Agora se for apenas o server que está o .jnlp (suportamente diferente do banco de dados), não vejo
motivo para não funcionar, coloca mais informações da exception pra gente ver.

É apenas quando o servidor onde está o JNLP fica fora de acesso…

Uma coisa que descobri agora é que o problema não ocorre quando utilizo o sistema pelo Linux, apenas no WINXP…

Pode ter algo a ver com a autenticação? Pois no Linux aparece uma janela informando que não foi possível autenticar a aplicação(certificado digital) e me dá a opção de continuar…já no Win, o sistema simplesmente apresenta o seguinte erro:

2009-09-25T18:05:07 [0] ERRO Exceção ao iniciar aplicação ESafira. Aplicação será abortada.
==> net.sf.ehcache.CacheException: Cannot configure CacheManager: C:\temp\aplicacao\Distribuicoes\Versoes\1.5\eSafira_1_5_gestor.jar (O sistema não pode encontrar o caminho especificado)
SEVERE: 2009-09-25T18:05:07 [0] ERRO Exceção ao iniciar aplicação ESafira. Aplicação será abortada.
==> net.sf.ehcache.CacheException: Cannot configure CacheManager: C:\temp\aplicacao\Distribuicoes\Versoes\1.5\eSafira_1_5_gestor.jar (O sistema não pode encontrar o caminho especificado)
org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: Cannot configure CacheManager: C:\temp\aplicacao\Distribuicoes\Versoes\1.5\eSafira_1_5_gestor.jar (O sistema não pode encontrar o caminho especificado)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:134)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:174)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1145)
at br.gov.serpro.jserpro.persistencia.HibernateUtil.<init>(HibernateUtil.java:71)
at br.gov.serpro.esafira.app.ESafiraApp.iniciaHibernate(ESafiraApp.java:333)
at br.gov.serpro.jserpro.app.JSerproApp.configura(JSerproApp.java:248)
at br.gov.serpro.esafira.app.ESafiraApp.configura(ESafiraApp.java:284)
at br.gov.serpro.esafira.app.ESafiraApp.<init>(ESafiraApp.java:275)
at br.gov.serpro.esafira.app.ESafiraApp.main(ESafiraApp.java:236)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: net.sf.ehcache.CacheException: Cannot configure CacheManager: C:\temp\aplicacao\Distribuicoes\Versoes\1.5\eSafira_1_5_gestor.jar (O sistema não pode encontrar o caminho especificado)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:170)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:138)
at net.sf.ehcache.CacheManager.create(CacheManager.java:193)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:130)
… 19 more

É, pouco mexi com JWS, mas o pouco que vi ele baixa as libs a primeira vez, então teoricamente dá pra executar
offline, agora pq diabos ele não está achando essa lib:

C:\temp\aplicacao\Distribuicoes\Versoes\1.5\eSafira_1_5_gestor.jar

Que caminho é esse? Não me parece ser o caminho default onde o JWS baixa as libs, ou é?

Na verdade este caminho ai é como se fosse o servidor…mas aqui eu coloquei no meu sistema local mesmo, e depois deletei esta pasta para "simular" o caso que o sistema esta sem rede…

Por exemplo, eu instalei o sistema a partir de C:\temp\aplicacao\jnlp.php\esafira.jnlp…e tudo funcionou ok até que eu apaguei esta pasta aí…que é onde o JWS "procura" novas versões…Conforme o arquivo esafira.jnlp que segue:

<?xml version=“1.0” encoding=“ISO-8859-1”?>
<jnlp spec=“0.2 1.0” codebase=“file:///C:\temp\aplicacao” href=“jnlp.php/esafira.jnlp”>
<security>
<all-permissions/>
</security>
<information>


Entendeste?

Então acho que não deves remover nada da pasta.
Deixe o server do JWS fora do ar e execute a aplicação com o conteúdo dessa pasta já populada.

Se removeres, o JWS não vai ter como baixar.

Então, esta pasta na verdade é meu servidor…mas esta na minha máquina local…mas isso é a principio abstraido…Pq a pasta que o JWS baixa o s arquivos é outra…uma pasta de sistema lá no java…

Chute mode on:
Sim, é nesta pasta que o JWS baixa a aplicação. Na primeira execução baixa tudo, da
segunda em diante ele percebe se tem algum .jar atualizado e então baixa a atualização.
Se estiver offline ele simplesmente não vai no server para ver se houve atualizações e
executa a versão previsamente baixada.

Deve ser algo por ai.

Sim, acho que é algo por ai…mas a questão é: Por que diabos o hibernate não funciona quando o servidor do JNLP não está funcionando???
Como eu verifico o log do JWS? alguém tem a luz? :stuck_out_tongue:

A exception dada é clara

org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: Cannot configure CacheManager: C:\temp\aplicacao\Distribuicoes\Versoes\1.5\eSafira_1_5_gestor.jar (O sistema não pode encontrar o caminho especificado) 

Ou seja, o arquivo em questão não existe. Tente fazer um teste com esse arquivo por lá pra ver
que acontece.