[RESOLVIDO] (vRaptor-2.6.0) Aplicação não sobe no Jetty, só no TomCat!

1 resposta
softwork

Boa tarde a todos!

Servidor = Linux Debian
vRaptor = 2.6.0
Hibernate = 3.3.2.GA
Hibernate Annotations = 3.4.0 GA

Eu tenho uma aplicação que esta funcionando perfeitamente bem no Tomcat 6.0.24, porém gostaria de fazer uma comparação na performance do sistema rodando no Jetty-6.1.22

Sinceramente, eu já procurei na NET por tutoriais com passo-a-passo sobre arquivo .war com Jetty e não encontrei nada objetivo, apenas este aqui me serviu de orientação para gerar o arquivo sicp.xml abaixo:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.Server">
     <Call name ="addListener">
          <New class="org.mortbay.http.SocketListener">
               <Set name="port">8081</Set>
          </New>
     </Call>
     <Call name ="addWebApplication">
          <Arg>/sicp</Arg>
          <Arg>/web/webapps/sicp</Arg>
     </Call>
</Configure>

Eu coloquei o arquivo sicp.xml no diretório /usr/lib/jetty-6.1.22/contexts/ e a minha aplicação sicp.war no diretório /usr/lib/jetty-6.1.22/webapps/ e para iniciar o Jetty estou executando o seguinte comando:

$JAVA_HOME/bin/java -jar $JETTY_HOME/start.jar $JETTY_HOME/contexts/sicp.xml.xml -server -Xms512M -Xmx2048M -Djetty.port=8081

Mas ao tentar acessar meu sistema estou recebendo a seguinte mensagem de erro:

HTTP ERROR 503

Problem accessing /sicp/login.index.logic. Reason:

    java.lang.SecurityException: sealing violation: can't seal package javax.security.auth: already loaded

Caused by:

javax.servlet.UnavailableException: java.lang.SecurityException: sealing violation: can't seal package javax.security.auth: already loaded
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$000(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.thoughtworks.xstream.core.JVM.loadClass(JVM.java:151)
	at com.thoughtworks.xstream.XStream.setupAliases(XStream.java:588)
	at com.thoughtworks.xstream.XStream.<init>(XStream.java:443)
	at com.thoughtworks.xstream.XStream.<init>(XStream.java:385)
	at com.thoughtworks.xstream.XStream.<init>(XStream.java:352)
	at org.vraptor.config.XMLConfigurationLoader.<init>(XMLConfigurationLoader.java:33)
	at org.vraptor.config.Configuration.loadXml(Configuration.java:141)
	at org.vraptor.config.Configuration.load(Configuration.java:127)
	at org.vraptor.webapp.DefaultWebApplication.init(DefaultWebApplication.java:90)
	at org.vraptor.http.DispatcherFactory.configureController(DispatcherFactory.java:51)
	at org.vraptor.http.DispatcherFactory.configureDispatcher(DispatcherFactory.java:38)
	at org.vraptor.http.DispatcherFactory.configure(DispatcherFactory.java:33)
	at org.vraptor.VRaptorServlet.init(VRaptorServlet.java:38)
	at javax.servlet.GenericServlet.init(GenericServlet.java:241)
	at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
	at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
	at org.mortbay.jetty.deployer.ContextDeployer.deploy(ContextDeployer.java:268)
	at org.mortbay.jetty.deployer.ContextDeployer.access$000(ContextDeployer.java:67)
	at org.mortbay.jetty.deployer.ContextDeployer$ScannerListener.fileAdded(ContextDeployer.java:89)
	at org.mortbay.util.Scanner.reportAddition(Scanner.java:410)
	at org.mortbay.util.Scanner.reportDifferences(Scanner.java:324)
	at org.mortbay.util.Scanner.scan(Scanner.java:280)
	at org.mortbay.util.Scanner$1.run(Scanner.java:232)
	at java.util.TimerThread.mainLoop(Unknown Source)
	at java.util.TimerThread.run(Unknown Source)

1º) Gostaria de saber se alguém tem um guia prático sobre o Jetty ?

2º) É necessário informar alguma Servlet do Jetty no arquivo web.xml ?

3º) Esta faltando alguma configuração para o Jetty levantar minha aplicação corretamente?

Obrigado.

1 Resposta

softwork

Eu consegui identificar o problema!
Minha aplicação estava com a lib jaas.jar, sem qualquer necessidade, e o Jetty (politicamente correto) estava reclamando a falta de configuração de segurança, mas a porcaria do Tomcat passa direto sem identificar.

Então fica ai a dica: Tomem MUITO cuidado para não manter arquivos .JAR desnecessários em seu projetos.

Boa sorte a todos.

Criado 6 de março de 2010
Ultima resposta 10 de mar. de 2010
Respostas 1
Participantes 1