Problema Tomcat6 + VRaptor + (aparentemete) Driver SQL SERVER

17 respostas
gbmesso

Pessoal estou tentando instalar em uma máquina Windows7 uma aplicação (WAR) que conecta no banco de dado SQL SERVER (sqljdbc4.jar) e retorna informações.
Na maquina do desenvolvedor está funcionando.
Instalei na minha máquina o TomCat6 +jre6 (também coloquei o JDK jdk1.7.0_04) porém não consigo fazer subir a aplicação.
O Tomcat está rodando de boa… Coloquei várias páginas lá… Inclusive carrega a pagina principal.

Depois de várias cabeçadas e pesquisas percebi que tirando o jar do SQL, a aplicação passa da pagina principal, porém obviamente não conecta no banco.
Quando eu volto o JAR o browser fica rodando e não faz nada, nem mensagem de erro, alguém pode ajudar?
Depois terei que instalar a app num servidor WIN Server 2008.

valeu

17 Respostas

Hebert_Coelho

Será que o firewall tá bloqueando isso não?

gbmesso

Obrigado pela resposta…
Mas bloqueando somente a chamada SQL??? Será???
Vou fazer um teste…

Hebert_Coelho

Manda um telnet e veja se a porta ta liberada para conexão e tals.

Veja também se o usuário da aplicação ta com permissão para fazer o que ela precisa fazer. [=

gbmesso

jakefrog:
Manda um telnet e veja se a porta ta liberada para conexão e tals.

Veja também se o usuário da aplicação ta com permissão para fazer o que ela precisa fazer. [=

Putz sou administrador da máquina.

Acho que não é por ai…

Valeu mesmo assim

Lucas_Cavalcanti

dá alguma exception no console?

gbmesso

Olá Lucas, não gera nenhuma Exception. Isso é que mais incomoda…

A unica coisa que achei, foi no log do Tomcat, arquivo Catalina,

18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
GRAVE: The web application [/HelpDeskRelatorio] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: The web application [/HelpDeskRelatorio] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: The web application [/HelpDeskRelatorio] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Request attributes]) and a value of type [org.springframework.web.context.request.ServletRequestAttributes] (value [[VRaptorRequest org.apache.catalina.connector.RequestFacade@7948083b]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@681497b1]) and a value of type [br.com.caelum.vraptor.core.RequestInfo] (value [br.com.caelum.vraptor.core.RequestInfo@1ff31ad9]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [java.util.HashSet] (value [[relatorioController, relatorioDAO]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Locale context]) and a value of type [org.springframework.context.i18n.SimpleLocaleContext] (value [pt_BR]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Request attributes]) and a value of type [org.springframework.web.context.request.ServletRequestAttributes] (value [[VRaptorRequest org.apache.catalina.connector.RequestFacade@1167acf2]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@681497b1]) and a value of type [br.com.caelum.vraptor.core.RequestInfo] (value [br.com.caelum.vraptor.core.RequestInfo@2d8b4ccb]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [java.util.HashSet] (value [[relatorioController, relatorioDAO]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
18/06/2012 17:34:27 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: The web application [/HelpDeskRelatorio] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Locale context]) and a value of type [org.springframework.context.i18n.SimpleLocaleContext] (value [pt_BR]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.

R

gbmesso:
Pessoal estou tentando instalar em uma máquina Windows7 uma aplicação (WAR) que conecta no banco de dado SQL SERVER (sqljdbc4.jar) e retorna informações.

Até onde eu sei,o jtds.jar é o mais indicado pra se conectar no MSSQL.

Lucas_Cavalcanti

Habilita o log de INFO do vraptor e do hibernate (ex: https://github.com/caelum/vraptor/blob/master/vraptor-blank-project/src/log4j.xml)

e ve o que aparece neles…

gbmesso

Lucas Cavalcanti:
Habilita o log de INFO do vraptor e do hibernate (ex: https://github.com/caelum/vraptor/blob/master/vraptor-blank-project/src/log4j.xml)

e ve o que aparece neles…

Seria o log abaixo:

2012-06-19 14:45:37 Commons Daemon procrun stdout initialized
14:45:39,592  INFO [BasicConfiguration  ] Using class br.com.caelum.vraptor.ioc.spring.SpringProvider as Container Provider
14:45:39,612  INFO [DefaultSpringLocator] No application context found
14:45:39,652  INFO [BasicConfiguration  ] br.com.caelum.vraptor.scanning = null
14:45:39,652  INFO [WebAppBootstrapFactory] Dynamic WebAppBootstrap found.
14:45:39,822  INFO [AnnotationConfigWebApplicationContext] Refreshing Root WebApplicationContext: startup date [Tue Jun 19 14:45:39 BRT 2012]; root of context hierarchy
14:45:40,032  WARN [BaseComponents      ] There is neither commons-fileupload nor servlet3 handlers registered. If you are willing to upload a file, please add the commons-fileupload in your classpath or use a Servlet 3 Container
14:45:40,092  INFO [DefaultListableBeanFactory] Overriding bean definition for bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor': replacing [Root bean: class [org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Root bean: class [br.com.caelum.vraptor.ioc.spring.InjectionBeanPostProcessor]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
14:45:40,193  INFO [DefaultListableBeanFactory] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@109b2a51: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,defaultRoutes,javaEvaluator,topologicalSortedInterceptorRegistry,defaultDeserializers,defaultInterceptorHandlerFactory,nullProxyInitializer,defaultConverters,defaultAcceptHeaderToFormat,pathAnnotationRoutesParser,defaultMultipartConfig,defaultResourceTranslator,defaultRestDefaults,defaultResourceNotFoundHandler,paranamerNameProvider,defaultRouter,defaultTypeNameExtractor,interceptorListPriorToExecutionExtractor,cglibProxifier,defaultMethodNotAllowedHandler,objenesisInstanceCreator,XStreamConverters.NullConverter,noRoutesConfiguration,encodingHandlerFactory,defaultTypeFinder,defaultStaticContentHandler,stereotypeHandler,converterHandler,interceptorStereotypeHandler,deserializesHandler,stereotypedBeansRegistrar,defaultSpringLocator,defaultLogicResult,XStreamXMLDeserializer,messageConverter,defaultRefererResult,deserializingInterceptor,defaultPageResult,VRaptorDependencyProvider,parametersInstantiatorInterceptor,defaultRepresentationResult,defaultExceptionMapper,XStreamJSONPSerialization,defaultValidator,executeMethodInterceptor,forwardToDefaultViewInterceptor,VRaptorParameterNamesProvider,jstlLocalization,HTMLSerialization,XStreamConverters,defaultHttpResult,nullMultipartInterceptor,flashInterceptor,jsonDeserializer,outjectResult,resourceLookupInterceptor,sessionFlashScope,XStreamJSONSerialization,instantiateInterceptor,nullBeanValidator,defaultResult,defaultValidationViewsFactory,emptyResult,VRaptorInstantiator,XStreamXMLSerialization,defaultPathResolver,defaultStatus,defaultMethodInfo,defaultRestHeadersHandler,downloadInterceptor,defaultFormatResolver,exceptionHandlerInterceptor,iogiParametersProvider,replicatorOutjector,applicationConfiguration,primitiveDoubleConverter,primitiveIntConverter,longConverter,primitiveCharConverter,bigIntegerConverter,integerConverter,enumConverter,shortConverter,stringConverter,localeBasedDateConverter,localeBasedCalendarConverter,uploadedFileConverter,characterConverter,byteConverter,primitiveBooleanConverter,primitiveLongConverter,primitiveFloatConverter,floatConverter,bigDecimalConverter,booleanConverter,doubleConverter,primitiveShortConverter,primitiveByteConverter,VRaptorRequestProvider,httpServletRequestProvider,httpServletResponseProvider,httpSessionProvider,XStreamBuilderImpl,enhancedRequestExecution,defaultInterceptorStack,org.springframework.aop.config.internalAutoProxyCreator,relatorioDAO,connectionFactory,relatorioController]; root of factory hierarchy
14:45:40,313  INFO [DefaultConverters   ] Registering bundled converters
14:45:40,343  INFO [LinkToHandler       ] Registering linkTo component
14:45:40,483  INFO [DefaultRouteBuilder ] /relatorio/busca                                  [GET] -> RelatorioController.form()
14:45:40,483  INFO [DefaultRouteBuilder ] /relatorio                                        [GET] -> RelatorioController.list(Relatorio)
14:45:40,493  INFO [VRaptor             ] VRaptor 3.4.1 successfuly initialized
Lucas_Cavalcanti

só tá o do vraptor, faltou o do hibernate :wink:

edita o log4j.xml colocando o pacote org.hibernate e log de INFO.

gbmesso

Lucas Cavalcanti:
só tá o do vraptor, faltou o do hibernate :wink:

edita o log4j.xml colocando o pacote org.hibernate e log de INFO.

Lucas agradeço muito pela sua ajuda e colaboração!

Então cara, não estamos usando Hibernate e sim o JDBC.
Você está mencionando o Hibernate por alguma peculiaridade? Há algo indicando o uso??

Obrigado mesmo!

Lucas_Cavalcanti

falei do hibernate pq é o mais comum :wink:
na maioria dos casos mto melhor que fazer SQL na mão e ficar gerenciando conexões com o banco.

faz o seguinte, tenta usar num método main mesmo o código jdbc que abre uma conexão com o banco e executa uma query.

vê se funciona normalmente.

gbmesso

Lucas Cavalcanti:
falei do hibernate pq é o mais comum :wink:
na maioria dos casos mto melhor que fazer SQL na mão e ficar gerenciando conexões com o banco.

faz o seguinte, tenta usar num método main mesmo o código jdbc que abre uma conexão com o banco e executa uma query.

vê se funciona normalmente.

Lucas to achando que o problema é mais embaixo…
PEguei uma aplicação com Hibernate, mesmo banco de dados, etc… e não funcionou também.

O que eu fiz na sequência, joguei os projetos em outra máquina, porém essa tem ambiente DEV, e os 2 funcionaram.

Desconfio que seja alguma coisa que esteja faltando para que minha máquina rode WEB.
Instalei: 1o) TomCat6; Fiz os testes e deu erro; Depois instalei o JDK (mesmo já tendo o JRE nessa máquina) e mesmo assim não rola…

Minha dúvida é: O que uma máquina com ambiente DEV tem que a minha não tem?

Justamente deixei minha máquina zerada para simular a implantação em um servidor. Que farei assim que na minha funcionar.

Não leve a mal, mas essa é nossa primeira APP…

Grato

Lucas_Cavalcanti

podem ser muitas coisas…

a sua máquina consegue se comunicar com o banco?
será que não falta alguma permissão?

gbmesso

Lucas Cavalcanti:
podem ser muitas coisas…

a sua máquina consegue se comunicar com o banco?
será que não falta alguma permissão?

Olá Lucas…

Minha máquina se comunica com o banco de dados numa boa.
Inclusive fiz uma aplicação ASP.NET (claro que outro driver, outro esquema…) e funciona normal. Só queria garantir…

Permissão, o que mais posso checar?

Lucas_Cavalcanti

vc fez o método main que eu te falei? conectando no banco do jeito que vc está na aplicação

gbmesso

raf4ever:
gbmesso:
Pessoal estou tentando instalar em uma máquina Windows7 uma aplicação (WAR) que conecta no banco de dado SQL SERVER (sqljdbc4.jar) e retorna informações.

Até onde eu sei,o jtds.jar é o mais indicado pra se conectar no MSSQL.

Amigos só funcionou quando mudei para o JTDS.JAR, alias bem mais rápido!!!

Obrigado

Criado 18 de junho de 2012
Ultima resposta 20 de jun. de 2012
Respostas 17
Participantes 4