Problemas com o VRaptor 2.6.0 e Weblogic 10.3

50 respostas
ifbcqueiroz

Amigos do GUJ, preciso de uma ajuda.

Aqui na empresa utilizamos o Vraptor2 a algum tempo, mas sempre no Tomcat. A algum tempo nossas aplicações estão sendo migradas para o Weblogic, e ai começaram os problemas. Nas versões 9 e 10.3.0 conseguimos colocar as aplicações para rodar dando deploy no war descompactado (como pasta), mas atualmente as aplicações estão sendo colocadas no Weblogic 10.3.4, mas desta vez descompactar não resolveu e um novo erro apareceu:

<15/08/2011 12h58min17s GMT-03:00> <Error> <HTTP> <BEA-101017> <[ServletContext@14545375[app:CallBackReport module:web path:/CallBack spec-version:2.5], request: weblogic.servlet.internal.ServletRequestImpl@1c5dc73[
GET /CallBack/ HTTP/1.1
Accept: */*
Accept-Language: pt-br
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Cookie: JSESSIONID=Pc2wTFydnhmSyhQlGdMPlYyBqY3dLPBhW5JSxBnLcJPhQWy5p0zh!-[telefone removido]; ADMINCONSOLESESSION=5nT1TFTQ9JdbNG7sZmFfRPyhrJyRGv9nf06vtBGf4R4r7qtP1BCy![telefone removido]

]] Root cause of ServletException.
org.vraptor.config.ConfigException: cannot load classes
	at org.vraptor.config.Configuration.readDirectory(Configuration.java:87)
	at org.vraptor.config.Configuration.autoDiscoverComponents(Configuration.java:157)
	at org.vraptor.config.Configuration.load(Configuration.java:130)
	at org.vraptor.webapp.DefaultWebApplication.init(DefaultWebApplication.java:90)
	at org.vraptor.http.DispatcherFactory.configureController(DispatcherFactory.java:51)
	Truncated. see log file for complete stacktrace
Caused By: org.vraptor.component.InvalidComponentException: br.com.empresa.callback.logic.LoginLogic component has 2 accessible constructors. This is not desirable as it may reflect optional arguments and create complex attributes.
	at org.vraptor.component.Clazz.findSingleConstructor(Clazz.java:72)
	at org.vraptor.webapp.DefaultComponentManager.genericGetComponentType(DefaultComponentManager.java:123)
	at org.vraptor.webapp.DefaultComponentManager.getComponentType(DefaultComponentManager.java:106)
	at org.vraptor.webapp.DefaultComponentManager.register(DefaultComponentManager.java:163)
	at org.vraptor.config.Configuration.readDirectory(Configuration.java:119)
	Truncated. see log file for complete stacktrace

Esse erro fica aparecendo várias vezes (como se estivesse em loop) até dar o timeout no deploy.

Poderiam ajudar com alguma idéia? A aplicação funciona perfeitamente no Tomcat

50 Respostas

Lucas_Cavalcanti

lendo o erro:

Caused By: org.vraptor.component.InvalidComponentException: br.com.empresa.callback.logic.LoginLogic component has 2 accessible constructors. This is not desirable as it may reflect optional arguments and create complex attributes.

essa classe tem 2 construtores?

ifbcqueiroz

Lucas Cavalcanti:
lendo o erro:

Caused By: org.vraptor.component.InvalidComponentException: br.com.empresa.callback.logic.LoginLogic component has 2 accessible constructors. This is not desirable as it may reflect optional arguments and create complex attributes.

essa classe tem 2 construtores?

Não tem não, tinha 1 eu retirei e erro continuou, achei estranho também…

Lucas_Cavalcanti

estranho… tente recompilar as classes (clean no projeto, clean no servidor ou algo do tipo)

ifbcqueiroz

Dei undeploy, limpei e depois executei. O erro persiste…

Estou tentando ver se há alguma coisa na documentação do weblogic que dê uma luz!

felipeguerra

Limpe as pastas:
<your_domain>\servers&lt;your_server>\tmp

<your_domain>\servers&lt;your_server>\stage

<your_domain>\servers&lt;your_server>\cache

E faça deploy novamente.

ifbcqueiroz

Peguei a exception completa no log, para tentar ajudar:

Root cause of ServletException. org.vraptor.config.ConfigException: cannot load classes at org.vraptor.config.Configuration.readDirectory(Configuration.java:87) at org.vraptor.config.Configuration.autoDiscoverComponents(Configuration.java:157) at org.vraptor.config.Configuration.load(Configuration.java:130) 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 weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.&lt;init&gt;(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523) at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253) at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159) at jsp_servlet.__index._jspService(__index.java:72) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.utils.FastSwapFilter.doFilter(FastSwapFilter.java:66) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176) Caused By: org.vraptor.component.InvalidComponentException: br.com.empresa.callback.logic.LoginLogic component has 2 accessible constructors. This is not desirable as it may reflect optional arguments and create complex attributes. at org.vraptor.component.Clazz.findSingleConstructor(Clazz.java:72) at org.vraptor.webapp.DefaultComponentManager.genericGetComponentType(DefaultComponentManager.java:123) at org.vraptor.webapp.DefaultComponentManager.getComponentType(DefaultComponentManager.java:106) at org.vraptor.webapp.DefaultComponentManager.register(DefaultComponentManager.java:163) at org.vraptor.config.Configuration.readDirectory(Configuration.java:119) at org.vraptor.config.Configuration.readDirectory(Configuration.java:112) at org.vraptor.config.Configuration.readDirectory(Configuration.java:112) at org.vraptor.config.Configuration.readDirectory(Configuration.java:112) at org.vraptor.config.Configuration.readDirectory(Configuration.java:112) at org.vraptor.config.Configuration.readDirectory(Configuration.java:112) at org.vraptor.config.Configuration.readDirectory(Configuration.java:85) at org.vraptor.config.Configuration.autoDiscoverComponents(Configuration.java:157) at org.vraptor.config.Configuration.load(Configuration.java:130) 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 weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.&lt;init&gt;(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523) at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253) at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159) at jsp_servlet.__index._jspService(__index.java:72) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.utils.FastSwapFilter.doFilter(FastSwapFilter.java:66) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

ifbcqueiroz

felipeguerra:
Limpe as pastas:
<your_domain>\servers&lt;your_server>\tmp

<your_domain>\servers&lt;your_server>\stage

<your_domain>\servers&lt;your_server>\cache

E faça deploy novamente.

Fiz isso e o erro continua. :?

felipeguerra

existe herança nessa classe LoginLogic?

ifbcqueiroz

Não, a não ser que o @Component do VRaptor2 faça (o que eu não creio).

ifbcqueiroz

Não, a não ser que o @Component do VRaptor2 faça (o que eu não creio).

Mas esse erro daria no Tomcat também, acredito que pode ser algo específico da combinação Weblogic 10.3.4 e VRaptor 2.6.0.

felipeguerra

eh, talvez precise configurar o weblogic.xml…

mas veja com o pessoal da Caelum.

Lucas_Cavalcanti

ifbcqueiroz, isso acontece só com essa classe ou com qualquer uma?

na verdade o ideal é atualizar o VRaptor pra versão mais nova (3.3.1)
http://vraptor.caelum.com.br/documentacao/migrando-do-vraptor2-para-o-vraptor3/

grande parte do vraptor 2 já funciona no 3 sem problemas.

ifbcqueiroz

Lucas Cavalcanti:
ifbcqueiroz, isso acontece só com essa classe ou com qualquer uma?

na verdade o ideal é atualizar o VRaptor pra versão mais nova (3.3.1)
http://vraptor.caelum.com.br/documentacao/migrando-do-vraptor2-para-o-vraptor3/

grande parte do vraptor 2 já funciona no 3 sem problemas.

Pelo Log em DEBUG, aparentemente é nessa classe.

Vou tentar migrar essa aplicação e reportar aqui se funcionou.

ifbcqueiroz

ifbcqueiroz:
Lucas Cavalcanti:
ifbcqueiroz, isso acontece só com essa classe ou com qualquer uma?

na verdade o ideal é atualizar o VRaptor pra versão mais nova (3.3.1)
http://vraptor.caelum.com.br/documentacao/migrando-do-vraptor2-para-o-vraptor3/

grande parte do vraptor 2 já funciona no 3 sem problemas.

Pelo Log em DEBUG, aparentemente é nessa classe.

Vou tentar migrar essa aplicação e reportar aqui se funcionou.

Comecei a realizar a migração para o VRaptor 3, pra mim o interessante é utilizar o modo compatibilidade, devido ao deadline do projeto.

O que fiz:

[list]Criei um novo projeto web.[/list]
[list]Copiei os arquivos JSP´s e Resources[/list]
[list]Copiei o views.properties (VRaptor2)[/list]
[list]Coloquei no path o vraptor-3.3.1.jar, os jars da pasta mandatory, o conteiner pico e o jar optional do VRaptor2 (deduzi isso)[/list]
[list]Colocado no path os jars do Displaytag (commons, displaytag etc)[/list]

Meu web.xml

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>Relatório de CallBack</display-name> <context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.caelum.vraptor.vraptor2</param-value> </context-param> <filter> <filter-name>vraptor</filter-name> <filter-class>br.com.caelum.vraptor.VRaptor</filter-class> </filter> <filter-mapping> <filter-name>vraptor</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

Quando executo da erro no Pico:

<16/08/2011 11h05min28s GMT-03:00> <Error> <HTTP> <BEA-101165> <Could not load user defined filter in web.xml: br.com.caelum.vraptor.VRaptor. org.picocontainer.injectors.AbstractInjector$AmbiguousComponentResolutionException: class br.com.caelum.vraptor.vraptor2.LogicAnnotationWithParanamerParameterNameProvider needs a 'br.com.caelum.vraptor.http.ParameterNameProvider' injected, but there are too many choices to inject. These:[class br.com.caelum.vraptor.http.ParanamerNameProvider, class br.com.caelum.vraptor.vraptor2.LogicAnnotationWithParanamerParameterNameProvider], refer http://picocontainer.org/ambiguous-injectable-help.html at org.picocontainer.parameters.BasicComponentParameter.tooManyMatchingAdaptersFound(BasicComponentParameter.java:323) at org.picocontainer.parameters.BasicComponentParameter.findTargetAdapter(BasicComponentParameter.java:301) at org.picocontainer.parameters.BasicComponentParameter.getTargetAdapter(BasicComponentParameter.java:275) at org.picocontainer.parameters.BasicComponentParameter.resolveAdapter(BasicComponentParameter.java:248) at org.picocontainer.parameters.BasicComponentParameter.isResolvable(BasicComponentParameter.java:171) Truncated. see log file for complete stacktrace
Poderia me ajudar? Preciso de mais alguma configuração?

Lucas_Cavalcanti

tenta trocar o pico pelo guice… bem estranho estar dando esse erro anyway =(

ifbcqueiroz
Lucas Cavalcanti:
tenta trocar o pico pelo guice.. bem estranho estar dando esse erro anyway =(

Troquei pelo Guice agora dá esse erro:

<16/08/2011 11h38min13s GMT-03:00> <Error> <HTTP> <BEA-101165> <Could not load user defined filter in web.xml: br.com.caelum.vraptor.VRaptor.
com.google.inject.CreationException: Guice creation errors:

1) Could not find a suitable constructor in br.com.caelum.vraptor.view.DefaultPageResult. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
  at br.com.caelum.vraptor.view.DefaultPageResult.class(DefaultPageResult.java:44)
  while locating br.com.caelum.vraptor.view.DefaultPageResult
    for parameter 6 at br.com.caelum.vraptor.vraptor2.ViewsPropertiesPageResult.<init>(ViewsPropertiesPageResult.java:68)
  at br.com.caelum.vraptor.ioc.guice.GuiceComponentRegistry.bindToConstructor(GuiceComponentRegistry.java:110)

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:416)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
	at com.google.inject.Guice.createInjector(Guice.java:95)
	at com.google.inject.Guice.createInjector(Guice.java:83)
	Truncated. see log file for complete stacktrace
>

Tem algum problema em utilizar o Jar opcional do VRaptor2 junto com o Jar do VRaptor3?
Desculpa a ignorância mas fiquei nessa dúvida porque não achei muitos detalhes sobre como configurar o modo compatibilidade com o VRaptor2.

Lucas_Cavalcanti

na verdade vc precisa desse jar opcional pra funcionar o modo de compatibilidade…

ele tá reclamando da mesma coisa que antes, de ter dois construtores… acho que o webLogic tá adicionando construtores a mais nas classes =S

vc sabe se esse weblogic é o padrão? ou se está configurada algum -javaagent nele?

se não, tenta fazer um deploy em um weblogic limpo. Ou ainda tenta fazer o deploy em outro server (tipo um tomcat)

felipeguerra

essa versão do VRaptor precisa de um app server JEE 6?

Lucas_Cavalcanti

não, só precisa de um web server (tomcat ou jetty por exemplo)

ifbcqueiroz

Lucas Cavalcanti:
na verdade vc precisa desse jar opcional pra funcionar o modo de compatibilidade…

ele tá reclamando da mesma coisa que antes, de ter dois construtores… acho que o webLogic tá adicionando construtores a mais nas classes =S

vc sabe se esse weblogic é o padrão? ou se está configurada algum -javaagent nele?

se não, tenta fazer um deploy em um weblogic limpo. Ou ainda tenta fazer o deploy em outro server (tipo um tomcat)


Esse Weblogic é o padrão em modo desenvolvimento, está rodando na minha máquina.

Fiz o teste no Tomcat e dá o mesmo erro, só quando eu tiro esse trecho do web.xml que o erro para:

<context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.caelum.vraptor.vraptor2</param-value> </context-param>

Mas aí o redirecionamento não funciona. :frowning:

Vê se minhas libs estão corretas:

[size=9]aopalliance.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-fileupload-1.2.2.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
commons-net-2.2.jar
CopyLibs
displaytag-1.1.1.jar
displaytag-export-poi-1.1.1.jar
displaytag-portlet-1.1.1.jar
dnrc.jar
guava-r07.jar
guice-3.0-rc2.jar
guice-multibindings-3.0-rc2.jar
javassist-3.9.0.GA.jar
javax.inject.jar
jstl-api-1.2.jar
jstl-impl-1.2.jar
log4j-1.2.16.jar
mirror-1.5.1.jar
nblibraries.properties
objenesis-1.1.jar
ognl-2.7.3.jar
paranamer-2.2.jar
picocontainer-2.8.jar
scannotation-1.0.2.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
teste.txt
vraptor-3.3.1.jar
vraptor2-2.6.2.jar
xstream-1.3.1.jar[/size]

O modo compatibilidade precisa desse parâmetro no web.xml?

Lucas_Cavalcanti

tente tirar o parâmetro e ver se as suas lógicas do vraptor 2 estão funcionando, se não, o parâmetro é necessário sim

ifbcqueiroz

Se tiro não funcionam. Qualquer chamada a algum logic da erro 404.

Uma dúvida, minha aplicação no VRaptor2 utilizava o arquivo vraptor.xml com o parâmetro:

<vraptor> <regex-view-manager>WEB-INF/jsp/$component/$logic.$result.jsp</regex-view-manager> </vraptor>

Existe um parâmetro parecido nessa versão?

ifbcqueiroz

Parti para a tentativa de migrar tudo para o VRaptor 3, peguei o projeto blank, rodei no Tomcat 6 normalmente.
Tirei o spring e coloquei o guice e rodou normalmente.
Qundo coloquei para rodar no Weblogic deu erro. :frowning:

Coloquei o log do console como anexo para ver se ajuda.

Lucas_Cavalcanti

como vc está compilando as classes?

ifbcqueiroz

No default do Netbeans.

Lucas_Cavalcanti

vc tá gerando um war por ele?

se sim, tá usando o mesmo war no tomcat e no weblogic?

ifbcqueiroz

Lucas Cavalcanti:
vc tá gerando um war por ele?

se sim, tá usando o mesmo war no tomcat e no weblogic?

Eu utilizo a opção “Executar” do netbeans, que já gera o war em função do Servidor escolhido para execução.

felipeguerra

gera pelo ANT e testa…

ifbcqueiroz

Dá o mesmo erro…

Já estou desanimando, pode ser alguma coisa interna do Weblogic que conflita com o VRaptor.

Só não consigo ver o que é… :cry:

Lucas_Cavalcanti

algum motivo grande pra usar WebLogic ao invés de um Tomcat?

e o problema é só no WebLogic mais novo, certo?

felipeguerra

o WLS 10.3.4, é o 11g, certo?

E se vc testar no 10.3.1?

ifbcqueiroz

Respondendo os dois.

O problema é só no WL mais novo (10.3.4 11g) e infelizmente não tenho escolha não, é um padrão adotado aqui na empresa para as máquinas de produção.

No WL 9.2 e 10.3.1 funcionava.

felipeguerra

é, aí a questão pode ser resolvida pelo Lucas…

Lucas_Cavalcanti

cara, não tenho idéia ainda pq q isso tá acontecendo…

o erro sugere que a classe está com construtores a mais… vc consegue usar o suporte do WebLogic para fazer perguntas? tenta perguntar algo do tipo lá.

tenta também rodar a versão mais nova: 11gR1 (10.3.5) e ver se o problema também persiste…

se ta dando erro já no blank project eu posso até testar, mas não vou conseguir fazer isso agora…

em todo caso, abre uma issue lá no VRaptor plz?

ifbcqueiroz

Lucas Cavalcanti:
cara, não tenho idéia ainda pq q isso tá acontecendo…

o erro sugere que a classe está com construtores a mais… vc consegue usar o suporte do WebLogic para fazer perguntas? tenta perguntar algo do tipo lá.

tenta também rodar a versão mais nova: 11gR1 (10.3.5) e ver se o problema também persiste…

se ta dando erro já no blank project eu posso até testar, mas não vou conseguir fazer isso agora…

em todo caso, abre uma issue lá no VRaptor plz?
http://github.com/caelum/vraptor/issues

Vou tentar com o suporte e abro a issue.

Mas valeu a atenção, qualquer novidade posto aqui e na issue.

ifbcqueiroz

Abri a issue https://github.com/caelum/vraptor/issues/380. Ainda não contactei o suporte, estou vendo internamente aqui na empresa como fazer isso.

Lucas_Cavalcanti

obrigado =)

Lucas_Cavalcanti

o que aparece no log de debug do vraptor?

ifbcqueiroz

Em anexo!

Lucas_Cavalcanti

bom, ele registrou o IndexController, então deve ser a url…

como vc fez a requisição?

http://localhost:8080/vraptor-blank-project/

?

ifbcqueiroz

Lucas Cavalcanti:
bom, ele registrou o IndexController, então deve ser a url…

como vc fez a requisição?

http://localhost:8080/vraptor-blank-project/

?

Mais ou menos…

Corrigindo, a chamada no WL é http://localhost:7001/vraptor-blank-project/

ifbcqueiroz

Fiz um teste, renomeando o index.html e funcionou.

Acho que o Weblogic estava priorizando a requisição para a página index (provavelmente outra configuração a ser feita).

Vou tentar efetuar a migração para o VRaptor 3 caso haja algum problema vou recorrer ao suporte :D!

Muito obrigado pela ajuda!!!

gomesrod

Uma coisinha para ter certeza:

Esse servidor Weblogic está limpo? Não há possibilidade de ele ter no classpath uma outra versão da classe, com mais construtores?

Tente fazer um aplicativozinho de teste para ver via Reflection os construtores da classe encontrada.

Lucas_Cavalcanti

gomesrod, dá uma olhada nessa discussão:

basicamente é uma ferramenta de diagnósticos do Weblogic que tava mudando todas as classes do sistema

ifbcqueiroz

gomesrod:
Uma coisinha para ter certeza:

Esse servidor Weblogic está limpo? Não há possibilidade de ele ter no classpath uma outra versão da classe, com mais construtores?

Tente fazer um aplicativozinho de teste para ver via Reflection os construtores da classe encontrada.

Bom, este servidor é a versão zip que foi descompactada e configurada com o script padrão.

A única coisa é que foi desligado a configuração do WLDF para o VRaptor 3 funcionar corretamente.

ifbcqueiroz

ifbcqueiroz:
Lucas Cavalcanti:
bom, ele registrou o IndexController, então deve ser a url…

como vc fez a requisição?

http://localhost:8080/vraptor-blank-project/

?

Mais ou menos…

Corrigindo, a chamada no WL é http://localhost:7001/vraptor-blank-project/

Lucas, só para informar descobri que além de desabilitar WLDF tem que alterar um parâmetro no weblogic.xml, colocar o fas-swap para false:

<fast-swap>
    <enabled>false</enabled>
</fast-swap>

Abraços

ifbcqueiroz

Bom Lucas obrigado pela força!!

Consegui colocar os 2 projetos para rodar após desabilitar o fast swap e o WLDF, o VRaptor 2 e o 3 agora funcionam perfeitamente!!! :lol:

Paulo_Silveira

vale a pena um cookbook, ou um link no site para essa thread.

ifbcqueiroz

Amigos, apenas para informar, fiz novos testes com calma e verifiquei que apenas colocar o fast-swap como false, já bastou para o VRaptor (2 e 3) funcionar.

Olhando a documentação com calma vi que esse parâmetro só funciona em servidores weblogic em modo developer e tem como objetivo “monitorar” as modificações em classes durante o desenvolvimento, e colocá-las em funcionamento sem restart do server. Por isso o Weblogic altera os bytecodes inserindo métodos e construtores para fazer esse trabalho.

No meu caso o parâmetro foi adicionado pelo Netbeans por padrão no arquivo weblogic.xml, devido ao suporte “melhorado” aos servidores Weblogic da IDE.

Não encontrei o porquê ainda de no weblogic o arquivo index ter prioridade com relação ao filtro do VRaptor 3.

Abraço a todos e meu muito obrigado!

Lucas_Cavalcanti

o do index, pode ser por causa da welcome-file-list do web.xml… se tiver isso configurado, tenta tirar

Criado 15 de agosto de 2011
Ultima resposta 21 de ago. de 2011
Respostas 50
Participantes 5