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.