Mensagens enviadas por: bland
Índice dos Fóruns » Perfil de bland » Mensagens enviadas por bland
Autor Mensagem
Alguém poderia ao menos dizer se isso é um erro de configuração ou se é um bug do vRaptor?
Olá pessoal,

Estou tendo problemas para executar uma aplicação de exemplo usando o vRaptor. Estou seguindo a documentação dele mas não estou tendo sucesso.

Configurei o web.xml:

Criei a estrutura de pastas para as views:
+ src/main/java
-------------- + webapp
--------------------- + WEB-INF
--------------------------- + jsp
------------------------------ + locals
----------------------------------- + list.jsp

Como pode ser visto, estou usando o Maven.

Na minha list.jsp eu não tenho nada demais:

E no meu controlador eu também não tenho nada demais:


Percebam que eu já fiz mais alguns testes (que estão comentados) e nenhum deles funcionou.

Certo, mas qual o problema?

Eu estou usando a versão 3.2.0 do vRaptor e quando inicio a aplicação e digito no browser: {URL_APLICACAO}/locals/list/ está me sendo retornado um erro:

Baixei os fontes mas não consegui entender o motivo desse erro. Alguém poderia me ajudar?

De antemão, obrigado!
Olá pessoal, tudo bem?

Estou tendo alguns problemas com a integração desses dois frameworks e gostaria de saber se isso é possível de acontecer.

Baixei do site do JGuard o exemplo dessa integração, porém eles utilizam uma versão anterior do JSF.

E quando tento integrar com o JSF 2.0 estou tendo problemas. Percebi que o JGuard tem uma forte ligação com o MyFaces e a minha aplicação está utilizando o Mojarra.

Porém, mesmo colocando o MyFaces no projeto, ao iniciar a aplicação, eu recebo uma exceção referente ao ApplicationFactory:

Não consegui identificar onde posso estar pecando, por isso pensei em estar postando para que possam me ajudar.

Um abraço a todos e de antemão, obrigado.
Fala Daniel,

Li novamente e vi que esqueci de comentar que os meus serviços (classes filhas da classe que tem essa anotação de transação) são todos gerenciados pelo Spring, usando a anotação @Service.

Bem, espero que você possa me ajudar. Mais uma vez, obrigado.

Abraço.
Fala Daniel,

Cara, essa anotação eu criei numa classe abstrata que é pai de todos os meus serviços.

Ou seja, todos os CRUD's irão extender dessa classe e ela terá todas as operações básicas.

Porque? Isso pode ser um problema?

Obrigado mais uma vez Rafael pela tentativa de ajuda.

Abraço.
Fala Daniel,

Obrigado mais uma vez. Mas, o erro persiste cara. Coloquei as duas linhas que você falou e mesmo assim o problema persiste.

Deseja que eu poste mais alguma código ou até mesmo a aplicação inteira?

Muito obrigado pela sua ajuda.

Abraço.
Fala Daniel,

Obrigado pela tentativa de ajudar. Abaixo segue o meu arquivo de configuração do Spring.


Grande abraço!
Olá pessoal!

De antemão, obrigado pela ajuda.

Fiz a busca dessa solução de várias formas. Encontrei diversas implementações, porém, nenhuma delas eu obtive sucesso. Por isso venho aqui buscar ajuda.

Estou utilizando Spring 3.0.3, Hibernate 3.3.2, JPA 2.0 e JSF 2.0. Tentarei sintetizar a forma como está a implementação, mas, para ficar mais claro, estou usando EntityManager para a parte da persistência.

Repositório:


Serviço:


Aspecto:


Tentei, também, fazendo configurações no application-context.xml, mas, como dito anteriormente, não consegui resolver o meu problema. Vamos ao problema para que fique ainda mais entendido.

Como pode ser visto acima, a implementação está realmente muito simples. Então eu tento fazer a persistência de uma entitade que tenha a unicidade em um determinado campo, forçando o lançamento de uma exceção (seja ela uma exceção checada ou não checada), mas mensagem "Aspecto: PersistenciaExceptionAspecto - Lançada exception", como consta no método afterThrowingFromTransactionalMethod do aspecto, não está sendo exibida no console da aplicação.

Eu não consigo mais enxergar onde posso estar errando, portanto, gostaria que vocês pudessem me ajudar a tentar sanar esse problema.

Um grande abraço a todos e obrigado.
Maicon,

Abstraia essa linha. Foi um copy / paste que fiz. Irei até remover dos meus xml's.

Quanto a solução, existem diversas. Essa que mostrei achei a mais simples.

E pelo que você falou, também, né?

Um grande abraço e bons códigos.
Olá Maicon, tudo bem?

Foi muito bom você "reativar" este tópico, pois eu nem lembrava mais que esse tópico existia.

Bem, respondendo a sua pergunta, sim, consegui resolver sim. Para contextualizar, o Spring tem o seu gerenciamento dos beans, e, pelo que entendi após pesquisar bastante, o JSF 2.0 também. Ou seja, quando anotamos uma classe como @ManagedBean, até o momento, o JSF 2 não consegue enxergar os beans do Spring implicitamente. Sendo assim, é necessário que você faça uma injeção utilizando uma outra anotação, a @ManagedProperty (do pacote javax.faces.bean.ManagedProperty).

Pronto, essa foi a explicação da teoria. Na prática, eu criei um arquivo xml para os meus serviços (que serão gerenciados pelo Spring) e coloquei apenas isso:

Ou seja, o pacote base para a busca dos serviços é a implementação desses serviços. E não as interfaces.
Já no meu ManagedBean ficou dessa forma:

Com essa anotação, o JSF 2 enxerga que será feita uma "injeção explícita" ao bean no qual você está anotando. Essa anotação (@ManagedProperty) utiliza do padrão JavaBeans, sendo assim, será necessário ter o método set do seu serviço na sua classe ManagedBean. Observe que o parâmetro utiliza Expression Language, pois ele busca essa informação dentro da própria aplicação, algo como um repositório de beans, por exemplo (não sei o nome exatamente, mas a ideia é essa). E para que essa integração funcione corretamente é necessário colocar no faces-config.xml a seguinte linha:

E, claro, configurar corretamente o seu web.xml. Acho que seja isso. Não me lembro de mais nenhum detalhe. Caso tenha mais dúvidas, posta aqui que tentarei te ajudar quando for possível.

Um grande abraço.
Olá a todos!

Estou tendo alguns problemas para fazer essa integração. Eu tenho um ManagedBean e dentro dele eu tenho um serviço, que deveria ser populado pelo Spring. Só que sempre que chega no meu ManagedBean, o serviço está nulo. Assim como o EntityManager do serviço também. Vou postar alguns fontes.

O meu MangedBean :


Eu não tenho declarado esse serviço no applicationContext, mas tem essa linha lá: <context:component-scan base-package="com.monteirosti" />

O applicationContext.xml :


O serviço:


Bem, de antemão, obrigado pela ajuda, mas o que eu posso estar fazendo de errado para que o preenchimento dos objetos não esteja sendo feito?

Um abraço.
Consegui solucionar. A pasta META-INF estava em local incorreto. Coloquei essa pasta dentro da pasta src/main/resources.
Alguém que tenha passado por esse problema, pode me ajudar?
Olá Trovan,

Cara, eu não estou conseguindo levantar a aplicação. O Spring não consegue "enxergar" uma persistence-unit no persistence.xml (que encontra-se dentro da pasta META-INF).

Vai o código abaixo:

appicationContext.xml



persistence.xml


E dessa maneira está sempre dando esse erro:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: No persistence unit with name 'developer' found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:133
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:72
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:28
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.IllegalArgumentException: No persistence unit with name 'developer' found
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.obtainPersistenceUnitInfo(DefaultPersistenceUnitManager.java:379)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.determinePersistenceUnitInfo(LocalContainerEntityManagerFactoryBean.java:244)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:196)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 30 more


Vale lembrar que estou usando o Maven, dentro do Eclipse, mas está tudo sendo enviado corretamente para o servidor de aplicação. Ainda não instalei a base dados, mas acredito que o Srping não venha a tentar fazer uma conexão com a base assim que a aplicação está sendo iniciada.

Se você puder me ajudar, ficarei grato.
Trovan,

Você está conseguindo levantar a aplicação? Estou tendo um problema e estou seguindo a mesma coisa que você.

Obrigado pela ajuda.
 
Índice dos Fóruns » Perfil de bland » Mensagens enviadas por bland
Ir para:   
Powered by JForum 2.1.8 © JForum Team